On Mon, Jul 31, 2006 at 06:51:27PM +0100,
 Chris Kuklewicz <[EMAIL PROTECTED]> wrote 
 a message of 102 lines which said:

>minilang = do
>       char 'a'
>       optional (try (do {comma ; char 'b'}))
>       optional (do {comma ; char 'c'})
>       eof
>       return "OK"

I now have a new problem which was hidden beneath. If the language
authorizes "a,bb" and "a,bbc", "a,bbc" is not accepted by my parser
since it already accepted "a,bb" and the "c" which is left triggers a
syntax error.

This time, "try" believes it succeeded but should not. I need more
look-ahead but I'm not sure how?

(Again, I do not control the language so I cannot make it more
deterministic.)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to