/* External references */ /* Standard C library routines */ extern char *alloc(); extern free(); extern printf(); extern exit(); extern abort(); #ifndef stdio extern int fopen(); extern int fcreat(); extern close(); extern fflush(); #endif extern char *ctime(); extern time(); /* References to routines that are compiled separately */ extern printerr(); /* Error message printer */ extern screech(); /* Internal bug reporter */ extern int lexeq(); /* Lexical comparison */ extern char *skipblnk(); /* Skip over white space */ extern char *get_mem(); /* Dynamic memory allocator */ extern char *concat(); /* Concatenate two strings */ extern int expr(); /* Constant expression evaluator */ extern struct sym *lookup(); /* Symbol look-up routine */ extern sym_enter(); /* Enter a symbol into symbol table */ extern int sym_del(); /* Symbol table deletion routine */ extern sym_print(); /* Print symbol table */ extern sym_init(); /* Initialize symbol table */ extern int push(); /* Push onto a stack */ extern int empty(); /* Test for empty stack */ extern int *envsave(); /* Save runtime stack environment */ extern int envreset(); /* Restore to previous environment */ extern char *skipq(); /* Skip over quoted text */ extern int putch(); /* Emit text to buffer or output file */ extern char *get_id(); /* Get an identifier */ extern rlse_ala(); /* Release call_ala entries */