The tokenizer is responisble for parsing the given input(rules and input tape) into tokens and distribute them into structures respectively.
The graph class represents the rules linked between each other with their respective edges. An example for such a graph is the following:
The tape class represents the tape of the machine. Two stacks are used, the left hand-side is storing the symbols on the left of the tape,while the right hand-side is storing the head and the symbols to the right.
Instructions:
X{start}->X{start}R
0{start}->X{B}R
1{start}->X{C}R
_{start}->_{halt}R
0{B}->0{B}R
X{B}->X{B}R
1{B}->X{D}L
1{D}->1{D}L
0{D}->0{D}L
X{D}->X{D}L
_{D}->_{start}R
0{C}->X{D}L
X{C}->X{C}R
1{C}->1{C}R
Input tape:
0011
Output tape:
_ _ _ _ _ _ X X X X _ _ _ _ _
