I was bored the night before my Formal Languages and Automata Theory lab examination, so I started working on this instead...
I got the idea while playing around with JFLAP.
List of features I'd like to implement (highly unlikely):
- Deterministic Finite State Automata
- Non-deterministic Finite State Automata
- Pushdown Automata
- Simple Turing Machines
- Visualize automata described by a config file
- GUI???
$ cargo run --features build-binary -- /path/to/config.json --automaton=dfa --string=abaaaba
Accepted
Example configuration files for any automatons that have been implemented so far are in the test_configs
directory.
-
dfa01.json
: Accepts all strings overwhich have aa
as a substring -
dfa02.json
: Accepts all strings overwhich have odd number of 1's and odd number of 0's.
-
nfa01.json
: Accepts all strings overwhich end in ab
-
nfa02.json
: Accepts all strings overwhich start with a
-
nfa03.json
: Accepts all strings that match the regular expression