cykp v0.9 starting adding production A -> 0 B adding production A -> 1 D adding production A -> 0 adding production B -> 0 D adding production B -> 1 C adding production C -> 0 B adding production C -> 1 D adding production C -> 0 adding production D -> 0 D adding production D -> 1 D reading input finished. Start symbol: A Variables: A B C D Terminals: 0 1 Sorted productions: A -> 0 B A -> 0 A -> 1 D B -> 0 D B -> 1 C C -> 0 B C -> 0 C -> 1 D D -> 0 D D -> 1 D lemma 4.1 variables removed: D deleting useless production: A -> 1 D deleting useless production: B -> 0 D deleting useless production: C -> 1 D deleting useless production: D -> 0 D deleting useless production: D -> 1 D Eliminate epslion Productions Eliminate Unit Productions after eliminate, sorted productions: A -> 0 B A -> 0 B -> 1 C C -> 0 B C -> 0 after eliminate, Variables: A B C Chomsky 1, replace terminal with variable Chomsky part 1, sorted productions: A -> 0 A -> T_0 B B -> T_1 C C -> 0 C -> T_0 B T_0 -> 0 T_1 -> 1 Chomsky Part 2 generated productions after Chomsky, sorted productions: A -> 0 A -> T_0 B B -> T_1 C C -> 0 C -> T_0 B T_0 -> 0 T_1 -> 1 after Chomsky, Variables: A B C T_0 T_1 about to parse 0 run CYK algorithm to build array, size=1 Finished first row of VV table VV(1,1)= A C T_0 finish CYK algorithm, check for S in VV[1][n]and thus Accepted string accepted by G, string is in L(G) about to parse 010 run CYK algorithm to build array, size=3 Finished first row of VV table VV(1,1)= A C T_0 VV(2,1)= T_1 VV(3,1)= A C T_0 Finished 2 row of VV table VV(1,2)= VV(2,2)= B VV(3,2)= Finished 3 row of VV table VV(1,3)= A C VV(2,3)= VV(3,3)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string accepted by G, string is in L(G) about to parse 01010 run CYK algorithm to build array, size=5 Finished first row of VV table VV(1,1)= A C T_0 VV(2,1)= T_1 VV(3,1)= A C T_0 VV(4,1)= T_1 VV(5,1)= A C T_0 Finished 2 row of VV table VV(1,2)= VV(2,2)= B VV(3,2)= VV(4,2)= B VV(5,2)= Finished 3 row of VV table VV(1,3)= A C VV(2,3)= VV(3,3)= A C VV(4,3)= VV(5,3)= Finished 4 row of VV table VV(1,4)= VV(2,4)= B VV(3,4)= VV(4,4)= VV(5,4)= Finished 5 row of VV table VV(1,5)= A C VV(2,5)= VV(3,5)= VV(4,5)= VV(5,5)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string accepted by G, string is in L(G) about to parse 111 run CYK algorithm to build array, size=3 Finished first row of VV table VV(1,1)= T_1 VV(2,1)= T_1 VV(3,1)= T_1 Finished 2 row of VV table VV(1,2)= VV(2,2)= VV(3,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string rejected by G, string is not in L(G) about to parse 011 run CYK algorithm to build array, size=3 Finished first row of VV table VV(1,1)= A C T_0 VV(2,1)= T_1 VV(3,1)= T_1 Finished 2 row of VV table VV(1,2)= VV(2,2)= VV(3,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string rejected by G, string is not in L(G) about to parse 011 run CYK algorithm to build array, size=3 Finished first row of VV table VV(1,1)= A C T_0 VV(2,1)= T_1 VV(3,1)= T_1 Finished 2 row of VV table VV(1,2)= VV(2,2)= VV(3,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string rejected by G, string is not in L(G)