parser generator for Erlang


Neotoma is a packrat parser-generator for Erlang for Parsing Expression Grammars (PEGs). It consists of a parsing-combinator library with memoization routines, a parser for PEGs, and a utility to generate parsers from PEGs. It is inspired by treetop, a Ruby library with similar aims, and parsec, the parser-combinator library for Haskell.

Features include:
 - Simple, declarative parsers generated from even simpler grammars.
 - Fully integrated, single-pass lexical and syntactic analysis (a
   feature of PEGs).
 - Packrat-style memoization, boasting parse-time bound linearly to
   the input size (at the expense of memory usage).
 - In-place semantic analysis/transformation, supporting single-pass
   end-to-end in some applications.
 - Erlang code-generation for the lexical/syntactic analysis piece,
   with the option of semantic analysis/transformation inline, or in
   a separate module.
 - Line/column number tracking for easy resolution of parsing

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install erlang-neotoma