-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDD_kernel.h
More file actions
87 lines (72 loc) · 1.99 KB
/
DD_kernel.h
File metadata and controls
87 lines (72 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*---------------------------------------------------------------------------
* The following pertains to the addition of the symbol table information
* to the end of the .c file.
*---------------------------------------------------------------------------
*/
typedef char *DD_formal; /* for accept and create */
typedef DD_formal DD_formals[];
typedef struct {
char *name;
unsigned line; /* source location */
#ifndef CDB
unsigned tblockSize;
void (*convert)();
#endif
unsigned numFormals; /* number of entries in following field */
DD_formal *formals;
} DD_occur;
typedef struct { /* info about an occurrence of a un-named event */
unsigned line;
} DD_otherOccur;
typedef struct {
unsigned line;
unsigned termLine; /* location of a select terminate */
unsigned immedLine; /* location of a select immediate */
} DD_selectOccur;
typedef struct {
unsigned line;
#ifndef CDB
unsigned valueSize;
void (*convert)();
#endif
} DD_treturnOccur;
typedef DD_occur DD_occurs[];
typedef DD_otherOccur DD_otherOccurs[];
typedef DD_selectOccur DD_selectOccurs[];
typedef DD_treturnOccur DD_treturnOccurs[];
typedef struct {
char *name;
unsigned short space; /* namespace */
unsigned short num; /* namespace of subelements */
unsigned chain;
unsigned short obj; /* type */
} DD_symEntry;
typedef struct {
unsigned numAccepts;
DD_occur *accept;
unsigned numCreates;
DD_occur *create;
unsigned numTransacts;
DD_occur *transact;
unsigned numSelects;
DD_selectOccur *select;
unsigned numDelays;
DD_otherOccur *delay;
unsigned numTerminates;
DD_otherOccur *terminate;
unsigned numTreturns;
DD_treturnOccur *treturn;
} DD_ProcessTable;
typedef struct {
char *name;
DD_ProcessTable *table;
} DD_globalOccurs;
#ifndef CDB
typedef enum {
DD_askTable, DD_askCreate, DD_askAccept, DD_askTrans, DD_askTreturn
} DD_question;
#define DD_numAnd(x) sizeof x / sizeof x[0], x
DD_ProcessTable *DD_processTable;
char *DD_dummy; /* for the treturn sizeof */
extern char *DD_createArgs;
#endif