Difference between revisions of "Parsec"
Jump to navigation
Jump to search
BrettGiles (talk | contribs) m (Add category) |
Derek Elkins (talk | contribs) |
||
Line 22: | Line 22: | ||
{{Template:Stub}} |
{{Template:Stub}} |
||
+ | |||
+ | === Parsec clones in other languages === |
||
+ | |||
+ | * PCL for O'Caml http://lprousnth.files.wordpress.com/2007/08/pcl.pdf |
||
+ | * JParsec for Java http://jparsec.codehaus.org/JParsec+Overview |
||
+ | * NParsec, JParsec ported to C# http://jparsec.codehaus.org/NParsec+Tutorial |
||
+ | * Ruby Parsec, JParsec ported to Ruby http://jparsec.codehaus.org/Ruby+Parsec |
||
+ | * FParsec for F# http://www.quanttec.com/fparsec/ |
||
+ | * A small Parsec in Erlang http://www.engr.uconn.edu/~jeffm/Source/Erlang/ |
||
+ | * AliceParsec for Alice ML http://www.ps.uni-sb.de/alice/contribs.html |
||
+ | * Parsnip for C++ http://parsnip-parser.sourceforge.net/ |
||
+ | * Somewhere there is a Nemerle port |
||
+ | |||
+ | Interesting non-Parsec parser combinator libraries: |
||
+ | * Spirit for C++ http://spirit.sourceforge.net/documentation.html |
||
+ | * Scala http://www.scala-lang.org/docu/files/api/scala/util/parsing/combinator$content.html |
Revision as of 00:15, 28 January 2008
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.
See the Parsec site for downloads and documentation.
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
- PCL for O'Caml http://lprousnth.files.wordpress.com/2007/08/pcl.pdf
- JParsec for Java http://jparsec.codehaus.org/JParsec+Overview
- NParsec, JParsec ported to C# http://jparsec.codehaus.org/NParsec+Tutorial
- Ruby Parsec, JParsec ported to Ruby http://jparsec.codehaus.org/Ruby+Parsec
- FParsec for F# http://www.quanttec.com/fparsec/
- A small Parsec in Erlang http://www.engr.uconn.edu/~jeffm/Source/Erlang/
- AliceParsec for Alice ML http://www.ps.uni-sb.de/alice/contribs.html
- Parsnip for C++ http://parsnip-parser.sourceforge.net/
- Somewhere there is a Nemerle port
Interesting non-Parsec parser combinator libraries: