|
|
1.1 root 1: /*
2: ** 3-dimensional table:
3: ** one row per state
4: ** one column per event
5: ** one `pilar' per possible response
6: */
7:
8: struct ENTRY {
9: int nrpils; /* size of pilar stack */
10: struct PILAR *pilar;
11: struct ENTRY *nextrow;
12: struct ENTRY *nextcol;
13: };
14: struct PILAR {
15: int transf; /* row transition function */
16: int code; /* output message or bltin index */
17: struct PILAR *nxtp; /* last pilar points to NULL */
18: };
19:
20: struct COL {
21: int coltype; /* msg, spont, tau, default, task, condition */
22: int ccode;
23: };
24:
25: struct ROW {
26: char name[256]; /* can be composite name */
27: char reached; /* is row reachable ? */
28: char refcount; /* label reference index */
29: char labeled; /* start of do-loop or label */
30: int mapping; /* indicates transit rows */
31: int maptwo; /* renumbers reduced table */
32: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.