||Useable but still changing
||2001-11-22 22:12:49 GMT
(Projects of this owner)
An easy-to-use, object-oriented compiler construction toolkit written in and generating code for Ruby. Currently focusing on the "front-end" phases of compiler construction.
* Grammars written in Extended Backus-Naur Form. (=> use *, ? and + ops).
* Generates both lexer and parser.
* Parsers will return abstract syntax trees (AST).
* Generated AST's support simple tree-walking using iterators.
* "Ruby-friendly" with for example Array's for repetition, Regexp's
for tokens etc.
* More advanced parser than yacc's LaLr(1) (If you're curious its called
"Generalized LR parsing with scanner forking"!)
* AST's can be dumped to postscript (if you have graphviz/dot)
* Reports when the grammar is ambigous and shows the alternative ways
to parse the sentence. Helps you resolve ambiguities.
* Associativity and precedence can be specified based on productions/rules
in the grammar (NOT on operators which is less "portable").