CONSTRUCTOR TABLES of the Grammar G27.grm


Parameters

File G27.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=14 tnr=6 BRC=1 Pnr=14 dep=1 itl=0 ktl=0


Alphabet V

File G27.t
# a b 1 c d T S A B S1 S2 S3 S4 




Scanner Table

File G27.tt
# a b 1 c d  



Tree of the Alphabet V

File G27.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=00491C70 def=00000000 (#)
D 004919F0: tunnus=1 code=4 L=1 loc=0 icx=0 left=00000000 right=004918B0 def=00000000 (1)
D 00491650: tunnus=0 code=9 L=1 loc=0 icx=0 left=00000000 right=004912D0 def=00492CD0 (A)
R 00492CD0: P=8 sem=0 n=2 d=00492C90 alt=00492F40
d 00492C90: 10 5
R 00492F40: P=6 sem=0 n=1 d=00492F10 alt=00000000
d 00492F10: 4
D 004912D0: tunnus=0 code=10 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00492B60 (B)
R 00492B60: P=9 sem=0 n=2 d=00492B20 alt=00492E30
d 00492B20: 9 6
R 00492E30: P=7 sem=0 n=1 d=00492E00 alt=00000000
d 00492E00: 4
D 00491810: tunnus=0 code=8 L=1 loc=0 icx=0 left=00491650 right=00492AD0 def=00491080 (S)
R 00491080: P=5 sem=0 n=2 d=004926E0 alt=00491240
d 004926E0: 3 14
R 00491240: P=4 sem=0 n=2 d=00492900 alt=00491400
d 00492900: 2 12
R 00491400: P=3 sem=0 n=2 d=004927F0 alt=004915C0
d 004927F0: 3 13
R 004915C0: P=2 sem=0 n=2 d=00492A10 alt=00000000
d 00492A10: 2 11
D 00492AD0: tunnus=0 code=11 L=2 loc=0 icx=0 left=00000000 right=004929C0 def=00492A90 (S1)
R 00492A90: P=10 sem=0 n=2 d=00492A50 alt=00000000
d 00492A50: 9 2
D 004929C0: tunnus=0 code=12 L=2 loc=0 icx=0 left=00000000 right=004928B0 def=00492980 (S2)
R 00492980: P=11 sem=0 n=2 d=00492940 alt=00000000
d 00492940: 10 3
D 004928B0: tunnus=0 code=13 L=2 loc=0 icx=0 left=00000000 right=004927A0 def=00492870 (S3)
R 00492870: P=12 sem=0 n=2 d=00492830 alt=00000000
d 00492830: 9 3
D 004927A0: tunnus=0 code=14 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492760 (S4)
R 00492760: P=13 sem=0 n=2 d=00492720 alt=00000000
d 00492720: 10 2
D 004918B0: tunnus=0 code=7 L=1 loc=0 icx=0 left=00491810 right=00000000 def=00491780 (T)
R 00491780: P=1 sem=0 n=3 d=00491740 alt=00000000
d 00491740: 1 8 1
D 00491C70: tunnus=1 code=2 L=1 loc=0 icx=0 left=004919F0 right=00491BD0 def=00000000 (a)
D 00491BD0: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00491950 def=00000000 (b)
D 00491950: tunnus=1 code=5 L=1 loc=0 icx=0 left=00000000 right=00491900 def=00000000 (c)
D 00491900: tunnus=1 code=6 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (d)

Reduce Table

File G27.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 00492330: P=6 n=1 NT=9 d=00492300 nc=1 same=00492220 col=00000000  (A)
d 00492300: 4
h 00492220: P=7 n=1 NT=10 d=004921F0 nc=1 same=00000000 col=00000000 (B)
d 004921F0: 4
h 00493FD0: P=13 n=2 NT=14 d=00493F90 nc=0 same=00000000 col=00492690 (S4)
d 00493F90: 10 2
h 00492690: P=1 n=3 NT=7 d=00492650 nc=0 same=00000000 col=00000000 (T)
d 00492650: 1 8 1
h 00492110: P=11 n=2 NT=12 d=004920D0 nc=0 same=00000000 col=00492450 (S2)
d 004920D0: 10 3
h 00492450: P=2 n=2 NT=8 d=00492410 nc=0 same=00000000 col=00000000 (S)
d 00492410: 2 11
h 00492080: P=12 n=2 NT=13 d=00492040 nc=0 same=00000000 col=00000000 (S3)
d 00492040: 9 3
h 004921A0: P=10 n=2 NT=11 d=00492160 nc=0 same=00000000 col=00000000 (S1)
d 00492160: 9 2
h 00492600: P=5 n=2 NT=8 d=004925C0 nc=0 same=00000000 col=00000000 (S)
d 004925C0: 3 14
h 004924E0: P=3 n=2 NT=8 d=004924A0 nc=0 same=00000000 col=00492570 (S)
d 004924A0: 3 13
h 00492570: P=4 n=2 NT=8 d=00492530 nc=0 same=00000000 col=00000000 (S)
d 00492530: 2 12
h 004922B0: P=9 n=2 NT=10 d=00492270 nc=0 same=00000000 col=004923C0 (B)
d 00492270: 9 6
h 004923C0: P=8 n=2 NT=9 d=00492380 nc=0 same=00000000 col=00000000 (A)
d 00492380: 10 5

Precedence Matrix

File G27.pm
Nr1234567891011121314
102200001000000
240020000221100
340020000220011
404404400000000
504400400000000
604404000000000
700000000000000
810000000000000
901100100000000
1001101000000000
1140000000000000
1240000000000000
1340000000000000
1440000000000000



Left Context

File G27.lc
Nr1234567891011121314
700000000000000
810000000000000
901100000000000
1001100000000000
1101000000000000
1201000000000000
1300100000000000
1400100000000000



Right Context

File G27.rc
Nr123456
7000000
8100000
9011001
10011010
11100000
12100000
13100000
14100000





Dependent Context

File G27.dc

DEP[9]=00493C50
L[2]=00493BD0
rc[2]=1 rc[6]=1
L[3]=00493C10
rc[3]=1 rc[6]=1

DEP[10]=00493B60
L[2]=00493AE0
rc[3]=1 rc[5]=1
L[3]=00493B20
rc[2]=1 rc[5]=1



Semantics

File G27.sm

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0