170306f346
-- Parse::RecDescent incrementally generates top-down recursive-descent text parsers from simple yacc-like grammar specifications.
19 lines
864 B
Plaintext
19 lines
864 B
Plaintext
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
|