Regular Grammars 

> P:=table():
P[(S)]:={[a,A]}: P[(A)]:={[a],[\lambda]}:
G:=RG({S,A},{a},S,op(P));
 

`:=`(G, RG({S, A}, {a}, S, TABLE([S = {[a, A]}, A = {[a], [lambda]}]))) (9.1)
 

>
 

Right-Linear Grammars 

Left-Linear Grammars 

> P:=table():
P[(S)]:={[B,a,a]}: P[(A)]:={[a],[\lambda]}:
G:=mkLLG({S,A,B},{a},S,op(P));
 

`:=`(G, LLG({S, B, A}, {a}, S, TABLE([S = {[B, a, a]}, A = {[a], [lambda]}]))) (9.2.1)
 

>
 

>
 

Conversion 

Derivation Trees 

> P1:=table():
P1[(S)]:={[a,A]}: P1[(A)]:={[a],[\lambda]}:
G1:=RG({S,A},{a},S,op(P1));
 

`:=`(G1, RG({S, A}, {a}, S, TABLE([S = {[a, A]}, A = {[a], [lambda]}]))) (9.4.1)
 

> D1:=[S=[a,A],[[A=[a],[]]]];
derivationTree(G1,D1);
 

`:=`(D1, [S = [a, A], [[A = [a], []]]])
 

Plot_2d
 

>