struct Io
{
Io* link;
char b[BUFSIZ];
char* p;
short c;
short f;
};
#define I ((Io*)0)
struct
{
Sym* sym;
short type;
} h[NSYM];
struct Gen
{
Sym* sym;
long offset;
short type;
short reg;
short name;
double dval;
char sval[8];
};
struct Hist
{
Hist* link;
char* name;
long line;
long offset;
};
#define H ((Hist*)0)
enum
{
CLAST,
CMACARG,
CMACRO,
CPREPROC,
};
char debug[256];
Sym* hash[NHASH];
Hist* ehist;
int newflag;
Hist* hist;
char* hunk;
char* include[NINCLUDE];
Io* iofree;
Io* ionext;
Io* iostack;
long lineno;
int nerrors;
long nhunk;
int ninclude;
Gen nullgen;
char* outfile;
int pass;
long pc;
int peekc;
int sym;
char symb[NSYMB];
int thechar;
char* thestring;
long thunk;
Biobuf obuf;