“Parse::RecDescent is a module for parsing text. With a few
simple constructs it can be used for almost any parsing task.
The more advanced grammar constructs can be daunting, but they are
not needed for most purposes. Parse::RecDescent is an
object-oriented module. It creates a parser object around a
grammar. A grammar is a collection of rules in text form.”
“Why Parse::RecDescent is a good user interface engine
- Flexibility: rules can be added or removed easily and don’t
require tweaking other rules. - Power: rules can invoke any code and can recognize any text
pattern. - Ease of use: it takes 5 minutes to put together a simple
grammar. - Any front-end will work: the parser can be accessed as a
regular Perl function, and can access other regular Perl functions
and modules. - Internationalization: this is an often-overlooked UI design
issue. Internationalization is easy when the parsing grammar is
intended to easily accept multiple versions of a command.”
“Why Parse::RecDescent may not be a good UI engine
- Speed: startup and parsing speed is not as good as a
straightforward matching algorithm. This will improve with future
releases of the module, and should be carefully considered in
relation to the savings of quick prototyping, development, and
release. - Module availability: Parse::RecDescent may not be available,
due to OS or system administration problems. Talk to your local
Perl guru.”