Changes for version 0.042 - 2015-10-09

  • No changes since 0.041_03.

Changes for version 0.041_03 - 2015-10-01

  • Report error rather than failing when parsing a string consisting wholly of white space.

Changes for version 0.041_02 - 2015-09-29

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

Changes for version 0.041_01 - 2015-09-28

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

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;