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 parsing of zero-width assertions.

This cookie is set in PPIx::Regexp::Token::GroupType::Assertion, and it persists until the end of the assertion.

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.

FALSE

A false value. The author makes no commitment what the exact value is, only that Boolean operations will see it as false.

HASH_REF

This is the result of ref {}.

INFINITY

This is the IEEE 754 value of Inf if that can be generated, or an opaque overloaded object if not. Because the object does not (and I think can not) implement the complete behavior of IEEE 754 Inf, this manifest constant should only be used for stringification and numeric comparison. Be aware that the numification of the object has to be the same as its stringification to keep looks_like_number() happy. Caveat coder.

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_LOOK_BEHIND_TOO_LONG

An appropriate error message for an unknown entity created from a quantifier which would make a look-behind assertion too long. This is cribbed verbatim from the Perl error message.

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.

SUFFICIENT_UTF8_SUPPORT_FOR_WEIRD_DELIMITERS

A Boolean which is true if the running version of Perl has UTF-8 support sufficient for our purposes.

Currently that means 5.8.3 or greater, with the specific requirements being use open qw{ :std :encoding(utf-8) }, /\p{Mark}/, and the ability to parse things like qr \N{U+FFFF}foo\N{U+FFFF}.

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.

TRUE

A true value. The author makes no commitment what the exact value is, only that Boolean operations will see it as true.

VARIABLE_LENGTH_LOOK_BEHIND_INTRODUCED

The version in which variable-length look-behinds were introduced. Currently this is '5.029009', and implies the limited lookbehind introduced at or about that version.

SUPPORT

Support is by the author. Please file bug reports at https://rt.cpan.org/Public/Dist/Display.html?Name=PPIx-Regexp, https://github.com/trwyant/perl-PPIx-Regexp/issues, or in electronic mail to the author.

AUTHOR

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Copyright (C) 2009-2023 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.