|
|
1.1 ! root 1: #ifndef UNIV_H ! 2: #define UNIV_H ! 3: ! 4: enum Op; ! 5: enum EDisc; ! 6: class Asm; ! 7: class Block; ! 8: class Bls; ! 9: class Bpts; ! 10: class BptReq; ! 11: class BsdTShare; ! 12: class BsdType; ! 13: class BsdSymTab; ! 14: class Ed8SymTab; ! 15: class CallStk; ! 16: class Context; ! 17: class Core; ! 18: class CoreContext; ! 19: class Cslfd; ! 20: class DType; ! 21: class Expr; ! 22: class Frame; ! 23: class Func; ! 24: class Globals; ! 25: class HostContext; ! 26: class HostCore; ! 27: class HostMaster; ! 28: class HostProcess; ! 29: class Index; ! 30: class Journal; ! 31: class KernCore; ! 32: class KernMaster; ! 33: class KernProcess; ! 34: class Master; ! 35: class Memory; ! 36: class Pad; ! 37: class Phrase; ! 38: class Process; ! 39: class Remote; ! 40: class SigBit; ! 41: class SigMask; ! 42: class Source; ! 43: class SrcDir; ! 44: class Stmt; ! 45: class SymTab; ! 46: class Symbol; ! 47: class Trap; ! 48: class UType; ! 49: class Var; ! 50: enum Behavs; ! 51: ! 52: int strcmp(char*,char*); ! 53: inline int eqstr(char *a, char *b) ! 54: { ! 55: return !a ? !b : b && *a==*b && !strcmp(a+1,b+1); ! 56: } ! 57: ! 58: ! 59: class Cslfd { ! 60: friend HostCore; ! 61: friend M68kCore; ! 62: void init(long l, double d); ! 63: char *flterr; ! 64: public: ! 65: double dbl; ! 66: float flt; ! 67: long lng; ! 68: short sht; ! 69: char chr; ! 70: unsigned char uch(); ! 71: unsigned short ush(); ! 72: char *floaterror(); ! 73: Cslfd(long); ! 74: Cslfd(double); ! 75: Cslfd(int); ! 76: Cslfd(); ! 77: }; ! 78: ! 79: enum UDisc { ! 80: U_ERROR = 0, ! 81: ! 82: U_FUNC = 1, ! 83: U_GLB = 2, ! 84: U_STA = 3, ! 85: U_STMT = 4, ! 86: U_UTYPE = 5, ! 87: # define TOSYM 0x7 /* 2^n-1 */ ! 88: U_ARG = 10, ! 89: U_AUT = 11, ! 90: U_BLOCK = 12, ! 91: U_FST = 13, ! 92: U_MOT = 14, ! 93: U_SOURCE = 15, ! 94: ! 95: U_ASM = 20, ! 96: U_AUDIT = 21, ! 97: U_BLKVARS = 22, ! 98: U_BPTS = 23, ! 99: U_CELL = 24, ! 100: U_CORE = 25, ! 101: U_DTYPE = 26, ! 102: U_EXPR = 27, ! 103: U_MASTER = 28, ! 104: U_GLOBALS = 29, ! 105: U_INSTR = 30, ! 106: U_MEMORY = 32, ! 107: U_PHRASE = 33, ! 108: U_PROCESS = 34, ! 109: U_REG = 35, ! 110: U_REGCELL = 36, ! 111: U_REGFILE = 37, ! 112: U_SRCFUNCS = 38, ! 113: U_SRCTEXT = 39, ! 114: U_STABSRCS = 40, ! 115: U_SYMTAB = 41, ! 116: U_TRAP = 42, ! 117: U_TYPMEMS = 43, ! 118: U_WD = 44, ! 119: U_SIGMASK = 45, ! 120: U_HELP = 46, ! 121: U_SRCDIR = 47, ! 122: U_CONTEXT = 48, ! 123: U_HOSTMASTER = 49, ! 124: U_TERMMASTER = 49, ! 125: U_SIGBIT = 50, ! 126: U_BPTREQ = 51, ! 127: U_JOURNAL = 52, ! 128: U_FRAME = 53, ! 129: }; ! 130: ! 131: #include "lib.h" ! 132: #include <pads.pub> ! 133: ! 134: #define PUBLIC(c,d)\ ! 135: int disc() { return d; }\ ! 136: public:\ ! 137: int ok() { return this && disc() == d; } ! 138: ! 139: ! 140: #define VACUOUS { abort(); } ! 141: #define NOVALUE { abort(); return x; } ! 142: ! 143: #define SVP '3.14' /* != 0 */ ! 144: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.