Automata Simulator
there is DFA DPDA and Turing
non deterministic automata s will be add later
smelly and not clean code on github
for practice make these:
DFA:
∑ = {0, 1} accepts even number of 0's and even number of 1's
∑ = {0, 1} accepts the set of all strings with three consecutive 0's
DPDA:
∑ = {0, 1} accepts strings with same number of 0's and 1's
∑ = {a, b} accepts strings with n number of a's then 2n of b's : (a^(n) b^(2n) )
Turing:
∑ = {a, b} accepts strings with n number of a's then n of b's : (a^(n) b^(n) )
HOW TO PLAY WITHOUT READ HOW TO PLAY
look at screenshots then
download the game or play online then try every key to figure it out like a dumb-lazy-genius
space , x , left-alt , left-ctrl , tab ,(1,2,3,4 keys), mouse
*HOW TO PLAY*
1-choose type
2-insert alphabet , and if u choosed dpda or turing u can add additional alphabet
3-add states with Space Key
3.1-mouse over state and press X to delete
3.2-use 1,2,3,4 keys to set a state status to start , normal , final , start&final
4-Hold Left-click on state and move it if u like
5-mouse down on a state with middle-click(right-click in windows build) or Left-CTRL and mouse up to connect them
6-use Tab to change between edit mods
7-there is syntax for connection texts: (( U can insert special characters like lambda or black with : ' . ' dot key
- DFA : just write the character and use any non alphabetic and numbers(symbol) in between if u want (like : a b or a , b)
- DPDA : input character then use a symbol or not then stack character then symbol or not then what u want to push to stack then ' ; ' (like : a , z , 0z; or az0z;)
- Turing : exactly like dpda juts they mean somthing else (like : a,0,L or a0l)
- when u done with it select somwhere else
- when its blue means u messed up with syntax i mentioned
- when red means there cant be that kind of connection
- green == u good
7.1- for DPDA use $ sign as end of input trick
7.2- in DPDA u cant have lambda with alphabetical move so its on u for now and dont trust green on this one
7.3- in DPDA i initially push z into stack (actually lambda and z)
8-use Left_Alt to toggle two lists on sides
9-use two lists and input something (they are two for inputs that must accept and must not so its more clear and when every thing is green means machine works well
10-scroll mouse wheel to zoom in out
u can resize in windows version and u can use ALT + F4 to exit too
11- have fun if u could
pls feel free to comment whats wrong and let me know
Status | In development |
Category | Other |
Platforms | HTML5, Windows |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Mohmehdi |
Genre | Educational, Simulation |
Made with | Unity |
Tags | 2D, Automation, Emulator, Unity |
Comments
Log in with itch.io to leave a comment.
well done!
It's really useful for the people that take Theory of Automata and Formal Languages (Theory of Computation) course.
thanks