CONSTRUCTOR TABLES of the Grammar GA33.grm


Parameters

File GA33.prm
struct parm{
	int nr   //tähestiku V pikkus
	int tnr  //tähestiku VT pikkus
	int BRC  //0: G on pööratav
	int Pnr  //Produktsioonide arv
	int dep  //1: sõltuv kontekst
	int itl  //identifikaatorite arv (Parser)
	int ktl  //konstantide arv (Parser)
}

nr=9 tnr=4 BRC=1 Pnr=9 dep=0 itl=0 ktl=0


Alphabet V

File GA33.t
# a b c X1 X2 X3 X4 X5 




Scanner Table

File GA33.tt
# a b c  



Tree of the Alphabet V

File GA33.v
struct R{
int P; /* produktsiooni jrk-nr */
int sem; /* semantikakood */
int n; /* NT definitsiooni pikkus */
int *d; /* NT definitsioon */
struct R *alt; /* NT alternatiivne definitsioon */
}

struct D{
int tunnus; /* 0: NT, 1: T */
int code; /* vahekeelne kood */ int L; /* NT või id/const nime pikkus */ int loc; /* ident | const : nr */ int icx; /* itl või ktl - IT või KT index */ struct D *left; /* kahendpuu viidad (võti on T[code]) */ struct D *right; struct R *def; } D 00490040: tunnus=1 code=1 L=1 loc=0 icx=0 left=00000000 right=00491CD0 def=00000000 (#)
D 00491960: tunnus=0 code=5 L=2 loc=0 icx=0 left=00000000 right=00491870 def=004911F0 (X1)
R 004911F0: P=5 sem=0 n=4 d=004911B0 alt=004917E0
d 004911B0: 1 2 8 1
R 004917E0: P=1 sem=0 n=4 d=004917A0 alt=00000000
d 004917A0: 1 2 6 1
D 00491870: tunnus=0 code=6 L=2 loc=0 icx=0 left=00000000 right=00491660 def=00491500 (X2)
R 00491500: P=3 sem=0 n=1 d=004914D0 alt=00491620
d 004914D0: 3
R 00491620: P=2 sem=0 n=3 d=004915E0 alt=00000000
d 004915E0: 2 6 7
D 00491660: tunnus=0 code=7 L=2 loc=0 icx=0 left=00000000 right=00491280 def=004913F0 (X3)
R 004913F0: P=4 sem=0 n=1 d=004913C0 alt=00000000
d 004913C0: 3
D 00491280: tunnus=0 code=8 L=2 loc=0 icx=0 left=00000000 right=00491070 def=00492F00 (X4)
R 00492F00: P=7 sem=0 n=1 d=00492ED0 alt=00491030
d 00492ED0: 4
R 00491030: P=6 sem=0 n=3 d=00492FE0 alt=00000000
d 00492FE0: 2 8 9
D 00491070: tunnus=0 code=9 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492DF0 (X5)
R 00492DF0: P=8 sem=0 n=1 d=00492DC0 alt=00000000
d 00492DC0: 4
D 00491CD0: tunnus=1 code=2 L=1 loc=0 icx=0 left=00491960 right=00491BE0 def=00000000 (a)
D 00491BE0: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00491A00 def=00000000 (b)
D 00491A00: tunnus=1 code=4 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (c)

Reduce Table

File GA33.ht
struct h{
	int P;          /* produktsiooni jrk-nr */
	int n;          /* definitsiooni pikkus  */
	int NT;         /* defineeritav nonterminal  */
	int *d;         /* definitsioon */
	int nc;         /* 1 - sõltuv kontekst */
	char *c;        /* reservis */
	struct h *same; /* sama parem pool */
	struct h *col;  /* põrkeviit */
}

 h 00492A40: P=6 n=3 NT=8 d=00492A00 nc=0 same=00000000 col=00492BD0  (X4)
d 00492A00: 2 8 9
h 00492BD0: P=2 n=3 NT=6 d=00492B90 nc=0 same=00000000 col=00492C50 (X2)
d 00492B90: 2 6 7
h 00492C50: P=3 n=1 NT=6 d=00492C20 nc=0 same=00492B40 col=00000000 (X2)
d 00492C20: 3
h 00492B40: P=4 n=1 NT=7 d=00492B10 nc=0 same=00000000 col=00000000 (X3)
d 00492B10: 3
h 00492AC0: P=7 n=1 NT=8 d=00492A90 nc=0 same=004929B0 col=00492CE0 (X4)
d 00492A90: 4
h 004929B0: P=8 n=1 NT=9 d=00492980 nc=0 same=00000000 col=00000000 (X5)
d 00492980: 4
h 00492CE0: P=1 n=4 NT=5 d=00492CA0 nc=0 same=00000000 col=00000000 (X1)
d 00492CA0: 1 2 6 1
h 00492D70: P=5 n=4 NT=5 d=00492D30 nc=0 same=00000000 col=00000000 (X1)
d 00492D30: 1 2 8 1

Precedence Matrix

File GA33.pm
Nr123456789
1010000000
2022201010
3404000400
4400400004
5000000000
6102000100
7404000400
8100200001
9400400004



Left Context

File GA33.lc
Nr123456789
5000000000
6010000000
7000001000
8010000000
9000000010



Right Context

File GA33.rc
Nr1234
50000
61010
71010
81001
91001





Semantics

File GA33.sm

1 2 3 4 5 6 7 8 9 10 11 12 0