cykp v1.2 starting adding production S -> a X b adding production S -> a A adding production S -> A B adding production S -> a S a S a adding production A -> B adding production A -> a adding production B -> A adding production C -> a adding production S -> #e adding production C -> #e reading input finished. Start symbol: S Variables: A B C S X Terminals: a b Sorted productions: A -> B A -> a B -> A C -> #e C -> a S -> #e S -> A B S -> a A S -> a S a S a S -> a X b cyk_eliminate 1a) newv= A C S cyk_eliminate 1a) n newv= A B C S eliminate temp= X lemma 4.1 variables removed: X cyk_eliminate 1b) newv= A B S newt= a lemma 4.2 variables removed: C lemma 4.2 terminals removed: b deleting useless production: C -> #e deleting useless production: C -> a deleting useless production: S -> a X b cyk_eliminate 2) Eliminate epslion Productions nullable variable: S nullable variable: S deleting epsilon production: S -> #e adding with no #e:0 S -> a a a adding with no #e:1 S -> a S a a adding with no #e:2 S -> a a S a cyk_eliminate 3) Eliminate Unit Productions after eliminate, Variables: A B S after eliminate, Terminals: a after eliminate, sorted productions: A -> a B -> a S -> A B S -> a A S -> a S a S a S -> a S a a S -> a a S a S -> a a a Chomsky 1, replace terminal with variable Chomsky part 1, sorted productions: A -> a B -> a S -> A B S -> T_a A S -> T_a S T_a S T_a S -> T_a S T_a T_a S -> T_a T_a S T_a S -> T_a T_a T_a T_a -> a Chomsky Part 2 generated productions C_ST_a -> S T_a C_T_aS -> T_a S C_ST_a -> S T_a C_T_aT_a -> T_a T_a C_ST_a -> S T_a C_ST_a -> S T_a C_T_aS -> T_a S C_T_aT_a -> T_a T_a after Chomsky, sorted productions: A -> a B -> a C_ST_a -> S T_a C_T_aS -> T_a S C_T_aT_a -> T_a T_a S -> A B S -> T_a A S -> T_a C_ST_a S -> T_a C_T_aS S -> T_a C_T_aT_a T_a -> a after Chomsky, Variables: A B C_ST_a C_T_aS C_T_aT_a S T_a about to parse aa run CYK algorithm to build array, size=2 Finished first row of VV table VV(1,1)= A B T_a VV(2,1)= A B T_a Finished 2 row of VV table VV(1,2)= C_T_aT_a S 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 run CYK algorithm to build array, size=0 null string accepted by G, string is in L(G) about to parse a run CYK algorithm to build array, size=1 Finished first row of VV table VV(1,1)= A B T_a finish CYK algorithm, check for S in VV[1][n]and thus Accepted string rejected by G, string is not in L(G)