Parent Directory
|
Revision Log
Make the patterns be pre-compiled patterns for efficiency.
1 ######################################################################### 2 # 3 # Implement the list of allowed parentheses. 4 # 5 package Parser::Context::Parens; 6 use strict; 7 our @ISA = qw(Value::Context::Data); 8 9 sub init { 10 my $self = shift; 11 $self->{dataName} = 'parens'; 12 $self->{name} = 'parenthesis'; 13 $self->{Name} = 'Parenthesis'; 14 $self->{namePattern} = qr/\S+/; 15 } 16 17 sub addToken { 18 my $self = shift; my $token = shift; 19 my $data = $self->{context}{$self->{dataName}}{$token}; 20 unless ($data->{hidden}) { 21 $self->{tokens}{$token} = "open"; 22 $self->{tokens}{$data->{close}} = "close" unless $data->{close} eq $token; 23 } 24 } 25 26 sub removeToken { 27 my $self = shift; my $token = shift; 28 my $data = $self->{context}{$self->{dataName}}{$token}; 29 delete $self->{tokens}{$token}; 30 delete $self->{tokens}{$data->{close}} unless $data->{hidden} || $data->{close} eq $token; 31 } 32 33 ######################################################################### 34 35 1;
| aubreyja at gmail dot com | ViewVC Help |
| Powered by ViewVC 1.0.9 |