ERE.pm
Copyright (C) 2012, Loïc Jonas Etienne
OVERVIEW
Pure perl module for:
- Parsing POSIX Extended Regular Expressions (ERE) into
Non-Deterministic Finite Automata (nfa)
- Manipulating nfa (and-ing, or-ing, concatenating)
- Computing Deterministic Finite Automata (dfa) from nfa
(powerset construction)
- Computing minimal dfa from dfa
(Hopcrofts's algorithm)
- Computing ERE or Perl Regular Expressions from nfa or dfa
(Warshall algorithm)
- Heuristically deriving from a nfa or dfa (possibly weaker) constraints
suitable for display in a graphical user interface,
i.e. a sequence of widgets of type 'free text' and 'drop down';
Example: '^(abc|def).*' => $nfa => [['abc', 'def'], 'free text']
INSTALLATION
See the file INSTALL
VERSIONS
0.01 initial version
0.02 minor documentation improvements
fixes for bugs revealed by perl 17:
- results independent of the sort algorithm (stable/unstable)
- improved prefix/suffix factorization
- improved test cases
AUTHOR
Loïc Jonas Etienne
LICENSE INFORMATION
This module is free software; you can redistribute it and/or modify it
under the terms of the Artistic License 2.0. For details, see the full
text of the license in the file LICENSE.
This program is distributed in the hope that it will be useful, but it
is provided "as is" and without any express or implied warranties. For
details, see the full text of the license in the file LICENSE.