Arc Forumnew | comments | leaders | submitlogin
1 point by raymyers 5865 days ago | link | parent

LL(1) grammars only require one token of look-ahead to parse.

Parsec does not strictly require this, it can handle infinite look-ahead grammars. However, for good performance, it is best to use LL(1) grammars -- so there will be no backtracking required.

When using Parsec, I have often been surprised by the quick-failing behavior of <|> that you mentioned. Thus, I did not duplicate it in treeparse.

1 point by almkglor 5865 days ago | link

Hmm. Apparently it's the fast way of doing it, although I'm not sure how to implement it in the first place.