Personal tools

Parsec

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(link to parsec documentation included with ghc distribution)
(Add link to blog post about Pysec, a Python clone of Parsec. (No official release for now.))
Line 34: Line 34:
 
* Parsnip for C++ http://parsnip-parser.sourceforge.net/
 
* Parsnip for C++ http://parsnip-parser.sourceforge.net/
 
* Somewhere there is a Nemerle port
 
* Somewhere there is a Nemerle port
  +
* Pysec for Python http://www.valuedlessons.com/2008/02/pysec-monadic-combinatoric-parsing-in.html
   
 
Interesting non-Parsec parser combinator libraries:
 
Interesting non-Parsec parser combinator libraries:

Revision as of 10:03, 20 February 2008

1 Parsec

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.

See the Parsec site for downloads and documentation. Parsec is also distributed with GHC, hence this documentation might be more up to date.

1.1 Usage

Parsec lets you construct parsers by combining higher-order Combinators to create larger expressions. Combinator parsers are written and used within the same programming language as the rest of the program. The parsers are first-class citizens of the language , unlike Happy parsers, which must be generated via a preprocessor.

Much more documentation can be found on the parsec site.

This article is a stub. You can help by expanding it.

1.2 Parsec clones in other languages

Interesting non-Parsec parser combinator libraries: