/* 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 int getc();
extern putc();
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 */
