CONSTRUCTOR TABLES of the Grammar GA15.grm
Parameters
File GA15.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=9 BRC=0 Pnr=13 dep=0 itl=0 ktl=0
Alphabet V
File GA15.t
# 0 1 2 3 4 5 6 7 S N A S1
Scanner Table
File GA15.tt
# 0 1 2 3 4 5 6 7
Tree of the Alphabet V
File GA15.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 00491C80: tunnus=1 code=2 L=1 loc=0 icx=0 left=00000000 right=00491C30 def=00000000 (0)
D 00491C30: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00491BE0 def=00000000 (1)
D 00491BE0: tunnus=1 code=4 L=1 loc=0 icx=0 left=00000000 right=00491B90 def=00000000 (2)
D 00491B90: tunnus=1 code=5 L=1 loc=0 icx=0 left=00000000 right=00491B40 def=00000000 (3)
D 00491B40: tunnus=1 code=6 L=1 loc=0 icx=0 left=00000000 right=00491AF0 def=00000000 (4)
D 00491AF0: tunnus=1 code=7 L=1 loc=0 icx=0 left=00000000 right=00491AA0 def=00000000 (5)
D 00491AA0: tunnus=1 code=8 L=1 loc=0 icx=0 left=00000000 right=00491A50 def=00000000 (6)
D 00491A50: tunnus=1 code=9 L=1 loc=0 icx=0 left=00000000 right=00491A00 def=00000000 (7)
D 004917F0: tunnus=0 code=12 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00492DB0 (A)
R 00492DB0: P=11 sem=0 n=1 d=00492D80 alt=00492EC0
d 00492D80: 9
R 00492EC0: P=10 sem=0 n=1 d=00492E90 alt=00491030
d 00492E90: 8
R 00491030: P=9 sem=0 n=1 d=00492FA0 alt=004910F0
d 00492FA0: 7
R 004910F0: P=8 sem=0 n=1 d=004910C0 alt=00491200
d 004910C0: 6
R 00491200: P=7 sem=0 n=1 d=004911D0 alt=00491310
d 004911D0: 5
R 00491310: P=6 sem=0 n=1 d=004912E0 alt=00491420
d 004912E0: 4
R 00491420: P=5 sem=0 n=1 d=004913F0 alt=00491530
d 004913F0: 3
R 00491530: P=4 sem=0 n=1 d=00491500 alt=00000000
d 00491500: 2
D 00491960: tunnus=0 code=11 L=1 loc=0 icx=0 left=004917F0 right=00000000 def=00491650 (N)
R 00491650: P=3 sem=0 n=2 d=00491610 alt=004917B0
d 00491610: 11 12
R 004917B0: P=2 sem=0 n=1 d=00491780 alt=00000000
d 00491780: 12
D 00491A00: tunnus=0 code=10 L=1 loc=0 icx=0 left=00491960 right=00492D30 def=004918D0 (S)
R 004918D0: P=1 sem=0 n=2 d=00492C70 alt=00000000
d 00492C70: 1 13
D 00492D30: tunnus=0 code=13 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492CF0 (S1)
R 00492CF0: P=12 sem=0 n=2 d=00492CB0 alt=00000000
d 00492CB0: 11 1
Reduce Table
File GA15.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 00492700: P=4 n=1 NT=12 d=004926D0 nc=0 same=00000000 col=00000000 (A)
d 004926D0: 2
h 00492780: P=5 n=1 NT=12 d=00492750 nc=0 same=00000000 col=00000000 (A)
d 00492750: 3
h 00492800: P=6 n=1 NT=12 d=004927D0 nc=0 same=00000000 col=00000000 (A)
d 004927D0: 4
h 00492880: P=7 n=1 NT=12 d=00492850 nc=0 same=00000000 col=00000000 (A)
d 00492850: 5
h 00492900: P=8 n=1 NT=12 d=004928D0 nc=0 same=00000000 col=00000000 (A)
d 004928D0: 6
h 00492980: P=9 n=1 NT=12 d=00492950 nc=0 same=00000000 col=00492B90 (A)
d 00492950: 7
h 00492B90: P=3 n=2 NT=11 d=00492B50 nc=0 same=00000000 col=00000000 (N)
d 00492B50: 11 12
h 00492A00: P=10 n=1 NT=12 d=004929D0 nc=0 same=00000000 col=00000000 (A)
d 004929D0: 8
h 00492A80: P=11 n=1 NT=12 d=00492A50 nc=0 same=00000000 col=00000000 (A)
d 00492A50: 9
h 00492680: P=12 n=2 NT=13 d=00492640 nc=0 same=00000000 col=00000000 (S1)
d 00492640: 11 1
h 00492B00: P=2 n=1 NT=11 d=00492AD0 nc=0 same=00000000 col=00492C20 (N)
d 00492AD0: 12
h 00492C20: P=1 n=2 NT=10 d=00492BE0 nc=0 same=00000000 col=00000000 (S)
d 00492BE0: 1 13
Precedence Matrix
File GA15.pm
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
1 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0 | 2 | 2 | 1 |
2 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
5 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
6 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
7 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
8 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
9 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0 | 0 | 1 | 0 |
12 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 4 | 0 |
13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Semantics
File GA15.sm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0