Generate Recursive-Descent Parsers
RecDescent incrementally generates top-down recursive-descent text
parsers from simple yacc-like grammar specifications.
- Developed at devel:languages:perl
- Sources inherited from project openSUSE:Factory
-
4
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Backports:SLE-15-SP4:SLECandidates/perl-Parse-RecDescent && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
Parse-RecDescent-1.965001.patch | 0000000503 503 Bytes | |
Parse-RecDescent-1.967006.tar.gz | 0000169628 166 KB | |
perl-Parse-RecDescent.changes | 0000011990 11.7 KB | |
perl-Parse-RecDescent.spec | 0000002145 2.09 KB |
Revision 24 (latest revision is 32)
Stephan Kulow (coolo)
accepted
request 104745
from
Vítězslav Čížek (vitezslav_cizek)
(revision 24)
- update to 1.967006 - Allow a global <skip:> directive that functions the same as modifying $Parse::RecDescent::skip prior to compiling a grammar. (Thanks Flavio!) - *** NON-BACKWARDS COMPATIBLE CHANGE! *** A repetition directive such as 'id(s /,/)' correctly creates a temporary @item variable to hold the 'id's that are matched. That @item variable is them used to set the real $item[] entry for that repetition. The same treatment is now given to %item. Formerly, in a production like: id ',' id(s /,/) matched against: xxx, yyy, zzz The $item{id} entry which should be 'xxx' is overwritten by 'yyy' and then 'zzz' prior to the action being executed. Now 'yyy' and 'zzz' set $item{id}, but in the private %item, which goes out of scope once the repetition match completes. - ** EXPERIMENTAL ** When precompiling, optionally create a standalone parser by including most of the contents of Parse::RecDescent in the resulting Precompiled output. - Accept an optional $options hashref to Precompile, which can be used to specify $options->{-standalone}, which currently defaults to false. - The included Parse::RecDescent module is renamed to Parse::RecDescent::_Runtime to avoid namespace conflicts with an installed and use'd Parse::RecDescent. - Add a new $_FILENAME global to Parse::RecDescent to make it easy for the Precompile method to find the module. - Remove the prototype from _generate. It is not required, and it caused t/precompile.t (which ends up re-definiing a lot of Parse::RecDescent subroutines) to fail needlessly, as the
Comments 0