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