|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: #define eae 0 ! 4: ! 5: #define NCPS 8 ! 6: #define HSHSIZ 3001 ! 7: #define BSYM 01000 /* builtin symbol */ ! 8: #define USYM 04000 /* user symbol */ ! 9: ! 10: struct expr { ! 11: short typ; ! 12: short val; ! 13: }; ! 14: ! 15: struct symtab { ! 16: char name[NCPS]; ! 17: struct expr sval; ! 18: }; ! 19: ! 20: typedef union { ! 21: struct expr *xp; ! 22: unsigned uv; ! 23: int v; ! 24: } OP; ! 25: ! 26: extern struct expr expres(); ! 27: extern struct expr *rname(); ! 28: extern OP readop(); ! 29: extern OP _readop(); ! 30: extern OP savop; ! 31: extern OP lastop; ! 32: ! 33: #define LAST(c) (lastop.v==(c)) ! 34: #define ISCHAR(x) ((x).uv<0200) ! 35: ! 36: extern struct nxtfb { ! 37: char c0; ! 38: char c1; ! 39: short val; ! 40: } nxtfb; ! 41: ! 42: ! 43: #define T_UNDEF 0 ! 44: #define T_ABS 1 ! 45: #define T_TEXT 2 ! 46: #define T_DATA 3 ! 47: #define T_BSS 4 ! 48: #define T_FLOPD 5 ! 49: #define T_BRANCH 6 ! 50: #define T_JSR 7 ! 51: #define T_RTS 010 ! 52: #define T_SYS 011 ! 53: #define T_MOVF 012 ! 54: #define T_DOUBLE 013 ! 55: #define T_FLOPF 014 ! 56: #define T_SINGLE 015 ! 57: #define T_BYTE 016 ! 58: #define T_STRING 017 ! 59: #define T_EVEN 020 ! 60: #define T_IF 021 ! 61: #define T_ENDIF 022 ! 62: #define T_GLOBL 023 ! 63: #define T_REG 024 ! 64: #define T__TEXT 025 ! 65: #define T__DATA 026 ! 66: #define T__BSS 027 ! 67: #define T_MUL 030 ! 68: #define T_SOB 031 ! 69: #define T_COMM 032 ! 70: #define T_ESTTXT 033 ! 71: #define T_ESTDAT 034 ! 72: #define T_JBR 035 ! 73: #define T_JXX 036 ! 74: ! 75: #define T_EXTERN 040 ! 76: ! 77: #define C_IOR -11 ! 78: #define C_ESC -10 ! 79: #define C_WHITE -9 ! 80: #define C_TERM -8 ! 81: #define C_DQUO -7 ! 82: #define C_GARB -6 ! 83: #define C_SQUO -5 ! 84: #define C_min4 -4 ! 85: #define C_SKIP -3 ! 86: #define C_min2 -2 ! 87: #define C_EOL -1 ! 88: #define C_STR 0 ! 89: ! 90: extern short *dot; ! 91: extern short *dotdot; ! 92: extern short *dotrel; ! 93: extern char curfbr[10]; ! 94: extern int curfb[10]; ! 95: extern short savdot[3]; ! 96: extern struct symtab *symend; ! 97: extern struct symtab *usymtab; ! 98: extern struct symtab *hshtab[HSHSIZ]; ! 99: extern char chartab[]; ! 100: extern FILE *pof; ! 101: extern FILE *fbfil; ! 102: extern int errflg; ! 103: extern char ch; ! 104: extern char symbol[NCPS]; ! 105: extern int line; ! 106: extern int ifflg; ! 107: extern int nargs; ! 108: extern char **curarg; ! 109: extern int numval;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.