Parsec (parser)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mdernst (talk | contribs) at 23:14, 14 October 2016 (Update jparsec URL). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Parsec is a library for writing parsers in Haskell. It is based on higher-order parser combinators, so a complicated parser can be made out of many smaller ones.[1] It has been reimplemented in many other languages, including Erlang, OCaml, F# and C#, as well as imperative languages such as Java.[2][3][4][5][6]

Because a parser combinator-based program is generally slower than a parser generator-based program, Parsec is normally used for small domain-specific languages, while Happy is used for compilers such as GHC.[7]

References

  1. ^ "Parsec: Direct Style Monadic Parser Combinators For The Real World" (PDF). Retrieved 22 November 2014.
  2. ^ "Parsec Erlang". Retrieved 23 November 2014.
  3. ^ "Parsec OCaml" (PDF). Retrieved 23 November 2014.
  4. ^ "XParsec by corsis". Retrieved 23 November 2014.
  5. ^ "CSharp monad". Retrieved 10 December 2014.
  6. ^ "JParsec". Retrieved 14 October 2016.
  7. ^ "The Glasgow Haskell Compiler (AOSA Vol. 2)". Retrieved 23 November 2014.

External links