tm.java starting, reading l0n1na.tm reading l0n1na.tm // l0n1na.tm with trace all // accept the language L = { 0^n 1^n | n>0 } // book page 150 Fig. 7.2 final q4 start q0 trace all limit 50 q0 0 q1 X R q0 Y q3 Y R q1 0 q1 0 R q1 1 q2 Y L q1 Y q1 Y R q2 0 q2 0 L q2 X q0 X R q2 Y q2 Y L q3 Y q3 Y R q3 #b q4 #b R q4 #b q4 #b N enddef tape 01#b should be accepted tape 0011#b should be accepted tape 011#b should be rejected reading input finished. start state q0 states: q4 q0 q1 q3 q2 final states: q4 trace states q4 q0 q1 q3 q2 to_states: q1 q3 q2 q0 q4 from_states: q0 q1 q2 q3 q4 sigma symbols: 0 X Y 1 #b input tapes: #[01#b#] #[0011#b#] #[011#b#] transition table: q0 0 q1 X R q0 Y q3 Y R q1 0 q1 0 R q1 1 q2 Y L q1 Y q1 Y R q2 0 q2 0 L q2 X q0 X R q2 Y q2 Y L q3 Y q3 Y R q3 #b q4 #b R q4 #b q4 #b N limit=50 trace_all=true turing machine running on input tape: #[01#b#] in state=q0 tape head at k=2 tape symbol=0 q0 0 q1 X R state=q0 write ts=X at transition tj=0 from transition ts=X move head right to k=3 in state=q1 tape head at k=3 tape symbol=1 q1 1 q2 Y L state=q1 write ts=Y at transition tj=3 from transition ts=Y move head left to k=2 tape=#[XY#b#] head at 2 tsch=X ts=X in state=q2 tape head at k=2 tape symbol=X q2 X q0 X R state=q2 write ts=X at transition tj=6 from transition ts=X move head right to k=3 in state=q0 tape head at k=3 tape symbol=Y q0 Y q3 Y R state=q0 write ts=Y at transition tj=1 from transition ts=Y move head right to k=4 in state=q3 tape head at k=4 tape symbol=#b q3 #b q4 #b R state=q3 write ts=#b at transition tj=9 from transition ts=#b move head right to k=5 in state=q4 tape head at k=5 tape symbol=b transition not found for q4 b rule not found state=q4 ts=b input tape or turing machine failed turing machine running on input tape: #[0011#b#] in state=q0 tape head at k=2 tape symbol=0 q0 0 q1 X R state=q0 write ts=X at transition tj=0 from transition ts=X move head right to k=3 in state=q1 tape head at k=3 tape symbol=0 q1 0 q1 0 R state=q1 write ts=0 at transition tj=2 from transition ts=0 move head right to k=4 in state=q1 tape head at k=4 tape symbol=1 q1 1 q2 Y L state=q1 write ts=Y at transition tj=3 from transition ts=Y move head left to k=3 tape=#[X0Y1#b#] head at 3 tsch=0 ts=0 in state=q2 tape head at k=3 tape symbol=0 q2 0 q2 0 L state=q2 write ts=0 at transition tj=5 from transition ts=0 move head left to k=2 tape=#[X0Y1#b#] head at 2 tsch=X ts=X in state=q2 tape head at k=2 tape symbol=X q2 X q0 X R state=q2 write ts=X at transition tj=6 from transition ts=X move head right to k=3 in state=q0 tape head at k=3 tape symbol=0 q0 0 q1 X R state=q0 write ts=X at transition tj=0 from transition ts=X move head right to k=4 in state=q1 tape head at k=4 tape symbol=Y q1 Y q1 Y R state=q1 write ts=Y at transition tj=4 from transition ts=Y move head right to k=5 in state=q1 tape head at k=5 tape symbol=1 q1 1 q2 Y L state=q1 write ts=Y at transition tj=3 from transition ts=Y move head left to k=4 tape=#[XXYY#b#] head at 4 tsch=Y ts=Y in state=q2 tape head at k=4 tape symbol=Y q2 Y q2 Y L state=q2 write ts=Y at transition tj=7 from transition ts=Y move head left to k=3 tape=#[XXYY#b#] head at 3 tsch=X ts=X in state=q2 tape head at k=3 tape symbol=X q2 X q0 X R state=q2 write ts=X at transition tj=6 from transition ts=X move head right to k=4 in state=q0 tape head at k=4 tape symbol=Y q0 Y q3 Y R state=q0 write ts=Y at transition tj=1 from transition ts=Y move head right to k=5 in state=q3 tape head at k=5 tape symbol=Y q3 Y q3 Y R state=q3 write ts=Y at transition tj=8 from transition ts=Y move head right to k=6 in state=q3 tape head at k=6 tape symbol=#b q3 #b q4 #b R state=q3 write ts=#b at transition tj=9 from transition ts=#b move head right to k=7 in state=q4 tape head at k=7 tape symbol=b transition not found for q4 b rule not found state=q4 ts=b input tape or turing machine failed turing machine running on input tape: #[011#b#] in state=q0 tape head at k=2 tape symbol=0 q0 0 q1 X R state=q0 write ts=X at transition tj=0 from transition ts=X move head right to k=3 in state=q1 tape head at k=3 tape symbol=1 q1 1 q2 Y L state=q1 write ts=Y at transition tj=3 from transition ts=Y move head left to k=2 tape=#[XY1#b#] head at 2 tsch=X ts=X in state=q2 tape head at k=2 tape symbol=X q2 X q0 X R state=q2 write ts=X at transition tj=6 from transition ts=X move head right to k=3 in state=q0 tape head at k=3 tape symbol=Y q0 Y q3 Y R state=q0 write ts=Y at transition tj=1 from transition ts=Y move head right to k=4 in state=q3 tape head at k=4 tape symbol=1 transition not found for q3 1 rule not found state=q3 ts=1 input tape or turing machine failed no more input tapes finished tm.java