NAME

PPIx::Regexp::Constant - Constants for the PPIx::Regexp system

SYNOPSIS

use PPIx::Regexp::Constant qw{ TOKEN_UNKNOWN }
print "An unknown token's class is TOKEN_UNKNOWN\n";

INHERITANCE

PPIx::Regexp::Constant is an Exporter.

PPIx::Regexp::Constant has no descendants.

DETAILS

This module defines manifest constants for use by the various PPIx::Regexp modules. These constants are to be considered private to the PPIx::Regexp system, and the author reserves the right to change them without notice.

This module exports the following manifest constants:

@CARP_NOT

This global variable contains the names of all modules in the package.

ARRAY_REF

This is the result of ref [].

CODE_REF

This is the result of ref sub {}.

The name of the cookie used to control the construction of character classes.

This cookie is set in PPIx::Regexp::Token::Structure when the left square bracket is encountered, and cleared in the same module when a right square bracket is encountered.

The name of the cookie used to control the construction of curly bracketed quantifiers.

This cookie is set in PPIx::Regexp::Token::Structure when a left curly bracket is encountered. It requests itself to be cleared on encountering anything other than a literal comma, a literal digit, or an interpolation, or if more than one comma is encountered. If it survives until PPIx::Regexp::Token::Structure processes the right curly bracket, it is cleared there.

The name of the cookie used to control the parsing of \Q ... \E quoted literals.

This cookie is set in PPIx::Regexp::Token::Control when a \Q is encountered, and it persists until the next \E.

The name of the cookie used to control regular expression sets.

HASH_REF

This is the result of ref {}.

LITERAL_LEFT_CURLY_ALLOWED

The Perl version at which allowed unescaped literal left curly brackets were removed. This may make more sense if I mention that its value is undef.

LITERAL_LEFT_CURLY_REMOVED_PHASE_1

The Perl version at which the first phase of unescaped literal left curly bracket removal took place. The value of this constant is '5.025001'.

LITERAL_LEFT_CURLY_REMOVED_PHASE_2

The Perl version at which the second phase of unescaped literal left curly bracket removal took place. The value of this constant is undef, but it will be assigned a value when the timing of the second phase is known.

LITERAL_LEFT_CURLY_REMOVED_PHASE_3

The Perl version at which the third phase of unescaped literal left curly bracket removal took place. This is the removal of curly brackets after a left parenthesis. The value of this constant is undef, but it will be assigned a value when the timing of the second phase is known.

MINIMUM_PERL

The minimum version of Perl understood by this parser, as a float. It is currently set to 5.000, since that is the minimum version of Perl accessible to the author.

MODIFIER_GROUP_MATCH_SEMANTICS

The name of the PPIx::Regexp::Token::Modifier group used to control match semantics.

MSG_PROHIBITED_BY_STRICT

An appropriate error message for an unknown entity created because 'strict' was in effect. This is rank ad-hocery, and more than usually subject to being changed, without any notice whatsoever. Caveat user.

NODE_UNKNOWN

The name of the class that represents an unknown node. That is, PPIx::Regexp::Node::Unknown.

RE_CAPTURE_NAME

A string representation of a regular expression that matches the name of a named capture buffer.

REGEXP_REF

This is the result of ref qr{}.

SCALAR_REF

This is the result of ref \0.

STRUCTURE_UNKNOWN

The name of the class that represents an unknown structure. That is, PPIx::Regexp::Structure::Unknown.

TOKEN_LITERAL

The name of the class that represents a literal token. That is, PPIx::Regexp::Token::Literal.

TOKEN_UNKNOWN

The name of the class that represents the unknown token. That is, PPIx::Regexp::Token::Unknown.

SUPPORT

Support is by the author. Please file bug reports at http://rt.cpan.org, or in electronic mail to the author.

AUTHOR

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Copyright (C) 2009-2018 by Thomas R. Wyant, III

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory LICENSES.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.