Perl module for generating recursive-descent parsers
Perl HTML Perl 6
Clone or download
jtbraun Merge pull request #3 from ReneNyffenegger/fixUsage
Change 'Usage text' to accurately reflect command line parameters
Latest commit d7b0bba Aug 1, 2017

README

Parse::RecDescent version 1.967015

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.XXXXXX.
    For details of changes, refer to the file Changes.

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


AUTHOR

    Damian Conway (damian@conway.org)
    Jeremy T. Braun (JTBRAUN@CPAN.org) [current maintainer]


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 Makefile.PL
    make
    make test
    make install


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.