#define CHNULL (chainp) 0
#define MAXINCLUDEDEPTH 10
typedef struct chain *chainp;
extern int nocommentflag;
#define efgetc (efmacp?*efmacp++:getc(yyin))
#define ALLOC(x) (struct x *) intalloc(sizeof(struct x))
#define calloc efl_calloc
#define malloc efl_malloc
extern char *filenames[];
extern struct fileblock *iifilep;
extern unsigned int nmemused;
extern long int totfreed;
extern long int totalloc;
extern char ftnames[MAXFTNAMES][7];
extern chainp commonlist;
extern chainp tempvarlist;
extern chainp temptypelist;
extern struct fileblock *ibfile;
extern struct fileblock *icfile;
extern struct fileblock *idfile;
extern struct fileblock *iefile;
extern struct stentry *hashtab[];
extern struct stentry **hashend;
unsigned int vdclstart:1;
unsigned int vnamedone:1;
extern struct exprblock /* must be same size as varblock */
unsigned int vdclstart:1;
unsigned int vnamedone:1;
unsigned int uniffable:1;
unsigned int labdefined:1;
extern struct ctlblock /* must be same size as execblock */
unsigned int uniffable:1;
unsigned int labdefined:1;
unsigned int uniffable:1;
unsigned int labdefined:1;
char *genfname[NEFLTYPES];
unsigned int vdclstart:1;
unsigned int vnamedone:1;
int iojunk[7]; /* padding */
char *dfltfmt[NEFLTYPES];
/* Declarations of popular functions */
char *copys(), *convic(), *procnm();
ptr cpexpr(), compconst(), simple(), mknode(), mkint(), mkconst();
ptr intalloc(), calloc(), allexcblock(), allexpblock();
ptr mkcall(), coerce(), fold(), builtin(), gent(), errnode();
ptr arg1(), arg2(), arg4();
chainp mkchain(), hookup();
/* Simplification types */
/* Parser return values */
/* symbol table classes */
/* values of procclass */
/* intermediate code definitions */
/* I/O error handling options */