CONSTRUCTOR TABLES of the Grammar G41.grm
Parameters
File G41.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=5 BRC=1 Pnr=12 dep=0 itl=0 ktl=0
Alphabet V
File G41.t
# a b 1 0 T S A B C D B1 B2
Scanner Table
File G41.tt
# a b 1 0
Tree of the Alphabet V
File G41.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 00491B90: tunnus=1 code=5 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (0)
D 00491BE0: tunnus=1 code=4 L=1 loc=0 icx=0 left=00491B90 right=004918C0 def=00000000 (1)
D 00491660: tunnus=0 code=8 L=1 loc=0 icx=0 left=00000000 right=004914F0 def=00491180 (A)
R 00491180: P=5 sem=0 n=2 d=00491140 alt=004912F0
d 00491140: 5 4
R 004912F0: P=4 sem=0 n=3 d=004912B0 alt=00000000
d 004912B0: 10 8 4
D 004914F0: tunnus=0 code=9 L=1 loc=0 icx=0 left=00000000 right=004913D0 def=00492D80 (B)
R 00492D80: P=7 sem=0 n=2 d=00492A20 alt=00492F40
d 00492A20: 12 4
R 00492F40: P=6 sem=0 n=2 d=00492920 alt=00000000
d 00492920: 13 4
D 00492AD0: tunnus=0 code=12 L=2 loc=0 icx=0 left=00000000 right=004929D0 def=00492A90 (B1)
R 00492A90: P=10 sem=0 n=2 d=00492A50 alt=00000000
d 00492A50: 5 4
D 004929D0: tunnus=0 code=13 L=2 loc=0 icx=0 left=00000000 right=00000000 def=00492990 (B2)
R 00492990: P=11 sem=0 n=3 d=00492950 alt=00000000
d 00492950: 11 9 4
D 004913D0: tunnus=0 code=10 L=1 loc=0 icx=0 left=00492AD0 right=004910A0 def=00492C60 (C)
R 00492C60: P=8 sem=0 n=1 d=00492C30 alt=00000000
d 00492C30: 5
D 004910A0: tunnus=0 code=11 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00492B50 (D)
R 00492B50: P=9 sem=0 n=1 d=00492B20 alt=00000000
d 00492B20: 5
D 00491820: tunnus=0 code=7 L=1 loc=0 icx=0 left=00491660 right=00000000 def=004914B0 (S)
R 004914B0: P=3 sem=0 n=2 d=00491470 alt=00491620
d 00491470: 3 9
R 00491620: P=2 sem=0 n=2 d=004915E0 alt=00000000
d 004915E0: 2 8
D 004918C0: tunnus=0 code=6 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 7 1
D 00491C80: tunnus=1 code=2 L=1 loc=0 icx=0 left=00491BE0 right=00491C30 def=00000000 (a)
D 00491C30: tunnus=1 code=3 L=1 loc=0 icx=0 left=00000000 right=00000000 def=00000000 (b)
Reduce Table
File G41.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 00492720: P=5 n=2 NT=8 d=004926E0 nc=0 same=00492460 col=00000000 (A)
d 004926E0: 5 4
h 00492460: P=10 n=2 NT=12 d=00492420 nc=0 same=00000000 col=00000000 (B1)
d 00492420: 5 4
h 004924E0: P=8 n=1 NT=10 d=004924B0 nc=0 same=00492340 col=00000000 (C)
d 004924B0: 5
h 00492340: P=9 n=1 NT=11 d=00492310 nc=0 same=00000000 col=00000000 (D)
d 00492310: 5
h 004923D0: P=11 n=3 NT=13 d=00492390 nc=0 same=00000000 col=00492690 (B2)
d 00492390: 11 9 4
h 00492690: P=4 n=3 NT=8 d=00492650 nc=0 same=00000000 col=00000000 (A)
d 00492650: 10 8 4
h 004928D0: P=1 n=3 NT=6 d=00492890 nc=0 same=00000000 col=00000000 (T)
d 00492890: 1 7 1
h 00492600: P=7 n=2 NT=9 d=004925C0 nc=0 same=00000000 col=00000000 (B)
d 004925C0: 12 4
h 00492570: P=6 n=2 NT=9 d=00492530 nc=0 same=00000000 col=00000000 (B)
d 00492530: 13 4
h 004927B0: P=2 n=2 NT=7 d=00492770 nc=0 same=00000000 col=00492840 (S)
d 00492770: 2 8
h 00492840: P=3 n=2 NT=7 d=00492800 nc=0 same=00000000 col=00000000 (S)
d 00492800: 3 9
Precedence Matrix
File G41.pm
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 2 | 2 |
4 | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
5 | 0 | 0 | 0 | 1 | 4 | 0 | 0 | 4 | 4 | 4 | 4 | 4 | 4 |
6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
10 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 |
11 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 2 | 2 | 2 |
12 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
13 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Left Context
File G41.lc
Nr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
8 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
9 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
10 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
11 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
12 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
13 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Right Context
File G41.rc
Nr | 1 | 2 | 3 | 4 | 5 |
6 | 0 | 0 | 0 | 0 | 0 |
7 | 1 | 0 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 1 | 0 |
9 | 1 | 0 | 0 | 1 | 0 |
10 | 0 | 0 | 0 | 0 | 1 |
11 | 0 | 0 | 0 | 0 | 1 |
12 | 0 | 0 | 0 | 1 | 0 |
13 | 0 | 0 | 0 | 1 | 0 |
Semantics
File G41.sm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0