|
|
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.