Random Generated CFG 

> cfg1:=randomCFG(5,3);
 

`:=`(cfg1, CFG({V1, V0, V2, V3, V4}, {a1, a2, a3}, V0, TABLE([V4 = {[V1, V4, a2, V2], [V4, a3, a1, V2]}, V1 = {[V4]}, V2 = {[lambda]}])))
`:=`(cfg1, CFG({V1, V0, V2, V3, V4}, {a1, a2, a3}, V0, TABLE([V4 = {[V1, V4, a2, V2], [V4, a3, a1, V2]}, V1 = {[V4]}, V2 = {[lambda]}])))
(10.1.1)
 

> cfg2:=randomCFG(7,5);
 

`:=`(cfg2, CFG({V6, V5, V1, V0, V2, V3, V4}, {a5, a4, a1, a2, a3}, V0, TABLE([V4 = {[lambda]}, V0 = {[V3, V0, V4, a5, V2, a1, a4]}, V6 = {[a3, V6, V3, V0]}])))
`:=`(cfg2, CFG({V6, V5, V1, V0, V2, V3, V4}, {a5, a4, a1, a2, a3}, V0, TABLE([V4 = {[lambda]}, V0 = {[V3, V0, V4, a5, V2, a1, a4]}, V6 = {[a3, V6, V3, V0]}])))
(10.1.2)
 

> unionCFG(cfg1,cfg2);
 

CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
(10.1.3)
 

> concatenationCFG(cfg1,cfg2);
 

CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
CFG({_V0, _V_5, _V_6, _V_7, _V_10, _V_12, _V_11, _V_1, _V_3, _V_2, _V_9, _V_8, _V_4}, {a5, a4, a1, a2, a3}, _V0, TABLE([_V_5 = {[_V_2, _V_5, a2, _V_3], [_V_5, a3, a1, _V_3]}, _V_12 = {[a3, _V_12, _V_9...
(10.1.4)
 

> KleeneStarCFG(cfg1);
 

CFG({V1, V0, V2, V3, V4}, {a1, a2, a3}, V0, TABLE([V4 = {[V1, V4, a2, V2], [V4, a3, a1, V2]}, V1 = {[V4]}, V0 = {[V0, V0]}, V2 = {[lambda]}]))
CFG({V1, V0, V2, V3, V4}, {a1, a2, a3}, V0, TABLE([V4 = {[V1, V4, a2, V2], [V4, a3, a1, V2]}, V1 = {[V4]}, V0 = {[V0, V0]}, V2 = {[lambda]}]))
(10.1.5)
 

>