cykp v0.9 starting adding production A1 -> A2 A3 adding production A2 -> A3 A1 adding production A2 -> b adding production A3 -> A1 A2 adding production A3 -> a reading input finished. Start symbol: A1 Variables: A1 A2 A3 Terminals: a b Sorted productions: A1 -> A2 A3 A2 -> A3 A1 A2 -> b A3 -> A1 A2 A3 -> a Eliminate epslion Productions Eliminate Unit Productions after eliminate, sorted productions: A1 -> A2 A3 A2 -> A3 A1 A2 -> b A3 -> A1 A2 A3 -> a after eliminate, Variables: A1 A2 A3 Chomsky 1, replace terminal with variable Chomsky part 1, sorted productions: A1 -> A2 A3 A2 -> A3 A1 A2 -> b A3 -> A1 A2 A3 -> a Chomsky Part 2 generated productions after Chomsky, sorted productions: A1 -> A2 A3 A2 -> A3 A1 A2 -> b A3 -> A1 A2 A3 -> a after Chomsky, Variables: A1 A2 A3 about to parse ba run CYK algorithm to build array, size=2 Finished first row of VV table VV(1,1)= A2 VV(2,1)= A3 Finished 2 row of VV table VV(1,2)= A1 VV(2,2)= 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 ababab run CYK algorithm to build array, size=6 Finished first row of VV table VV(1,1)= A3 VV(2,1)= A2 VV(3,1)= A3 VV(4,1)= A2 VV(5,1)= A3 VV(6,1)= A2 Finished 2 row of VV table VV(1,2)= VV(2,2)= A1 VV(3,2)= VV(4,2)= A1 VV(5,2)= VV(6,2)= Finished 3 row of VV table VV(1,3)= A2 VV(2,3)= A3 VV(3,3)= A2 VV(4,3)= A3 VV(5,3)= VV(6,3)= Finished 4 row of VV table VV(1,4)= VV(2,4)= VV(3,4)= VV(4,4)= VV(5,4)= VV(6,4)= Finished 5 row of VV table VV(1,5)= VV(2,5)= VV(3,5)= VV(4,5)= VV(5,5)= VV(6,5)= Finished 6 row of VV table VV(1,6)= A1 VV(2,6)= VV(3,6)= VV(4,6)= VV(5,6)= VV(6,6)= 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 aabb run CYK algorithm to build array, size=4 Finished first row of VV table VV(1,1)= A3 VV(2,1)= A3 VV(3,1)= A2 VV(4,1)= A2 Finished 2 row of VV table VV(1,2)= VV(2,2)= VV(3,2)= VV(4,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= VV(4,3)= Finished 4 row of VV table VV(1,4)= VV(2,4)= VV(3,4)= VV(4,4)= 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 bbaa run CYK algorithm to build array, size=4 Finished first row of VV table VV(1,1)= A2 VV(2,1)= A2 VV(3,1)= A3 VV(4,1)= A3 Finished 2 row of VV table VV(1,2)= VV(2,2)= A1 VV(3,2)= VV(4,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= VV(4,3)= Finished 4 row of VV table VV(1,4)= VV(2,4)= VV(3,4)= VV(4,4)= 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 bbaa run CYK algorithm to build array, size=4 Finished first row of VV table VV(1,1)= A2 VV(2,1)= A2 VV(3,1)= A3 VV(4,1)= A3 Finished 2 row of VV table VV(1,2)= VV(2,2)= A1 VV(3,2)= VV(4,2)= Finished 3 row of VV table VV(1,3)= VV(2,3)= VV(3,3)= VV(4,3)= Finished 4 row of VV table VV(1,4)= VV(2,4)= VV(3,4)= VV(4,4)= finish CYK algorithm, check for S in VV[1][n]and thus Accepted string rejected by G, string is not in L(G)