CONSTRUCTOR TABLES of the Grammar G8.grm
Parameters
File G8.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=8 tnr=4 BRC=1 Pnr=8 dep=1 itl=0 ktl=0
Alphabet V
File G8.t
# a b 1 T S A B
Scanner Table
File G8.tt
# a b 1
Tree of the Alphabet V
File G8.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=00491C90 def=00000000 (#)
D 00491A10: tunnus=1 code=4 L=1 loc=0 icx=0 left=00000000 right=00491970 def=00000000 (1)
D 00491710: tunnus=0 code=7 L=1 loc=0 icx=0 left=00000000 right=00491390 def=00492FE0 (A)
R 00492FE0: P=6 sem=0 n=1 d=00491030 alt=00000000
d 00491030: 4
D 00491390: tunnus=0 code=8 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00492F00 (B)
R 00492F00: P=7 sem=0 n=1 d=00492ED0 alt=00000000
d 00492ED0: 4
D 004918D0: tunnus=0 code=6 L=1 loc=0 icx=0 left=00491710 right=00000000 def=00491140 (S)
R 00491140: P=5 sem=0 n=3 d=00491100 alt=00491300
d 00491100: 3 8 2
R 00491300: P=4 sem=0 n=3 d=004912C0 alt=004914C0
d 004912C0: 2 8 3
R 004914C0: P=3 sem=0 n=3 d=00491480 alt=00491680
d 00491480: 3 7 3
R 00491680: P=2 sem=0 n=3 d=00491640 alt=00000000
d 00491640: 2 7 2
D 00491970: tunnus=0 code=5 L=1 loc=0 icx=0 left=004918D0 right=00000000 def=00491840 (T)
R 00491840: P=1 sem=0 n=3 d=00491800 alt=00000000
d 00491800: 1 6 1
D 00491C90: tunnus=1 code=2 L=1 loc=0 icx=0 left=00491A10 right=00491BF0 def=00000000 (a)
D 00491BF0: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (b)
Reduce Table
File G8.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 00492BB0: P=6 n=1 NT=7 d=00492B80 nc=1 same=00492B30 col=00000000 (A)
d 00492B80: 4
h 00492B30: P=7 n=1 NT=8 d=00492B00 nc=1 same=00000000 col=00000000 (B)
d 00492B00: 4
h 00492E80: P=1 n=3 NT=5 d=00492E40 nc=0 same=00000000 col=00000000 (T)
d 00492E40: 1 6 1
h 00492C40: P=2 n=3 NT=6 d=00492C00 nc=0 same=00000000 col=00492CD0 (S)
d 00492C00: 2 7 2
h 00492CD0: P=3 n=3 NT=6 d=00492C90 nc=0 same=00000000 col=00000000 (S)
d 00492C90: 3 7 3
h 00492D60: P=4 n=3 NT=6 d=00492D20 nc=0 same=00000000 col=00492DF0 (S)
d 00492D20: 2 8 3
h 00492DF0: P=5 n=3 NT=6 d=00492DB0 nc=0 same=00000000 col=00000000 (S)
d 00492DB0: 3 8 2
Precedence Matrix
File G8.pm
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
1 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0 |
2 | 4 | 0 | 0 | 2 | 0 | 0 | 1 | 1 |
3 | 4 | 0 | 0 | 2 | 0 | 0 | 1 | 1 |
4 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 0 |
5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
8 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Left Context
File G8.lc
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
8 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
Right Context
File G8.rc
Nr | 1 | 2 | 3 | 4 |
5 | 0 | 0 | 0 | 0 |
6 | 1 | 0 | 0 | 0 |
7 | 0 | 1 | 1 | 0 |
8 | 0 | 1 | 1 | 0 |
Dependent Context
File G8.dc
DEP[7]=00492920
L[2]=004928E0
rc[2]=1
L[3]=004928A0
rc[3]=1
DEP[8]=00492850
L[2]=00492810
rc[3]=1
L[3]=004927D0
rc[2]=1
Semantics
File G8.sm
1 2 3 4 5 6 7 8 9 10 11 0