#include #include #include #include "config.h" #include "exceptions.h" #include "meta.h" #include "parser.h" #include "hash.h" #include "assembler.h" char * Estrdup(char * o) { char * r; if (!(r = strdup(o))) { exception(1, _("Out of memory.")); } return r; } void * Emalloc(size_t s) { void * r; if (!(r = malloc(s))) { exception(1, _("Out of memory.")); } return r; } void exception(int level, char *msg) { fprintf(stderr, "%s\n", msg); exit(level); } 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(); } int main(void) { invite(); fprintf(stderr, _("\nPerforming initialisation...\n\n")); init_all(); fprintf(stderr, _("\nPerforming shutdown...\n\n")); flush_all(); fprintf(stderr, _("Exitting, bye!\n")); return 0; }