1: /* ndu.h 4.1 85/03/19 */
2:
3: /*
4: * This file defines the basic tree node data structure for the PCC.
5: */
6:
7: union ndu {
8: struct { /* interior node */
9: int op;
10: int rall;
11: TWORD type;
12: int su;
13: #ifndef FLEXNAMES
14: char name[NCHNAM];
15: #else
16: char *name;
17: int stalign;
18: #endif
19: NODE *left;
20: NODE *right;
21: } in;
22: struct { /* terminal node */
23: int op;
24: int rall;
25: TWORD type;
26: int su;
27: #ifndef FLEXNAMES
28: char name[NCHNAM];
29: #else
30: char *name;
31: int stalign;
32: #endif
33: CONSZ lval;
34: int rval;
35: } tn;
36: struct { /* branch node */
37: int op;
38: int rall;
39: TWORD type;
40: int su;
41: int label; /* for use with branching */
42: } bn;
43: struct { /* structure node */
44: int op;
45: int rall;
46: TWORD type;
47: int su;
48: int stsize; /* sizes of structure objects */
49: int stalign; /* alignment of structure objects */
50: } stn;
51: struct { /* front node */
52: int op;
53: int cdim;
54: TWORD type;
55: int csiz;
56: } fn;
57: /*
58: * This structure is used when a double precision
59: * floating point constant is being computed
60: */
61: struct { /* DCON node */
62: int op;
63: TWORD type;
64: int cdim;
65: int csiz;
66: double dval;
67: } dpn;
68: /*
69: * This structure is used when a single precision
70: * floating point constant is being computed
71: */
72: struct { /* FCON node */
73: int op;
74: TWORD type;
75: int cdim;
76: int csiz;
77: float fval;
78: } fpn;
79: };
Defined union's
ndu
defined in line
7; used 2 times
Usage of this include