PPIx::Regexp::Structure::CharClass - Represent a character class


PPIx-Regexp documentation Contained in the PPIx-Regexp distribution.

Index


Code Index:

NAME

Top

PPIx::Regexp::Structure::CharClass - Represent a character class

SYNOPSIS

Top

 use PPIx::Regexp::Dumper;
 PPIx::Regexp::Dumper->new( 'qr{[fo]}smx' )
     ->print();

INHERITANCE

Top

PPIx::Regexp::Structure::CharClass is a PPIx::Regexp::Structure.

PPIx::Regexp::Structure::CharClass has no descendants.

DESCRIPTION

Top

This class represents a square-bracketed character class.

METHODS

Top

This class provides the following public methods. Methods not documented here are private, and unsupported in the sense that the author reserves the right to change or remove them without notice.

negated

 $class->negated() and print "Class is negated\n";

This method returns true if the character class is negated -- that is, if the first token inside the left square bracket is a caret (^).

SUPPORT

Top

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

AUTHOR

Top

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Top


PPIx-Regexp documentation Contained in the PPIx-Regexp distribution.
package PPIx::Regexp::Structure::CharClass;

use strict;
use warnings;

use base qw{ PPIx::Regexp::Structure };

use PPIx::Regexp::Util qw{ __instance };

our $VERSION = '0.020';

sub _new {
    my ( $class, @args ) = @_;
    ref $class and $class = ref $class;
    my %brkt;
    $brkt{finish} = pop @args;
    $brkt{start} = shift @args;
    __instance( $args[0], 'PPIx::Regexp::Token::Operator' )
	and $args[0]->content() eq '^'
	and $brkt{type} = shift @args;
    return $class->SUPER::_new( \%brkt, @args );
}

sub negated {
    my ( $self ) = @_;
    return $self->type() ? 1 : 0;
}

# Called by the lexer to record the capture number.
sub __PPIX_LEXER__record_capture_number {
    my ( $self, $number ) = @_;
    return $number;
}

1;

__END__

# ex: set textwidth=72 :