/* TAKEN FROM MAIN.C */

int tabfputc(int, FILE*);
void skip_until(char str[][64], unsigned char);
void assemble_line(FILE*, char *);
void assemble_file(char*, FILE*);
void do_assemble_line(FILE*, char *);
char* get_word(char*, char*);
char* get_level_word(char*, char*, char);
char* upcase(char *);
char* pack_string(char *);
char* reduce_string(char *);
void do_pass(FILE*, FILE*);
void post_error(const char *, ...);
void tabinsert(const char * str, ...);
int string_ingetc(FILE*);
int file_ingetc(FILE*);

extern unsigned int program_counter;
extern FILE* tabFile, *tabBackup, *current_file;
extern int (*tfputc)(int, FILE*);
extern int (*ingetc)(FILE*);
extern BOOL pass_one;
extern char linebuf[512];
extern char current_extention[4];
extern int list_bytes;

extern int line_number, total_reusables;
extern unsigned short reusables[256];
