Parse::RecDescent version 1.965001

NAME

   Parse::RecDescent - generate recursive-descent parsers


DESCRIPTION

   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 parser 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),

       * Precompilation of parser objects,

       * User-definable reduce-reduce conflict resolution via
         "scoring" of matching productions.


LIMITATIONS

   * There's no support for parsing directly from an input stream.

   * The generator doesn't handle left-recursion.


PREREQUISITES

   Parse::RecDescent requires the Text::Balanced module, which is available
   from the CPAN.


INSTALLATION

   It's all pure Perl, so just put the .pm files in their appropriate
   local Perl subdirectories.


CHANGES AND FUTURE DEVELOPMENT

   This readme refers to versions 1.XX.
   For details of changes, refer to the file Changes.

   Version 2.00 will provide a cleaner interface and better
   parsing performance.


AUTHOR

   Damian Conway ([email protected])


INSTALLATION

To install this module, run the following commands:

   perl Makefile.PL
   make
   make test
   make install


Alternatively, to install with Module::Build, you can use the following commands:

   perl Build.PL
   ./Build
   ./Build test
   ./Build install



DEPENDENCIES

None.


COPYRIGHT AND LICENCE

Copyright (C) 1997-2007, Damian Conway

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.