Skip to content

Pyxidatol-C/Regular-Language

Repository files navigation

Regular Languages Toolbox

  • DFA: acceptance; complement and intersection; language emptiness and equivalence checking; minimisation
  • NFA: acceptance; union, concatenation, and star; powerset construction -> DFA; Kleene's algorithm -> Regexp;
  • Regexp: reversal; Thompson's construction -> NFA; monadic parser <- String; simplification using axioms of Kleene algebra from Kozen's book (highly experimental)

Docs hosted at https://pyxidatol-c.github.io/Regular-Language/ (incomplete).

CLI: Regexp equivalence testing

Checks whether the specification regexp and (possibly the complement of) the implementation regexp are equivalent. If not, a list of strings accepted by one but not the other will be displayed.

Usage

ghc Main.hs -o eq-regexp
./eq-regexp

Gallery

Spec and Impl are equivalent

Impl accepts empty string but Spec doesn't

About

Finite automata and regular languages

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published