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, optional and alternate subrules within productions * Late-bound (run-time dispatched) subrules * Full access to Perl within actions specified as part of the grammar * Simple automated error reporting during generation and parsing * The ability to commit to, uncommit to, or reject particular productions during a parse * Incremental extension of the parsing grammar (even during a parse) * The ability to retrieve the generated parsing code. WWW: https://metacpan.org/release/Parse-RecDescent