Parsec

From HaskellWiki
Revision as of 07:45, 25 September 2010 by Henk-Jan van Tuyl (talk | contribs) (Changed division in (sub)sections, added section "Examples")
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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: