1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
2: /* $Header: tabl.h,v 2.0 84/06/18 15:47:24 guido Exp $ */
3:
4: /*
5: * B editor -- Grammar table structure.
6: */
7:
8:
9: typedef char classelem;
10: /* change into short if symbol or lexical values can exceed 127! */
11:
12: typedef classelem *classptr;
13:
14: struct classinfo {
15: classptr c_class; /* List of possible classes */
16: /* The following fields are initialized dynamically */
17: classptr c_insert; /* List of pairs (char, class) for insertion */
18: classptr c_append; /* Ditto for append to child already there */
19: classptr c_join; /* Ditto for join of child with new node */
20: };
21:
22: #define MAXCHILD 4 /* Max. # of children per node. */
23:
24:
25: struct table {
26: short r_symbol; /* Redundant, used for checking consistency */
27: string r_name;
28: string r_repr[MAXCHILD+1];
29: /* There are entries [0..nch] inclusive. */
30: struct classinfo *r_class[MAXCHILD];
31: /* Must be indexed with [ich-1] !! */
32: node r_node;
33: };
34:
35: extern struct table *table;
36:
37: #define TABLEN (Hole+1)
38:
39: extern char code_array[];
40: extern char invcode_array[];
41: extern int lastcode;
42:
43: #define Code(c) code_array[c]
44: #define Invcode(code) invcode_array[code]
Defined struct's
classinfo
defined in line
14; used 192 times
- in line 30(2)
- in /usr/src/new/PORT/B/src/bed/gram.c line
28(2),
149-150(4),
340(2)
- in /usr/src/new/PORT/B/src/bed/inse.c line
33(2),
102(2),
143(2),
214(2)
- in /usr/src/new/PORT/B/src/bed/mkboot.c line
23(2),
41-42(4),
175(2),
292(2),
313(4),
327(2),
347(2),
406(2)
- in /usr/src/new/PORT/B/src/bed/que2.c line
606(2),
663(2),
739(2),
789(2)
- in /usr/src/new/PORT/B/src/bed/tabl.c line
170(2),
178-235(50),
241-254(14),
266-268(4),
287-375(76)
table
defined in line
25; used 28 times
Defined typedef's
classptr
defined in line
12; used 22 times
- in line 15-19(4)
- in /usr/src/new/PORT/B/src/bed/gram.c line
30,
215
- in /usr/src/new/PORT/B/src/bed/inse.c line
34,
103,
144,
215
- in /usr/src/new/PORT/B/src/bed/mkboot.c line
25,
171,
179-180(2),
270-276(4)
- in /usr/src/new/PORT/B/src/bed/que2.c line
607,
664,
740,
791
Defined macros
Code
defined in line
43; used 5 times
TABLEN
defined in line
37; used 20 times
- in /usr/src/new/PORT/B/src/bed/gram.c line
77,
93,
112,
135,
161,
197,
226,
300,
386
- in /usr/src/new/PORT/B/src/bed/inse.c line
62,
112,
164,
268
- in /usr/src/new/PORT/B/src/bed/mkboot.c line
50,
160,
196,
221,
301-302(2),
318
Usage of this include