From: <per...@li...> - 2006-03-12 05:03:53
|
Update of /cvsroot/perl-flat/perl-flat/lib/FLAT/Regex In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1200/lib/FLAT/Regex Modified Files: Op.pm WithExtraOps.pm Log Message: getting things down slowly Index: Op.pm =================================================================== RCS file: /cvsroot/perl-flat/perl-flat/lib/FLAT/Regex/Op.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Op.pm 24 Feb 2006 18:42:09 -0000 1.5 --- Op.pm 12 Mar 2006 05:03:50 -0000 1.6 *************** *** 44,47 **** --- 44,51 ---- } + sub as_pfa { + FLAT::PFA->singleton( $_[0]->members ); + } + sub from_parse { my ($pkg, @item) = @_; *************** *** 97,100 **** --- 101,109 ---- } + sub as_pfa { + my $self = shift; + $self->members->as_pfa->kleene; + } + sub from_parse { my ($pkg, @item) = @_; *************** *** 150,153 **** --- 159,168 ---- } + sub as_pfa { + my $self = shift; + my @parts = map { $_->as_pfa } $self->members; + $parts[0]->concat( @parts[1..$#parts] ); + } + sub from_parse { my ($pkg, @item) = @_; *************** *** 222,225 **** --- 237,246 ---- } + sub as_pfa { + my $self = shift; + my @parts = map { $_->as_pfa } $self->members; + $parts[0]->union( @parts[1..$#parts] ); + } + sub from_parse { my ($pkg, @item) = @_; Index: WithExtraOps.pm =================================================================== RCS file: /cvsroot/perl-flat/perl-flat/lib/FLAT/Regex/WithExtraOps.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WithExtraOps.pm 10 Mar 2006 06:00:24 -0000 1.4 --- WithExtraOps.pm 12 Mar 2006 05:03:50 -0000 1.5 *************** *** 4,8 **** use strict; use Carp; - use FLAT::PFA; my $PARSER = FLAT::Regex::Parser->new(qw[ alt concat star negate shuffle ]); --- 4,7 ---- *************** *** 14,22 **** } - # In the absence of a shuffle operator, the PFA will be a NFA - sub as_pfa { - FLAT::PFA->singleton( $_[0]->members ); - } - #### Precedence # 30 ::star --- 13,16 ---- *************** *** 86,94 **** } ! ## note: "reverse" conflicts with perl builtin sub reverse { my $self = shift; - my $op = $self->members->reverse; - __PACKAGE__->new($op); } --- 80,91 ---- } ! # Implement ! sub as_pfa { ! my $self = shift; ! } ! ! # Implement? sub reverse { my $self = shift; } |