Regular Expression (Regex), Nondeterministic finite automaton (NFA) and Deterministic finite automaton (DFA) implement in PHP.
PHP
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/FormalTheory
test
.travis.yml
LICENSE
README.md
composer.json
phpunit.xml.dist

README.md

FormalTheory

FormalTheory is a library that allows for manipulation and conversion of NFAs, DFAs and Regular Expressions. Some of the features it includes are:

  • Regex Lexing (AST)
  • Regex to NFA conversion
  • NFA to DFA conversion (determinize)
  • DFA minimization
  • DFA solution counting
  • FA equality
  • FA superset/subset test
  • FA proper superset/subset test
  • FA has a valid solution
  • FA print
  • FA export as DOT
  • FA string matching
  • FA intersections
  • FA unions
  • FA negation
  • FA reverse
  • FA to Regex conversion (basic)
  • Heavy Unit Test Coverage
  • Modern Autoloading Support
  • Regex optimization via rules

Note: FA is either a DFA or NFA

Coming Soon™

  • Regex optimization via mutations
  • Generalized DFA solving based on positive/negative match list

Build Status