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