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

Reply via email to