Regular Expression (Regex), Nondeterministic finite automaton (NFA) and Deterministic finite automaton (DFA) implement in PHP. - Keywords: php php-library regex nfa dfa dfa-regex formal-languages https://github.com/KendallHopkins/FormalTheory

Kendall Hopkins 81f8957ee5 Remove extra newline 12 سال پیش
lib 81f8957ee5 Remove extra newline 12 سال پیش
test 8506a6e0ea Improve optimizer. 12 سال پیش
.travis.yml a98db5ab34 Change default support to UTF-8. 12 سال پیش
LICENSE 116c833aab Add LICENSE file. 12 سال پیش
README.md 25fa26a92a Implement FA reverse. 12 سال پیش
composer.json 9a3ff9f6fd Use correct name format. 12 سال پیش
phpunit.xml.dist eb20655eeb Add unit tests. 13 سال پیش

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