/* web2c.h: general includes for web2c. */ #include #include "site.h" #include "common.h" #ifdef SYSV #define bcopy(s,d,n) memcpy((d),(s),(n)) #define bcmp(s1,s2,n) memcmp((s1),(s2),(n)) #define bzero(s,n) memset((s),0,(n)) #endif #ifdef __GNUC__ #define alloca __builtin_alloca #else #ifdef sparc #include #else char *alloca (); #endif #endif #define ex_32 (2) #define ex_real (3) #define max(a,b) ((a>b)?a:b) extern int indent; extern int line_pos; extern int last_brace; extern int block_level; extern int ii; extern int last_tok; extern char safe_string[80]; extern char var_list[500]; extern char field_list[500]; extern char last_id[80]; extern char z_id[80]; extern char next_temp[]; extern long last_i_num; extern int ii, l_s; extern long lower_bound, upper_bound; extern FILE *fopen(); extern FILE *std; extern int pf_count; #include "symtab.h" extern char strings[]; extern int hash_list[]; extern short global; #ifdef MS_DOS extern struct sym_entry huge sym_table[]; #else extern struct sym_entry sym_table[]; #endif extern int next_sym_free, next_string_free; extern int mark_sym_free, mark_string_free; #ifdef FLEX_SCANNER extern char *yytext; #else /* LEX */ #ifdef HP extern unsigned char yytext[]; #else extern char yytext[]; #endif #endif /* LEX */ #ifdef ANSI extern void exit(int); extern int yyparse(void); void find_next_temp(void); void normal(void); void new_line(void); void indent_line(void); void my_output(char *); void semicolon(void); void yyerror(char *); int hash(char *); int search_table(char *); int add_to_table(char *); void remove_locals(void); void mark(void); void initialize(void); void main(int,char * *); #else /* not ANSI */ void find_next_temp(), normal(), new_line(), indent_line(), my_output(); void semicolon(), yyerror(), remove_locals(), mark(), initialize(); #endif /* not ANSI */