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 <[email protected]>


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.