/* * * Programme principal * */ #include #include #include "main.h" #include "hash.h" #include "parser.h" #include "polynom.h" #include "pile.h" #include "exceptions.h" #include "scalaires.h" #include "interface.h" #include "terminal.h" #include "config.h" _TableauVariable variables; char *mute; char valid; /* Les deux gestionnaires de signaux */ void segfaulthand(int i) { exception(2, _("Signal received: segfault")); } void ctrlbreakhand(int i) { exception(1, _("Signal received: break")); } /* Les routines générales */ void init_all(void) { Initialise(&variables); /* nom de la variable utilisee pour la saisie des polynomes, a recuperer en argv eventuellt ATTENTION: elle est case sensitive */ mute = "x"; display=DEC; } void flush_all(void) { } void invite(void) { fprintf(stderr, "Polynomia v1.0\n\n"); } /* Et notre main. On ne fait que lancer la boucle principale de l'interface */ int main(void) { setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); invite(); signal(SIGSEGV, segfaulthand); signal(SIGINT, ctrlbreakhand); fprintf(stderr, _("\nPerforming initialisation...\n\n")); init_all(); openterm(); initterm(); fprintf(stderr, _("\nStarting interface...\n\n")); ifloop(); fprintf(stderr, _("\nPerforming shutdown...\n\n")); clearterm(); flush_all(); signal(SIGSEGV, NULL); signal(SIGINT, NULL); fprintf(stderr, _("Exiting, bye!\n")); return 0; }