Changes for version 0.043 - 2015-11-18

  • No changes since 0.042_05.

Changes for version 0.042_05 - 2015-11-11

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

Changes for version 0.042_04 - 2015-11-10

  • 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}'

Changes for version 0.042_03 - 2015-11-05

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

Changes for version 0.042_02 - 2015-10-31

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

Changes for version 0.042_01 - 2015-10-29

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

Modules

Represent a regular expression of some sort
Constants for the PPIx::Regexp system
Dump the results of parsing regular expressions
Base of the PPIx::Regexp hierarchy.
Assemble tokenizer output.
Represent a container
Represent a character range in a character class
Represent a structure.
Represent a parenthesized assertion
Represent a branch reset group
Represent capture parentheses.
Represent a character class
Represent one of the code structures.
Represent a regular expression proper, or a substitution
Represent modifying parentheses
Represent a named capture
Represent curly bracket quantifiers
Represent a regexp character set
Represent the top-level regular expression
Represent the replacement in s///
Represent an independent subexpression
Represent a switch
Represent an unknown structure.
Basis for the PPIx::Regexp support classes
Base class for PPIx::Regexp tokens.
Represent a simple assertion.
Represent a back reference
Represent backtrack control.
Represent a character class
Represent a POSIX character class
Represent an unknown or unsupported POSIX character class
This class represents a simple character class
Represent a chunk of Perl embedded in a regular expression.
Represent a comment.
Represent the condition of a switch
Case and quote control.
Represent the delimiters of the regular expression
Represent a greediness qualifier.
Represent a grouping parenthesis type.
Represent a look ahead or look behind assertion
Represent a branch reset specifier
Represent one of the embedded code indicators
Represent the modifiers in a modifier group.
Represent an independent subexpression marker
Represent the introducing characters for a switch
Represent an interpolation in the PPIx::Regexp package.
Represent a literal character
Represent modifiers.
Represent an operator.
Represent an atomic quantifier.
Represent a recursion
Represent a reference to a capture
Represent structural elements.
Represent an unknown token
Represent an unmatched right bracket
Represent whitespace
Tokenize a regular expression
Utility functions for PPIx::Regexp;