Annotation of researchv9/jtools/src/pi/univ.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.