#include #include #include #include #include "config.h" #include "exceptions.h" #include "meta.h" #include "parser.h" #include "hash.h" #include "assembler.h" typedef void (*sighandler_t)(int); void invite(void) { fprintf(stderr, _("Assembler\n\n")); } void init_all(void) { fprintf(stderr, _(" o Initialising the meta engine... ")); if (meta_init()) { exception(1, _("Meta parser init failed.")); } fprintf(stderr, _(" Done!\n o Meta language loading... ")); if (meta_load("instructions.txt")) { exception(1, _("Meta language loading failed.")); } fprintf(stderr, _(" Done!\n o Initialising the assembler core...")); if (assembler_init()) { exception(1, _("Assembler core init failed.")); } fprintf(stderr, _(" Done!\n")); } void flush_all(void) { assembler_flush(); meta_flush(); } void segfaulthand(int i) { exception(1, _("Signal received: segfault")); } int main(void) { invite(); /* signal(SIGSEGV, segfaulthand); */ fprintf(stderr, _("\nPerforming initialisation...\n\n")); init_all(); assemble_file("progtest.asm", "progtest.o"); fprintf(stderr, _("\nPerforming shutdown...\n\n")); flush_all(); fprintf(stderr, _("Exitting, bye!\n")); return 0; }