From: <per...@li...> - 2006-02-24 06:20:30
|
Update of /cvsroot/perl-flat/blokhead/lib/FLAT/Regex In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27791/lib/FLAT/Regex Modified Files: Op.pm Log Message: POD stubs for all public modules, with all method definitions updated Regex.pm for clearer handling of "[foo]" extended characters.. this really needs to be made uniform across all modules, so we always handle input strings, alphabets the same way Index: Op.pm =================================================================== RCS file: /cvsroot/perl-flat/blokhead/lib/FLAT/Regex/Op.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Op.pm 21 Feb 2006 20:43:09 -0000 1.3 --- Op.pm 24 Feb 2006 06:20:26 -0000 1.4 *************** *** 22,30 **** use base 'FLAT::Regex::Op'; - my $EPSILON = "[]"; - my $NULL = "#"; - sub as_string { ! $_[0]->members; } --- 22,32 ---- use base 'FLAT::Regex::Op'; sub as_string { ! my $t = $_[0]->members; ! ! return "#" if not defined $t; ! return 1 == length $t ! ? $t ! : "[$t]"; } *************** *** 32,52 **** my $r = $_[0]->members; ! return "(?:)" if $r eq $EPSILON; ! return "(?!)" if $r eq $NULL; ! return quotemeta $r; } sub as_nfa { ! my $r = $_[0]->members; ! ! FLAT::NFA->singleton( ! $r eq $EPSILON ? "" : ! $r eq $NULL ? undef : $r ! ); } sub from_parse { my ($pkg, @item) = @_; ! $pkg->new( $item[1] ); } --- 34,57 ---- my $r = $_[0]->members; ! return "(?!)" if not defined $r; ! ! $r = quotemeta $r; ! return length $r == 1 ? $r : "(?:$r)"; } sub as_nfa { ! FLAT::NFA->singleton( $_[0]->members ); } sub from_parse { my ($pkg, @item) = @_; ! my $i = $item[1]; ! ! return $pkg->new("") if $i eq "[]"; ! return $pkg->new(undef) if $i eq "#"; ! ! $i =~ s/^\[|\]$//g; ! ! return $pkg->new($i); } *************** *** 56,65 **** sub is_empty { ! $_[0]->members eq $NULL; } sub has_nonempty_string { my $self = shift; ! $self->members ne $EPSILON and $self->members ne $NULL; } --- 61,70 ---- sub is_empty { ! not defined $_[0]->members; } sub has_nonempty_string { my $self = shift; ! defined $self->members and length $self->members; } |