erlang-neotoma

parser generator for Erlang
  https://github.com/seancribbs/neotoma
  0
  no reviews



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 errors.