- New upstream release 1.967014
- Add a newline to package declaration lines in precompiled parsers, to keep
CPAN from indexing them (CPAN RT#110404)
- Provide repository and bugtracker entries in MYMETA.* (CPAN RT#110403)
- Update tests to handle '.' no longer being part of @INC in perl-5.26.0
(CPAN RT#120415)
- New upstream release 1.967013
- Wrap Data::Dumper->Dump() to localize some $Data::Dumper::VARS to control
the dumped output; in particular, Data::Dumper::Terse=1 was reported to
break parser generation (CPAN RT#107355)
- New upstream release 1.967012
- Base the standalone precompiled parser's runtime name on the parser's
class, rather than use the fixed "Parse::RecDescent::_Runtime"; this
prevents "already defined" warnings when two standalone precompiled
parsers are used
- Add support for allowing precompiled parsers to share a common runtime via
the Precompile({-runtime_class}) option and the PrecompiledRuntime()
function
- Warn on creation of Precompiled parsers that depend on Parse::RecDescent
- NON-BACKWARDS COMPATIBLE CHANGE: Change the global <skip:> directive to
use eval similarly to the other <skip:> directives, rather than being
single-quoted in the resulting parser
- Correct some typos in the documentation (CPAN RT#87185)
- Sort hash keys and rulenames when generating code; this keeps the output
text for a given input text the same, reducing differences in automated
builds (CPAN RT#102160)
- Precompiled parsers now document which $Parse::RecDescent::VERSION was
used to generate them (CPAN RT#77001)
- Switch to ExtUtils::MakeMaker flow
- New upstream release 1.967006 (#789560)
- Localize the OUT filehandle during Precompile
- Document the <autotree:Base::Class> form of the <autotree> directive
- Provide a simple test for the <autotree> directive, t/autotree.t; renamed
basics.t to ensure it runs before autotree.t
- Allow a global <skip:> directive that functions the same as modifying
$Parse::RecDescent::skip prior to compiling a grammar
- Require that the $file returned by caller() be eq '-', rather than merely
starting with '-'
- Warn on empty productions followed by other productions: the empty
production always matches, so following productions will never be reached
- 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 then 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 that 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 subroutines import, Precompile and Save are not included in the
Precompile'd parser
- 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 t/precompile.t to test precompilation
- 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-defining a lot of Parse::RecDescent
subroutines) to fail needlessly, as the calls to _generate in Replace and
Extend normally do not see the prototype, but do when re-defined
- POD documentation for standalone parsers added
- Added ExtUtils::MakeMaker build/configure version requirements
(CPAN RT#74787)
- BR: perl(Test::Pod) and perl(Test::Warn) for additional test coverage
- Use a patch rather than scripted iconv to fix character encoding
- Improve %summary
- Tidy %description
- Make %files list more explicit
- Don't use macros for commands
- Don't need to specify compiler flags for pure-perl package
- Drop redundant 'find' commands from %install