Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anand2312/automaton-evaluator
CLI program that emulates automata
https://github.com/anand2312/automaton-evaluator
automata-simulator automata-theory
Last synced: 9 days ago
JSON representation
CLI program that emulates automata
- Host: GitHub
- URL: https://github.com/anand2312/automaton-evaluator
- Owner: anand2312
- Created: 2023-05-14T15:24:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-14T17:22:45.000Z (about 1 year ago)
- Last Synced: 2024-10-08T07:04:54.756Z (about 1 month ago)
- Topics: automata-simulator, automata-theory
- Language: Rust
- Homepage:
- Size: 35.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# automaton-evaluator
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](https://www.jflap.org/).## Roadmap
List of features I'd like to implement (highly unlikely):
- [x] Deterministic Finite State Automata
- [x] Non-deterministic Finite State Automata
- [ ] Pushdown Automata
- [ ] Simple Turing Machines
- [ ] Visualize automata described by a config file
- [ ] GUI???## Example usage
```bash
$ cargo run --features build-binary -- /path/to/config.json --automaton=dfa --string=abaaaba
Accepted
```## Example Config
Example configuration files for any automatons that have been implemented so far are in the `test_configs` directory.
### DFA
- `dfa01.json`: Accepts all strings over $\Sigma = \{a, b\}$ which have `aa` as a substring
- `dfa02.json`: Accepts all strings over $\Sigma = \{0, 1\}$ which have odd number of 1's and odd number of 0's.### NFA
- `nfa01.json`: Accepts all strings over $\Sigma = \{a, b\}$ which end in `ab`
- `nfa02.json`: Accepts all strings over $\Sigma = \{a, b\}$ which start with `a`
- `nfa03.json`: Accepts all strings that match the regular expression $(b)^\ast a$