https://github.com/89netram/auto-automata
A library and web app for simulating finite automatas (DFA, NFA, and ε-NFA) and regular expressions.
https://github.com/89netram/auto-automata
automata automata-and-formal-languages automata-simulator dfa-construction finite-automaton nfa-to-dfa-conversion nfa-to-regex regex-to-nfa
Last synced: 4 days ago
JSON representation
A library and web app for simulating finite automatas (DFA, NFA, and ε-NFA) and regular expressions.
- Host: GitHub
- URL: https://github.com/89netram/auto-automata
- Owner: 89netraM
- License: mit
- Created: 2021-02-14T17:55:41.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-09-20T13:14:46.000Z (20 days ago)
- Last Synced: 2025-09-20T15:27:48.136Z (20 days ago)
- Topics: automata, automata-and-formal-languages, automata-simulator, dfa-construction, finite-automaton, nfa-to-dfa-conversion, nfa-to-regex, regex-to-nfa
- Language: TypeScript
- Homepage: https://89netram.github.io/auto-automata/
- Size: 441 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Auto Automata
A library and web app for simulating finite automatas (DFA, NFA, and ε-NFA) and
regular expressions.This project is a tool designed to help students ~~solve~~ understand quizzes
and assignments from the course [TMV028](https://student.portal.chalmers.se/sv/chalmersstudier/minkursinformation/Sidor/SokKurs.aspx?course_id=30562&parsergrp=3)
/[DIT322](https://www.gu.se/studera/hitta-utbildning/andliga-automater-och-formella-sprak-dit322) at
CTH. But can be used by anyone with an interest in automatas.Contributions are welcome! If you found a bug please report an issue on GitHub
or fix it yourself. New features are also welcome.## Features
Current features and some features that *might* be added in the future.
### Finite Automata
- [x] DFA
- [x] NFA
- [x] ε-NFA
- [x] String tests
- [x] Web App
- [x] Subset Construction
- [x] Web App
- [x] Product Construction
- [x] Web App
- [x] Sum Construction
- [x] Web App
- [x] Convert to Regular Expression
- [x] Web App
- [x] Equality
- [x] Web App
- [x] Minimisation
- [x] Web App
- [ ] Parsing file formats
- [x] ASCII table (TMV028/DIT322 specific format)
- [ ] `.jff` from [JFLAP](http://www.jflap.org/)
- [ ] Formatting file formats
- [x] ASCII table (TMV028/DIT322 specific format)
- [x] LaTeX tables
- [ ] `.jff` from [JFLAP](http://www.jflap.org/)### Regular Expressions
- [x] String tests
- [x] Web App
- [x] Simplification (Can always be improved)
- [ ] Web App
- [x] Convert to Automata
- [x] Web App### Context Free Grammars
- [x] Parsing strings
- [x] Constructing parse trees
- [x] Web App
- [x] Constructing CYK tables
- [x] Web App
- [x] Transformations
- [x] Bin
- [x] Web App
- [x] Del
- [x] Web App
- [x] Unit
- [x] Web App
- [x] Term
- [x] Web App
- [x] Chomsky Normal Form
- [x] Web App
- [x] Parsing file formats
- [x] UTF8
- [x] `.jff` from [JFLAP](http://www.jflap.org/)
- [x] Formatting file formats
- [x] LaTeX
- [x] UTF8
- [x] `.jff` from [JFLAP](http://www.jflap.org/)## Library
This project can also be used as a `npm` library for JavaScript or TypeScript.
It does not exist on the `npm` repository, but you can add it to your project
from GitHub with the following command:```
npm install 89netraM/auto-automata
```