CONSTRUCTOR TABLES of the Grammar G9.grm


Parameters

File G9.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 G9.t
# a b 1 c d T S A B S1 S2 S3 S4 




Scanner Table

File G9.tt
# a b 1 c d  



Tree of the Alphabet V

File G9.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=00491C80 def=00000000 (#)
D 00491A00: tunnus=1 code=4 L=1 loc=0 icx=0 left=00000000 right=004918C0 def=00000000 (1)
D 00491660: tunnus=0 code=9 L=1 loc=0 icx=0 left=00000000 right=004912E0 def=00492CD0 (A)
R 00492CD0: P=8 sem=0 n=2 d=00492C90 alt=00492F40
d 00492C90: 9 5
R 00492F40: P=6 sem=0 n=1 d=00492F10 alt=00000000
d 00492F10: 4
D 004912E0: 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: 6 10
R 00492E30: P=7 sem=0 n=1 d=00492E00 alt=00000000
d 00492E00: 4
D 00491820: tunnus=0 code=8 L=1 loc=0 icx=0 left=00491660 right=00492AD0 def=00491090 (S)
R 00491090: P=5 sem=0 n=2 d=00492800 alt=00491250
d 00492800: 13 2
R 00491250: P=4 sem=0 n=2 d=00492700 alt=00491410
d 00492700: 14 3
R 00491410: P=3 sem=0 n=2 d=00492900 alt=004915D0
d 00492900: 3 12
R 004915D0: 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: 9 3
D 004928B0: tunnus=0 code=13 L=2 loc=0 icx=0 left=00000000 right=004927B0 def=00492870 (S3)
R 00492870: P=12 sem=0 n=2 d=00492830 alt=00000000
d 00492830: 3 10
D 004927B0: tunnus=0 code=14 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492770 (S4)
R 00492770: P=13 sem=0 n=2 d=00492730 alt=00000000
d 00492730: 2 10
D 004918C0: tunnus=0 code=7 L=1 loc=0 icx=0 left=00491820 right=00000000 def=00491790 (T)
R 00491790: P=1 sem=0 n=3 d=00491750 alt=00000000
d 00491750: 1 8 1
D 00491C80: tunnus=1 code=2 L=1 loc=0 icx=0 left=00491A00 right=00491BE0 def=00000000 (a)
D 00491BE0: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00491960 def=00000000 (b)
D 00491960: tunnus=1 code=5 L=1 loc=0 icx=0 left=00000000 right=00491910 def=00000000 (c)
D 00491910: tunnus=1 code=6 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (d)

Reduce Table

File G9.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 00492350: P=6 n=1 NT=9 d=00492320 nc=1 same=00492240 col=00000000  (A)
d 00492320: 4
h 00492240: P=7 n=1 NT=10 d=00492210 nc=1 same=00000000 col=00000000 (B)
d 00492210: 4
h 00493FD0: P=13 n=2 NT=14 d=00493F90 nc=0 same=00000000 col=004926B0 (S4)
d 00493F90: 2 10
h 004926B0: P=1 n=3 NT=7 d=00492670 nc=0 same=00000000 col=00000000 (T)
d 00492670: 1 8 1
h 004920A0: P=12 n=2 NT=13 d=00492060 nc=0 same=00000000 col=00492470 (S3)
d 00492060: 3 10
h 00492470: P=2 n=2 NT=8 d=00492430 nc=0 same=00000000 col=00000000 (S)
d 00492430: 2 11
h 00492130: P=11 n=2 NT=12 d=004920F0 nc=0 same=00000000 col=00000000 (S2)
d 004920F0: 9 3
h 004921C0: P=10 n=2 NT=11 d=00492180 nc=0 same=00000000 col=00000000 (S1)
d 00492180: 9 2
h 004922D0: P=9 n=2 NT=10 d=00492290 nc=0 same=00000000 col=004923E0 (B)
d 00492290: 6 10
h 004923E0: P=8 n=2 NT=9 d=004923A0 nc=0 same=00000000 col=00000000 (A)
d 004923A0: 9 5
h 00492590: P=4 n=2 NT=8 d=00492550 nc=0 same=00000000 col=00000000 (S)
d 00492550: 14 3
h 00492500: P=3 n=2 NT=8 d=004924C0 nc=0 same=00000000 col=00492620 (S)
d 004924C0: 3 12
h 00492620: P=5 n=2 NT=8 d=004925E0 nc=0 same=00000000 col=00000000 (S)
d 004925E0: 13 2

Precedence Matrix

File G9.pm
Nr1234567891011121314
102200001000022
240020200211000
340020200210100
404404000000000
504404000000000
600020200010000
700000000000000
810000000000000
901101000000000
1004400000000000
1140000000000000
1240000000000000
1301000000000000
1400100000000000



Left Context

File G9.lc
Nr1234567891011121314
700000000000000
810000000000000
901100000000000
1001100100000000
1101000000000000
1200100000000000
1310000000000000
1410000000000000



Right Context

File G9.rc
Nr123456
7000000
8100000
9011010
10011000
11100000
12100000
13010000
14001000





Dependent Context

File G9.dc

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

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



Semantics

File G9.sm

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