4 #include "../qc/q.out.h"
10 typedef struct Sym Sym;
11 typedef struct Gen Gen;
13 typedef struct Hist Hist;
24 #define GETC() ((--fi.c < 0)? filbuf(): *fi.p++ & 0xff)
29 #define ALLOC(lhs, type)\
30 while(nhunk < sizeof(type))\
33 nhunk -= sizeof(type);\
36 #define ALLOCN(lhs, len, n)\
37 if(lhs+len != hunk || nhunk < n) {\
40 memmove(hunk, lhs, len);\
111 EXTERN char debug[256];
112 EXTERN Sym* hash[NHASH];
113 EXTERN char* Dlist[30];
119 EXTERN char* include[NINCLUDE];
129 EXTERN char* outfile;
131 EXTERN char* pathname;
135 EXTERN char symb[NSYMB];
137 EXTERN char* thestring;
141 void errorexit(void);
144 void newfile(char*, int);
156 void outcode(int, Gen*, int, Gen*);
157 void outgcode(int, Gen*, int, Gen*, Gen*);
158 void zname(char*, int, int);
159 void zaddr(Gen*, int);
160 void ieeedtod(Ieee*, double);
166 void macexpand(Sym*, char*);
172 void dodefine(char*);
175 void linehist(char*, int);
177 void yyerror(char*, ...);
179 void setinclude(char*);
183 * system-dependent stuff from ../cc/compat.c
185 enum /* keep in synch with ../cc/cc.h */
192 int mycreat(char*, int);
195 char* mygetwd(char*, int);
196 int myexec(char*, char*[]);