Parsec: Difference between revisions

From HaskellWiki
(Add the fuller Erlang Parsec clone to the list.)
(added a javascript Parsec clone)
Line 38: Line 38:
* 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
* Pysec for Python http://www.valuedlessons.com/2008/02/pysec-monadic-combinatoric-parsing-in.html
* JSParsec for JavaScript: http://code.google.com/p/jsparsec/


Interesting non-Parsec parser combinator libraries:
Interesting non-Parsec parser combinator libraries:
* Spirit for C++ http://spirit.sourceforge.net/documentation.html
* Spirit for C++ http://spirit.sourceforge.net/documentation.html
*  Scala http://www.scala-lang.org/docu/files/api/scala/util/parsing/combinator$content.html
*  Scala http://www.scala-lang.org/docu/files/api/scala/util/parsing/combinator$content.html

Revision as of 10:52, 9 May 2010

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.

For downloads and documentation see:

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.

Parsec clones in other languages

Interesting non-Parsec parser combinator libraries: