assembler.h
1 #ifndef __ASSEMBLER_H__ 2 #define __ASSEMBLER_H__ 1 3 #include "structs/list.h" 4 5 #define VerboseSuccess "\x1b[32m" 6 #define VerboseInfo "\x1b[35m" 7 #define VerboseUseless "\x1b[90m" 8 #define VerboseCritical "\x1b[31m" 9 #define VerboseWarning "\x1b[33m" 10 11 #ifndef DISABLE_VERBOSE 12 #define DISABLE_VERBOSE 0 13 #endif 14 15 #if DISABLE_VERBOSE==0 16 #define IF_VERBOSE(var, mode, name, print_instruction) if ((var)->verbose) {printf("%s[%s]\x1b[0m ", mode, name);print_instruction;} 17 #else 18 #define IF_VERBOSE(var, mode, name, print_instruction) {}; 19 #endif 20 21 struct assembler_options { 22 int max_consecutive_newlines; 23 int fullpaths; 24 char print_comments; 25 char * last_file; 26 char verbose; 27 28 char * start_of_file; 29 char * end_of_file; 30 }; 31 32 extern int assemble(char * inputdirname, char * outputname, struct assembler_options); 33 extern void filter_lists(chained_cell * imports, chained_cell names); 34 35 #endif