PPIx-Regexp
view release on metacpan or search on metacpan
lib/PPIx/Regexp/Constant.pm view on Meta::CPAN
local $@ = undef;
require constant;
constant->import( INFINITY =>
eval { 0 + 'Inf' } ||
PPIx::Regexp::Constant::Inf->__pos_inf() );
}
use constant ARRAY_REF => ref [];
use constant CODE_REF => ref sub {};
use constant HASH_REF => ref {};
use constant REGEXP_REF => ref qr{};
use constant SCALAR_REF => ref \0;
# In the cases where an unescaped literal left curly 'could not' be a
# quantifier, they are allowed. At least, that was the original idea.
# But read on.
use constant LITERAL_LEFT_CURLY_ALLOWED => undef;
# 'Most' unescaped literal left curlys were removed in 5.26.
use constant LITERAL_LEFT_CURLY_REMOVED_PHASE_1 => '5.025001';
# Unescaped literal left curlys after literals and certain other
# elements are scheduled to be removed in 5.30.
use constant LITERAL_LEFT_CURLY_REMOVED_PHASE_2 => undef; # x{ 5.30
# In 5.27.8 it was decided that unescaped literal left curlys after an
# open paren will be removed in 5.32. This does not include the case
# where the entire regex is delimited by parens -- they are still legal
# there.
use constant LITERAL_LEFT_CURLY_REMOVED_PHASE_3 => undef; # ({ 5.32
# Location constants. Must align with PPI
use constant LOCATION_LINE => 0;
use constant LOCATION_CHARACTER => 1;
use constant LOCATION_COLUMN => 2;
use constant LOCATION_LOGICAL_LINE => 3;
use constant LOCATION_LOGICAL_FILE => 4;
use constant MINIMUM_PERL => '5.000';
use constant MODIFIER_GROUP_MATCH_SEMANTICS => 'match_semantics';
use constant MSG_LOOK_BEHIND_TOO_LONG =>
'Lookbehind longer than 255 not implemented';
use constant MSG_PROHIBITED_BY_STRICT =>
q<prohibited by "use re 'strict'">;
use constant NODE_UNKNOWN => 'PPIx::Regexp::Node::Unknown';
# The perlre for Perl 5.010 says:
#
# Currently NAME is restricted to simple identifiers only. In
# other words, it must match "/^[_A-Za-z][_A-Za-z0-9]*\z/" or
# its Unicode extension (see utf8), though it isn't extended by
# the locale (see perllocale).
use constant RE_CAPTURE_NAME => ' [_[:alpha:]] \w* ';
use constant STRUCTURE_UNKNOWN => 'PPIx::Regexp::Structure::Unknown';
use constant SUFFICIENT_UTF8_SUPPORT_FOR_WEIRD_DELIMITERS => $] ge '5.008003';
use constant TOKEN_LITERAL => 'PPIx::Regexp::Token::Literal';
use constant TOKEN_UNKNOWN => 'PPIx::Regexp::Token::Unknown';
use constant VARIABLE_LENGTH_LOOK_BEHIND_INTRODUCED => '5.029009';
1;
__END__
=head1 NAME
PPIx::Regexp::Constant - Constants for the PPIx::Regexp system
=head1 SYNOPSIS
use PPIx::Regexp::Constant qw{ TOKEN_UNKNOWN }
print "An unknown token's class is TOKEN_UNKNOWN\n";
=head1 INHERITANCE
C<PPIx::Regexp::Constant> is an L<Exporter|Exporter>.
C<PPIx::Regexp::Constant> has no descendants.
=head1 DETAILS
This module defines manifest constants for use by the various
C<PPIx::Regexp> modules. These constants are to be considered B<private>
to the C<PPIx::Regexp> system, and the author reserves the right to
change them without notice.
This module exports the following manifest constants:
=head2 @CARP_NOT
This global variable contains the names of all modules in the package.
=head2 ARRAY_REF
This is the result of C<ref []>.
=head2 CODE_REF
This is the result of C<ref sub {}>.
=head2 COOKIE_CLASS
The name of the cookie used to control the construction of character
classes.
This cookie is set in
L<PPIx::Regexp::Token::Structure|PPIx::Regexp::Token::Structure> when
the left square bracket is encountered, and cleared in the same module
when a right square bracket is encountered.
=head2 COOKIE_LOOKAROUND_ASSERTION
The name of the cookie used to control the parsing of zero-width
assertions.
( run in 2.890 seconds using v1.01-cache-2.11-cpan-a49fcb8fa48 )