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

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

Branch: CURRENT, Version: 0.054, Package name: p5-PPIx-Regexp-0.054, 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: 1f4f672c97bf93a452c89928bba92cde57c713fc
RMD160: 07083bce89969f2becb254215a45303c9740a5a6
Filesize: 201.157 KB

Version history: (Expand)

CVS history: (Expand)

   2018-02-04 05:12:04 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 0.054

Upstream changes:
0.054		2018-01-29	T. R. Wyant
    Add support for (+script_run:...). This is an experimental feature
    added in Perl 5.27.8. It imposes on any matches it contains the
    additional restriction that everything matched has to belong to the
    same Unicode script. This support will be retracted if the
    functionality does not make it into Perl 5.28.

    Add method scontent().  This returns significant content only. That
    is, if called on the parse of '/ f u b a r /x', it returns
   2017-11-08 21:33:41 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-PPIx-Regexp: update to 0.053.

0.053		2017-10-30	T. R. Wyant
    Recognize \px as Unicode char class. At least, when the x is C, L,
    M, N, P, S or Z.

    The 'parse' argument to new() is now deprecated.
   2017-09-17 14:57:27 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-PPIx-Regexp: update to 0.052.

0.052		2017-09-07	T. R. Wyant
    RT 122715: Clarify Node->find_parents() documentation. Thanks to
    Salvatore Bonaccorso for letting me know about this problem..

    Further deprecate tokenizer method prior() in favor of

    Add requirements_for_perl(). This is analogous to the
    CPAN::Meta::Requirements method requirements_for_module(), though
    the output is formatted differently. Also put in the actual
    requirements for an un-escaped literal left curly after a constant,
    which was removed in 5.25.1 and reinstated in 5.27.1.

    Add accepts_perl(). This is analogous to
    CPAN::Meta::Requirements->accepts_module(). I decided that
    CPAN::Meta;:Requirements was overkill, but this may turn out to be
    the wrong decision, so I will be careful what I expose.

    Document behavior of perl_version_introduced() and
    perl_version_removed() when a feature is re-introduced after
    removal, or re-removed after re-introduction.

    \N{} (empty curlys) removed in 5.27.1.
   2017-06-05 16:25:36 by Ryo ONODERA | Files touched by this commit (2298)
Log message:
Recursive revbump from lang/perl5 5.26.0
   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

  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

  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::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.