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
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
1 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 |
2 | 4 | 0 | 0 | 2 | 2 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 |
3 | 4 | 0 | 0 | 2 | 2 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 0 |
4 | 0 | 4 | 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
5 | 0 | 4 | 4 | 4 | 4 | 0 | 0 | 0 | 4 | 0 | 4 | 0 | 0 |
6 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
10 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 |
12 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
13 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Left Context
File G23.lc
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
10 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Right Context
File G23.rc
Nr | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 |
9 | 0 | 1 | 1 | 0 | 1 | 0 |
10 | 0 | 1 | 1 | 0 | 0 | 0 |
11 | 0 | 0 | 0 | 1 | 1 | 0 |
12 | 0 | 1 | 0 | 0 | 0 | 0 |
13 | 0 | 0 | 1 | 0 | 0 | 0 |
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