/* * * 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; void segfaulthand(int i) { exception(2, _("Signal received: segfault")); } void ctrlbreakhand(int i) { exception(1, _("Signal received: break")); } void init_all(void) { Initialise(&variables); mute = "x"; display=DEC; } void flush_all(void) { } void invite(void) { } int main(void) { setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); /* nom de la variable utilisee pour la saisie des polynomes, a recuperer en argv eventuellt ATTENTION: elle est case sensitive */ /* parse_line("P=-4.5+2*x+3*x^2;"); //parse_line("P(2);"); //AfficheTableau(variables); //printf("%p\n",(polynome)NomVarToVar("P",variables,&valid)); //printf("-- affichage:%s\n",ply_affichage((polynome)NomVarToVar("P",variables,&valid))); parse_line("P(2);"); pop_pile(1); parse_line("Q=6*x^3+4*x^2+x;"); parse_line("soja=P-Q+2;"); parse_line("soja;"); parse_line("soja^3;"); //parse_line("quake4@%*)+vo;i"); printf("Resultat: %s\n", affichage_level_1()); flush_pile(); parse_line("0x52;"); parse_line("x+0;"); affichage_pile(); AfficheTableau(variables); */ invite(); signal(SIGSEGV, segfaulthand); signal(SIGINT, ctrlbreakhand); fprintf(stderr, _("\nPerforming initialisation...\n\n")); init_all(); openterm(); initterm(); ifloop(); clearterm(); fprintf(stderr, _("\nPerforming shutdown...\n\n")); flush_all(); signal(SIGSEGV, NULL); signal(SIGINT, NULL); fprintf(stderr, _("Exitting, bye!\n")); return 0; /* destruction de ts les polynomes stockes dans la table de hh */ /* appel a la fonction de vidage de pile */ /* vraiment utile? on quitte le prog, ttes les donnes dynamiques seront detruites ... */ }