Parse::RecDescent incrementally generates top-down recursive-descent text parsers from simple yacc-like grammar specifications. It provides:
* Regular expressions or literal strings as terminals (tokens),
* Multiple (non-contiguous) productions for any rule,
* Repeated and optional subrules within productions,
* Full access to Perl within actions specified as part of the grammar,
* Simple automated error reporting during parser generation and parsing,
* The ability to commit to, uncommit to, or reject particular productions during a parse,
* The ability to pass data up and down the parse tree ("down" via subrule argument lists, "up" via subrule return values)
* Incremental extension of the parsing grammar (even during a parse),
* Precompilation of parser objects,
* User-definable reduce-reduce conflict resolution via "scoring" of matching productions.
* Regular expressions or literal strings as terminals (tokens),
* Multiple (non-contiguous) productions for any rule,
* Repeated and optional subrules within productions,
* Full access to Perl within actions specified as part of the grammar,
* Simple automated error reporting during parser generation and parsing,
* The ability to commit to, uncommit to, or reject particular productions during a parse,
* The ability to pass data up and down the parse tree ("down" via subrule argument lists, "up" via subrule return values)
* Incremental extension of the parsing grammar (even during a parse),
* Precompilation of parser objects,
* User-definable reduce-reduce conflict resolution via "scoring" of matching productions.
- Homepage
-
License:
Artistic - Download HPKG file