Difference between revisions of "Parsec"

From HaskellWiki
Jump to navigation Jump to search
m (Culling two broken links)
m (Rewording for clarity)
Line 8: Line 8:
 
but it performs best on predictive (LL[1]) grammars.
 
but it performs best on predictive (LL[1]) grammars.
   
  +
The latest stable release with Haddock documentation is available on [http://hackage.haskell.org/package/parsec Hackage] and development versions are [http://code.haskell.org/parsec3/ available via the darcs repository].
For downloads and documentation see:
 
* [http://legacy.cs.uu.nl/daan/parsec.html the Parsec site]
 
* [http://hackage.haskell.org/package/parsec hackage]
 
* [http://code.haskell.org/parsec3/ darcs code repository]
 
   
 
=== Usage ===
 
=== Usage ===
Line 21: Line 18:
 
[[Happy]] parsers, which must be generated via a preprocessor.
 
[[Happy]] parsers, which must be generated via a preprocessor.
   
Much more documentation can be found on the parsec site.
+
Much more documentation can be found on [http://legacy.cs.uu.nl/daan/parsec.html the parsec website].
   
 
{{Template:Stub}}
 
{{Template:Stub}}

Revision as of 19:27, 2 August 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.

The latest stable release with Haddock documentation is available on Hackage and development versions are available via the darcs repository.

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 website.

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

Parsec clones in other languages

Interesting non-Parsec parser combinator libraries: