Difference between revisions of "Parsec"

From HaskellWiki
Jump to navigation Jump to search
Line 64: Line 64:
 
=== Blog articles ===
 
=== Blog articles ===
   
* [http://therning.org/magnus/archives/289 Adventures in parsing]
+
* [http://therning.org/magnus/archives/289 Adventures in parsing] by Magnus Therning
 
* [http://therning.org/magnus/archives/290 More adventures in parsing]
 
* [http://therning.org/magnus/archives/290 More adventures in parsing]
 
* [http://therning.org/magnus/archives/295 Adventures in parsing, part 3]
 
* [http://therning.org/magnus/archives/295 Adventures in parsing, part 3]
 
* [http://therning.org/magnus/archives/296 Adventures in parsing, part 4]
 
* [http://therning.org/magnus/archives/296 Adventures in parsing, part 4]
  +
  +
* [http://panicsonic.blogspot.com/2009/12/adventures-in-parsec.html Adventures in Parsec] by Antoine Latter
   
 
=== Other ===
 
=== Other ===

Revision as of 00:56, 14 February 2011


Introduction

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.

An example for parsing a simple grammar of expressions can be found here.

Much more documentation can be found on the parsec website.

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


Examples


See also the list of reversed dependencies for Parsec.

Parsec clones in other languages

Interesting non-Parsec parser combinator libraries:


Links

Docs

Blog articles

Other