[ANN] Neotoma 1.3
Sean Cribbs
seancribbs@REDACTED
Sat Nov 14 01:10:45 CET 2009
I'm pleased to announce yet another update to Neotoma. The major
features and changes in this release:
* Transformation/semantic analysis code can be written inline with the
PEG, enclosed in backticks (`) before the concluding semi-colon for each
reduction. The variables available to your code are Node (the parse
result, including transformed results of subtrees), and Idx (the current
index into the input).
* To do an identity transformation on a rule (pass along the result
unchanged), use the tilde (~) instead of backtick-quoted code.
* Extra functions for use inside your parser can be added to the end of
the PEG, also enclosed in backticks (`).
* All internal uses of the process dictionary have been expunged and
instead use the memoization table.
* All of the modules have been renamed and the parser re-bootstrapped.
The most significant user-facing change is that 'peg_gen' is now called
'neotoma'. See
http://github.com/seancribbs/neotoma/commit/cbf275a7b638f3c517cbc5b637844bf270b54e5
for more details
What is Neotoma?
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.
Browse & Fork: http://github.com/seancribbs/neotoma
Download: http://github.com/seancribbs/neotoma/downloads
Source: git clone git://github.com/seancribbs/neotoma.git
Discussion: http://groups.google.com/group/neotoma-erl
Cheers,
Sean Cribbs
More information about the erlang-questions
mailing list