--- rpl/src/analyse.c 2010/08/26 17:49:34 1.29 +++ rpl/src/analyse.c 2011/07/22 07:38:33 1.48 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.18 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.1 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -35,7 +35,6 @@ ================================================================================ */ - static void creation_instruction(struct_processus *s_etat_processus, unsigned char *instruction, void (*routine)()) @@ -61,7 +60,7 @@ creation_instruction(struct_processus *s (*(*s_etat_processus).arbre_instructions).feuille = NULL; - if (((*(*s_etat_processus).arbre_instructions).noeud = + if (((*(*s_etat_processus).arbre_instructions).noeuds = malloc((*s_etat_processus).nombre_caracteres * sizeof(struct_instruction))) == NULL) { @@ -71,7 +70,7 @@ creation_instruction(struct_processus *s for(i = 0; i < (*s_etat_processus).nombre_caracteres; i++) { - (*(*s_etat_processus).arbre_instructions).noeud[i] = NULL; + (*(*s_etat_processus).arbre_instructions).noeuds[i] = NULL; } } @@ -84,12 +83,12 @@ creation_instruction(struct_processus *s printf("Instruction=\"%s\", (*ptr)='%c'\n", instruction, *ptr)); - if ((*l_instruction_courante).noeud[(*s_etat_processus) + if ((*l_instruction_courante).noeuds[(*s_etat_processus) .pointeurs_caracteres[*ptr]] == NULL) { // Le noeud suivant n'existe pas, on le crée. - if (((*l_instruction_courante).noeud[(*s_etat_processus) + if (((*l_instruction_courante).noeuds[(*s_etat_processus) .pointeurs_caracteres[*ptr]] = malloc(sizeof(struct_instruction))) == NULL) { @@ -97,11 +96,11 @@ creation_instruction(struct_processus *s return; } - (*(*l_instruction_courante).noeud[(*s_etat_processus) + (*(*l_instruction_courante).noeuds[(*s_etat_processus) .pointeurs_caracteres[*ptr]]).feuille = NULL; - if (((*(*l_instruction_courante).noeud[(*s_etat_processus) - .pointeurs_caracteres[*ptr]]).noeud = + if (((*(*l_instruction_courante).noeuds[(*s_etat_processus) + .pointeurs_caracteres[*ptr]]).noeuds = malloc((*s_etat_processus).nombre_caracteres * sizeof(struct_instruction))) == NULL) { @@ -111,12 +110,12 @@ creation_instruction(struct_processus *s for(i = 0; i < (*s_etat_processus).nombre_caracteres; i++) { - (*(*l_instruction_courante).noeud[(*s_etat_processus) - .pointeurs_caracteres[*ptr]]).noeud[i] = NULL; + (*(*l_instruction_courante).noeuds[(*s_etat_processus) + .pointeurs_caracteres[*ptr]]).noeuds[i] = NULL; } } - l_instruction_courante = (*l_instruction_courante).noeud + l_instruction_courante = (*l_instruction_courante).noeuds [(*s_etat_processus).pointeurs_caracteres[*ptr]]; ptr++; } @@ -138,13 +137,13 @@ liberation_arbre_instructions(struct_pro for(i = 0; i < (*s_etat_processus).nombre_caracteres; i++) { - if ((*arbre).noeud[i] != NULL) + if ((*arbre).noeuds[i] != NULL) { - liberation_arbre_instructions(s_etat_processus, (*arbre).noeud[i]); + liberation_arbre_instructions(s_etat_processus, (*arbre).noeuds[i]); } } - free((*arbre).noeud); + free((*arbre).noeuds); free(arbre); return; @@ -468,6 +467,7 @@ initialisation_instructions(struct_proce INSTRUCTION("LINE", instruction_line); INSTRUCTION("LNP1", instruction_lnp1); INSTRUCTION("LOCK", instruction_lock); + INSTRUCTION("L->T", instruction_l_vers_t); INSTRUCTION("MANT", instruction_mant); INSTRUCTION("MARK", instruction_mark); //INSTRUCTION("MAXR") @@ -571,6 +571,7 @@ initialisation_instructions(struct_proce INSTRUCTION("TRNC", instruction_trnc); INSTRUCTION("TRUE", instruction_true); INSTRUCTION("TYPE", instruction_type); + INSTRUCTION("T->L", instruction_t_vers_l); INSTRUCTION("UTPC", instruction_utpc); INSTRUCTION("UTPF", instruction_utpf); INSTRUCTION("UTPN", instruction_utpn); @@ -591,9 +592,7 @@ initialisation_instructions(struct_proce //de coordonnées courant) //INSTRUCTION("->V3") -# ifndef OS2 INSTRUCTION("ABORT", instruction_abort); -# endif INSTRUCTION("ACOSH", instruction_acosh); INSTRUCTION("ALARM", instruction_alarm); INSTRUCTION("ASINH", instruction_asinh); @@ -898,9 +897,6 @@ initialisation_instructions(struct_proce } -#ifndef OS2 -extern inline -#endif void * analyse_instruction(struct_processus *s_etat_processus, unsigned char *ptr) { @@ -921,14 +917,14 @@ analyse_instruction(struct_processus *s_ return(NULL); } - if ((*l_instruction_courante).noeud[pointeur] == NULL) + if ((*l_instruction_courante).noeuds[pointeur] == NULL) { // Le chemin de l'instruction candidate n'existe pas. return(NULL); } - l_instruction_courante = (*l_instruction_courante).noeud[pointeur]; + l_instruction_courante = (*l_instruction_courante).noeuds[pointeur]; ptr++; if ((l_instruction_courante == NULL) && ((*ptr) != d_code_fin_chaine))