./devel/p5-PPIx-Regexp, Represent a regular expression of some sort

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.051, Package name: p5-PPIx-Regexp-0.051, Maintainer: pkgsrc-users

The purpose of the PPIx-Regexp package is to parse regular expressions
in a manner similar to the way the PPI package parses Perl. This class
forms the root of the parse tree, playing a role similar to PPI::Document.


Required to run:
[lang/perl5] [devel/p5-Task-Weaken] [devel/p5-List-MoreUtils] [devel/p5-PPI]

Required to build:
[devel/p5-Module-Build] [pkgtools/cwrappers]

Master sites: (Expand)

SHA1: 551ba0c2c9633c1a2e23f732b1ceb293f5cc04f2
RMD160: 235bfcf5ad74209320d14742859ee5e4c8de1a02
Filesize: 194.306 KB

Version history: (Expand)


CVS history: (Expand)


   2017-01-30 13:47:33 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Updated devel/p5-PPIx-Regexp to 0.051
-------------------------------------
0.051           2017-01-29      T. R. Wyant
  Support whitespace inside [] if /xx in effect.
    Starting with Perl 5.25.9, a space or tab appearing inside a bracketed
    character class is not significant if /xx is asserted.

  Further deprecate tokenizer method prior()

  Add 'provides' data to ExtUtils::MakeMaker output

  SOME unescaped litaral '{' removed in 5.025001.
    After '.', Unicode classes, and bracketed classes (including extended)
    they are still legal.

  Make /\b{/ an error
    Perl fails to parse the above, because once it sees the '\b{' it wants
    to find one of the extended boundary assertions (like \b{wb}), and
    declares an error when it does not. So we check for this and rebless the
    curly into an unknown token, not a literal.
   2016-06-08 21:25:20 by Thomas Klausner | Files touched by this commit (2236) | Package updated
Log message:
Bump PKGREVISION for perl-5.24.
   2016-05-27 15:37:06 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 0.050

Upstream changes:
0.050		2016-05-06	T. R. Wyant
  Parse bracketed substitution with embedded comment. This is something
    like s{foo}\n#{bar}\n{baz} which is equivalent to s/foo/baz/. PPI
    gets this wrong, and we're not smart enough to fix up the PPI parse,
    but if given this as text, we now parse it correctly.

  We now recognize postfix dereferences by default, since Perl does
    beginning with 5.24. In other words, default new() argument
    'postderef' to true.

  Unterminated substitutions (i.e. 's//') should no longer cause an
    exception. Instead they parse as an unknown token.

0.049		2016-04-19	T. R. Wyant
  Robustify PPIx::Regexp->perl_version_removed()
    The problem here was that if the expression being parsed was
    sufficiently badly-formed, $self->delimiters() would be undef, throwing
    a warning.

  Correct dump of embedded modifiers (eg: (?i:...))
   2016-03-04 14:12:34 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 0.048

Upstream changes:
0.048		2016-02-29	T. R. Wyant
  Add option 'strict', like 'use re "strict"'
    In the presence of strict(), I opted to set perl_version_introduced
    to the version of Perl where the construct became an error.

  Parse '\N{}' as no-op.
    The previous parse was a character class ('\N') followed by two
    literals ('{' and '}'). But perl5238delta said that it had been
    ignored up to that time. Starting with 5.23.8 it is an error if 'use
    re strict' is in effect.

  Quash 'NOT a POSIX class ...' warning under 5.23.8

  Add Makefile targets authortest and testcover.

0.047		2016-01-29	T. R. Wyant
  Recognize \b{lb}, introduced in 5.23.7. If this is retracted before
    5.24, it will be removed outright.

0.046		2016-01-08	T. R. Wyant
  Add GitHub repository to mmetadata.

0.045		2015-12-31	T. R. Wyant
  Deprecate tokenizer method prior() in favor of
    prior_significant_token(). This is not part of the public interface,
    so I suppose I could have just slam-dunked it, but ...

  Add ability to parse strings as well as regexes
    The new functionality is controlled by the new new() argument
    'parse', whose permitted values are 'regex' (the default), 'string',
    or 'guess'.  String parsing, and the 'string' and 'guess' values of
    'parse', are experimental.

0.044		2015-12-08	T. R. Wyant
  Allow nesting of \Q with \U, \L, and \F
    The perlop docs say these nest with each other. Playing with Perl
    suggests that \U, \L and \F supersede each other, but thet they as a
    group nest with \Q in either order, so that if you specify \Q and
    one of the \U, \L, \F group you need two \Es to turn them all back
    off.

  Restrict recognition of back references in replacement strings to
    \number form, since Perl itself does not recognize \g{...} or
    \k{...} there.

  Recognize postfix dereference if desired. This is controlled by the
    Boolean argument 'postderef' passed to PPIx::Regexp->new(). The
    default is false, but will become true if postfix dereference
    becomes mainstream Perl 5.

  Add explain() and supporting methods main_structure() and
    in_regex_set(). The explain() method returns a brief explanation of
    what the element does.

0.043		2015-11-18	T. R. Wyant
  Do not end regex set prematurely on finding '])'
    The problem is that '])' can occur within an extended bracketed
    character class if it contains grouping parentheses and the last
    item in a group is a regular bracketed character class and there is
    no white space between the end of the character class and the end of
    the group.

  Record parse failure if switch condition is unknown
    The structure was being reblessed to
    PPIx::Regexp::Structure::Unknown, but the number of parse failures
    was not being incremented.

  Parse \U and friends as meta-characters inside \Q...\E
    This turns out to be what Perl itself does, as shown by
    $ perl -E 'say qr{\Q\Ufoo}'

  Clear error when lexer identifies unknown token. Those who peruse the
    changes in this release will see that a bunch of refactoring was
    done as part of this.

  Parse white space inside bracketed character classes inside extended
    bracketed character classes (whew!) as literals, except for the
    space character itself and the horizontal tab. This tracks the
    corresponding change in Perl 5.23.4. This will be reverted if the
    corresponding Perl change does not make it into 5.24.0.

  Beginning with version 0.035, PPIx::Regexp was incorrectly reporting
    the sense of modifiers when the same token both asserted and negated
    modifiers (e.g. '(?x-i:...)'). This release should correct the
    problem.

  Document policy when Perl changes in such a way that the proper parse
    for a regular expression changes. In this case the more modern parse
    is preferred.

0.042		2015-10-09	T. R. Wyant
  Report error rather than failing when parsing a string consisting
    wholly of white space.

  Group types were not being recognized if they contained the delimiter
    character for the regexp (e.g. in qr<(?\<foo)> the look-behind
    assertion was not recognized as such).

  Correct mis-parse of ' s///'. Leading white space is supposed to be
    acceptable, but the leading whitespace token caused
    PPIx::Regexp::Lexer not to recognize the substitution as such.

  Tokenizer was failing when the string to be parsed was so bad it was
    trying to return the whole thing as a single
    PPIx::Regexp::Token::Unknown.

  PPIx::Regexp::Dumper now displays a message if a structure is missing
    its end delimiter.

  RT 107331 Produce parse error in the presence of trailing cruft.
    Thanks to Klaus Rindfrey for catching this.
    The tokenizer now does a preliminary scan for delimiting brackets
    and modifiers. Anything after the modifiers except for white space
    is now made into a PPIx::Regexp::Token::Unknown, resulting in a
    parse failure being reported. The previous implementation simply
    assumed a valid expression, and in the case of the expression in the
    ticket blithely mismatched the delimiters and returned a parse
    without failures, but which was manifestly bogus.

  Tweak documentation in PPIx::Regexp.
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-09-06 05:31:37 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Update 0.039 to 0.041
----------------------
0.041		2015-07-02	T. R. Wyant
  No changes since 0.041_02.

0.040_02	2015-06-25	T. R. Wyant
  Report \C (match octet) as removed in 5.23.0.

0.040_01	2015-06-20	T. R. Wyant
  Accept non-ASCII whitespace under /x. The Whitespace object can be
    multiple characters; the perl_version_introduced() becomes
    '5.021001' if any of them is a code point above 127.
  The perl_version_removed() method now returns '5.021001' when called
    on a PPIx::Regexp object produced by parsing '?foo?' (match once
    without explicit 'm'). The object produced by parsing 'm?foo?' still
    returns the minimum Perl version.

0.040		2015-05-31	T. R. Wyant
  No changes since 0.039_02.

0.039_02	2015-05-24	T. R. Wyant
  Do not parse unadorned parentheses as capture groups when /n is in
    effect. Instead, they are parsed as PPIx::Regexp::Structure. Named
    captures appear to be unaffected by /n.
  Made a verbose dump a little more so. Specifically, dump
    max_capture_group where relevant, and display dumped values a bit
    more informatively.

0.039_01	2015-05-23	T. R. Wyant
  Report /n (no captures) as having been added in 5.21.8.
   2015-06-12 12:52:19 by Thomas Klausner | Files touched by this commit (3152)
Log message:
Recursive PKGREVISION bump for all packages mentioning 'perl',
having a PKGNAME of p5-*, or depending such a package,
for perl-5.22.0.
   2015-04-10 03:37:43 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Update to 0.039
----------------
0.039           2015-04-02      T. R. Wyant
  No changes since 0.038_01.

0.038_01        2015-03-26      T. R. Wyant
  Recognize nested subscripts in interpolation.
    Thanks to Andy Lester for finding this, which actually manifested in
    Perl-Critic-Policy-Variables-ProhibitUnusedVarsStricter. The problem is
    that the actual heuristics for finding the end of an interpolation are
    undocumented, and I missed this rather-obvious case.
  Add \b{g} (= \b{gcb})