On Mar 10, 2008, at 9:55 , Zsolt SZALAI wrote:
Er? Refactoring the grammar like that is the clean and preferred way. But if you insist, use the try combinator. Oh, all right, i was trying to be loyal to the BNF in standard.
BNF doesn't necessarily apply cleanly to all types of parsers. Compare LALR(1) parsers (yacc, happy) to LL(1) (ideal Parsec grammars). You can use the try combinator to write such grammars, but it imposes a potentially large amount of overhead because it may have to hold on to a large parse tree that might end up being thrown out.
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED] system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED] electrical and computer engineering, carnegie mellon university KF8NH _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe