https://github.com/superb-man/automaton-solver
regex -> abstract syntax tree -> nfa -> dfa(minimized) conversion.
https://github.com/superb-man/automaton-solver
cyk-algorithm dfa dfa-minimization dotfiles json moore-minimization nfa parser regular-expression x-33
Last synced: 3 months ago
JSON representation
regex -> abstract syntax tree -> nfa -> dfa(minimized) conversion.
- Host: GitHub
- URL: https://github.com/superb-man/automaton-solver
- Owner: Superb-Man
- Created: 2024-05-17T14:52:15.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-05T09:44:26.000Z (9 months ago)
- Last Synced: 2025-01-13T20:14:27.434Z (4 months ago)
- Topics: cyk-algorithm, dfa, dfa-minimization, dotfiles, json, moore-minimization, nfa, parser, regular-expression, x-33
- Language: C++
- Homepage:
- Size: 499 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This is a basic regular expression to DFA converter based on the coursework of theory of computation.Implemented ```*,+,Seq,OR``` as we weren't taught about ```(.,[],-,^,?)``` in that course.
# Features
```
- It takes an input as expression and parse it.
- Then from the abstract syntax tree it makes NFA and from NFA.
- it is converted into DFA using the epsilon closure propery....
- Then moore minimization algorithm is used to minimize the DFA.
- An additional string check is used also(Whether the input belongs to the expression)
- worked with OR/UNION,STAR,SEQ/AND,PLUS and literals
```
# Screenshots
```
- abstract syntax tree for a+b*(c+de)*f
```

```
- nfa and min dfa
```


```
- CYK simulation for the CFG
- S -> A B | B C
- A -> B A | a
- B -> C C | b
- C -> A B | a
```
# Will try to implement
```
- CFG To CNF
- CFG to PDA
- CFG to LL(K)
- Left factoring and Left recursion elimination
- Computing first and follow sets
```