Parsec documentation
Parsec is an industrial strength, monadic parser combinator library for Haskell. It can parse context-sensitive, infinite look-ahead grammars but it performs best on predictive (LL[1]) grammars. Combinator parsing is well known in the literature and offers several advantages to YACC or event-based parsing.