FLAT::Legacy::FA::REFLAT::Legacy::FA::RE is a regular expression base class. | |
Download |
FLAT::Legacy::FA::RE Ranking & Summary
Advertisement
- License:
- Perl Artistic License
- Price:
- FREE
- Publisher Name:
- Brett D. Estrade
- Publisher web site:
- http://search.cpan.org/~estrabd/FLAT-Legacy-FA.1/lib/FLAT/Legacy/FA/RE.pm
FLAT::Legacy::FA::RE Tags
FLAT::Legacy::FA::RE Description
FLAT::Legacy::FA::RE is a regular expression base class. FLAT::Legacy::FA::RE is a regular expression base class.SYNOPSIS use FLAT::Legacy::FA::RE; use FLAT::Legacy::FA::NFA; my $re = RE->new(); $re->set_re('a|b|(hi)*'); my $nfa = $re->to_nfa(); print $nfa->info(); # see stuff on NFA my $dfa = $nfa->to_dfa(); print $dfa->info(); # see stuff on DFA my @removed = $dfa->minimize(); print $dfa->info(); # see stuff on minimized DFA print "Removed ".($#removed+1)." statesn";This module implements a regular expression parser, and supports the conversion of a RE to a deterministic finite automata. A homegrown recursive descent parser is used to build the parse tree, and the method used to conver the regular expression to a DFA uses no intermediate NFA.Recursive Descent-safe Regex Grammar: R -> O O -> CO' O' -> '|' CO' | epsilon C -> SC' C' -> .SC' | epsilon S -> LS' S' -> *S' | epsilon L -> a | b | c |..| 0 | 1 | 2 |..| (R) | epsilon Terminal symbols: a,b,c,..,z,0,1,2,..,9,|,*,(,)NOTE: Concatenation operator, '.', is not a terminal symbol and should not be included in the regexFAQ: Q: Does this support Perl regular expressions?A: No, just the regular expression using the terminal symbols listed above.Requirements:· Perl Requirements: · Perl
FLAT::Legacy::FA::RE Related Software