I have written a PEG parser library in the Dylan language, and I am
happy enough with it to announce it on this list.
Documentation: http://wiki.opendylan.org/wiki/view.dsp?title=PEG
Parser Library
Source code:
http://www.opendylan.org/cgi-bin/viewvc.cgi/trunk/libraries/utilities/peg-parser/
I think it is about as capable as Rats! and Treetop. It is not a
parser generator, but rather a parser library to be called upon
directly by a program or library. It caches user-specified productions
(as opposed to automatically determining the best productions to
cache, or caching all productions), supports grammar attributes, and
allows user actions. I think that left-recursive parsing requires all
productions to be cached, so it does not support that feature. It is
not limited to working with characters, but rather relies on user-
supplied functions to parse terminals. These functions can also be
created for intermediate productions within a parse tree, allowing,
for example, call-outs to a secondary parser for specific sections of
code, or sophisticated error-recovery techniques.
Take a look. If you've any questions or comments, I'd be pleased to
discuss it.
I've used it for special-purpose parsing of the Dylan language itself
and for parsing a plain-text markup format.
As used for markup parsing:
http://www.opendylan.org/cgi-bin/viewvc.cgi/trunk/libraries/doctower/code/markup-parser-lib/markup-parser/
_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg