CONSTRUCTOR TABLES of the Grammar G23.grm


Parameters

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


Alphabet V

File G23.t
# a b 1 c d T S A B A1 S2 S3 




Scanner Table

File G23.tt
# a b 1 c d  



Tree of the Alphabet V

File G23.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=00491860 def=00000000 (1)
D 00491600: tunnus=0 code=9 L=1 loc=0 icx=0 left=00000000 right=00491280 def=00492C40 (A)
R 00492C40: P=8 sem=0 n=3 d=00492990 alt=00492F00
d 00492990: 11 9 5
R 00492F00: P=6 sem=0 n=1 d=00492ED0 alt=00000000
d 00492ED0: 4
D 00492A40: tunnus=0 code=11 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492A00 (A1)
R 00492A00: P=10 sem=0 n=1 d=004929D0 alt=00000000
d 004929D0: 5
D 00491280: tunnus=0 code=10 L=1 loc=0 icx=0 left=00492A40 right=00000000 def=00492AD0 (B)
R 00492AD0: P=9 sem=0 n=2 d=00492A90 alt=00492DF0
d 00492A90: 6 10
R 00492DF0: P=7 sem=0 n=1 d=00492DC0 alt=00000000
d 00492DC0: 4
D 004917C0: tunnus=0 code=8 L=1 loc=0 icx=0 left=00491600 right=00492940 def=00491030 (S)
R 00491030: P=5 sem=0 n=2 d=00492890 alt=004911F0
d 00492890: 12 2
R 004911F0: P=4 sem=0 n=2 d=00492790 alt=004913B0
d 00492790: 13 3
R 004913B0: P=3 sem=0 n=3 d=00491370 alt=00491570
d 00491370: 3 9 3
R 00491570: P=2 sem=0 n=3 d=00491530 alt=00000000
d 00491530: 2 9 2
D 00492940: tunnus=0 code=12 L=2 loc=0 icx=0 left=00000000 right=00492840 def=00492900 (S2)
R 00492900: P=11 sem=0 n=2 d=004928C0 alt=00000000
d 004928C0: 3 10
D 00492840: tunnus=0 code=13 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492800 (S3)
R 00492800: P=12 sem=0 n=2 d=004927C0 alt=00000000
d 004927C0: 2 10
D 00491860: tunnus=0 code=7 L=1 loc=0 icx=0 left=004917C0 right=00000000 def=00491730 (T)
R 00491730: P=1 sem=0 n=3 d=004916F0 alt=00000000
d 004916F0: 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=004918B0 def=00000000 (c)
D 004918B0: tunnus=1 code=6 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (d)

Reduce Table

File G23.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 004923E0: P=6 n=1 NT=9 d=004923B0 nc=1 same=004922D0 col=00000000  (A)
d 004923B0: 4
h 004922D0: P=7 n=1 NT=10 d=004922A0 nc=1 same=00000000 col=00000000 (B)
d 004922A0: 4
h 00492250: P=10 n=1 NT=11 d=00492220 nc=0 same=00000000 col=00000000 (A1)
d 00492220: 5
h 00492470: P=8 n=3 NT=9 d=00492430 nc=0 same=00000000 col=00000000 (A)
d 00492430: 11 9 5
h 00492140: P=12 n=2 NT=13 d=00492100 nc=0 same=00000000 col=00492740 (S3)
d 00492100: 2 10
h 00492740: P=1 n=3 NT=7 d=00492700 nc=0 same=00000000 col=00000000 (T)
d 00492700: 1 8 1
h 004921D0: P=11 n=2 NT=12 d=00492190 nc=0 same=00000000 col=00492500 (S2)
d 00492190: 3 10
h 00492500: P=2 n=3 NT=8 d=004924C0 nc=0 same=00000000 col=00492590 (S)
d 004924C0: 2 9 2
h 00492590: P=3 n=3 NT=8 d=00492550 nc=0 same=00000000 col=00000000 (S)
d 00492550: 3 9 3
h 00492360: P=9 n=2 NT=10 d=00492320 nc=0 same=00000000 col=00000000 (B)
d 00492320: 6 10
h 00492620: P=4 n=2 NT=8 d=004925E0 nc=0 same=00000000 col=004926B0 (S)
d 004925E0: 13 3
h 004926B0: P=5 n=2 NT=8 d=00492670 nc=0 same=00000000 col=00000000 (S)
d 00492670: 12 2

Precedence Matrix

File G23.pm
Nr12345678910111213
10220000100022
24002220011200
34002220011200
40440400000000
50444400040400
60002020001000
70000000000000
81000000000000
90110100000000
100440000000000
110002200010200
120100000000000
130010000000000



Left Context

File G23.lc
Nr12345678910111213
70000000000000
81000000000000
90110000000100
100110010000000
110110000000100
121000000000000
131000000000000



Right Context

File G23.rc
Nr123456
7000000
8100000
9011010
10011000
11000110
12010000
13001000





Dependent Context

File G23.dc

DEP[9]=00493DD0
L[2]=00493D50
rc[2]=1
L[3]=00493D10
rc[3]=1
L[11]=00493D90
rc[5]=1

DEP[10]=00493CA0
L[2]=00493C60
rc[3]=1
L[3]=00493C20
rc[2]=1
L[6]=00493BE0
rc[2]=1 rc[3]=1



Semantics

File G23.sm

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