==============================================================================
                Release of version 1.35 of Parse::RecDescent
==============================================================================

DESCRIPTION

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

       * The ability to retrieve the generated parsing code.

   See the file "RecDescent.pod" for excruciating detail on all of this.


LIMITATIONS

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

   * The generator doesn't handle left-recursion.


PREREQUISITES

   Parse::RecDescent requires Text::Balanced, which is included in the
   distribution.


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 an optional parser compiler to generate
   separate parsing modules with no construction run-time overhead.


AUTHOR

   Damian Conway ([email protected])


COPYRIGHT

    Copyright (c) 1997-1998, Damian Conway. All Rights Reserved.
    This module is free software. It may be used, redistributed
    and/or modified under the terms of the Perl Artistic License
         (see http://www.perl.com/perl/misc/Artistic.html)


==============================================================================

CHANGES IN VERSION 1.35


       - Removed "foreach my $var ( @list )" constructs,
         which were biting users with perl 5.003 and earlier.

       - Fixed bug calling &Parse::RecDescent::toksepcode
         instead of &Parse::RecDescent::Rule::toksepcode

       - Changed grammar so that colons in rule definitions
         must appear on the same line as the rule name
         (as documented). Added an explicit error message
         when this is not the case.

       - Added $thiscolumn, which indicates the current
         column at any point in the parse.

       - Added $thisoffset, which indicates the absolute
         position in the original text string at any
         point in the parse.

       - Added $prevline and $prevcolumn, which indicate
         line and column of the last char of the last
         successfully matched item.

       - Added @itempos which provides:

               $itempos[$n]{offset}{from}
               $itempos[$n]{offset}{to}
               $itempos[$n]{line}{from}
               $itempos[$n]{line}{to}
               $itempos[$n]{column}{from}
               $itempos[$n]{column}{to}

         corresponding to each $item[$n].
         See new documentation.

       - Several trivial lexical changes to make xemacs happy


==============================================================================

AVAILABILITY

Parse::RecDescent has been uploaded to the CPAN
and is also available from:

       http://www.csse.monash.edu.au/~damian/CPAN/Parse-RecDescent.tar.gz

==============================================================================