--- rpl/src/instructions_d3.c 2011/04/21 16:00:56 1.18 +++ rpl/src/instructions_d3.c 2011/06/09 14:48:36 1.19 @@ -45,11 +45,9 @@ instruction_draw(struct_processus *s_eta logical1 last_valide; logical1 premiere_iteration; - logical1 presence_variable; logical1 retour_suite_erreur; long hauteur_pile; - long i; real8 borne_maximale_x; real8 borne_maximale_y; @@ -136,46 +134,18 @@ instruction_draw(struct_processus *s_eta * Vérification de la présence de la variable globale EQ */ - if (recherche_variable(s_etat_processus, "EQ") == d_faux) + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* * Aucune variable "EQ" n'existe. */ - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - (*s_etat_processus).erreur_systeme = d_es; - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - return; - } - - /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) + if ((*s_etat_processus).erreur_execution == d_ex) { - presence_variable = d_vrai; - break; + (*s_etat_processus).erreur_execution = d_ex_absence_equation; } - i--; - } - - if (presence_variable == d_faux) - { - (*s_etat_processus).erreur_execution = d_ex_absence_equation; + (*s_etat_processus).erreur_systeme = d_es; if (last_valide == d_vrai) { @@ -185,12 +155,6 @@ instruction_draw(struct_processus *s_eta return; } - if ((*s_etat_processus).s_liste_variables[i].objet == NULL) - { - (*s_etat_processus).erreur_execution = d_ex_variable_partagee; - return; - } - /* * Création du fichier graphique temporaire */ @@ -625,21 +589,17 @@ instruction_draw(struct_processus *s_eta // La variable étant créée localement, elle n'est jamais // ni verrouillée ni partagée. - BUG((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + BUG((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL); - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if ((*(*(*s_etat_processus).pointeur_variable_courante) .objet).type != REL) { liberation(s_etat_processus, - ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*(*s_etat_processus).pointeur_variable_courante) .objet); - if ((((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if (((*(*s_etat_processus).pointeur_variable_courante) .objet = allocation(s_etat_processus, REL)) == NULL) { @@ -649,8 +609,7 @@ instruction_draw(struct_processus *s_eta } } - (*((real8 *) (*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*((real8 *) (*(*(*s_etat_processus).pointeur_variable_courante) .objet).objet)) = x; } else @@ -684,7 +643,7 @@ instruction_draw(struct_processus *s_eta return; } - if (recherche_variable(s_etat_processus, "EQ") + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* @@ -758,98 +717,6 @@ instruction_draw(struct_processus *s_eta } /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - (*s_etat_processus).position_variable_courante = i; - - BUG((*s_etat_processus).s_liste_variables[i].objet == NULL); - - if (presence_variable == d_faux) - { - /* - * Retrait de la variable INDEP - */ - - (*s_etat_processus).niveau_courant--; - - if (fclose(fichier) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (destruction_fichier(nom_fichier) == d_erreur) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (retrait_variable(s_etat_processus, nom_x, 'L') - == d_erreur) - { - if ((*s_etat_processus).erreur_systeme != d_es) - { - if ((*s_etat_processus).erreur_systeme == - d_es_variable_introuvable) - { - (*s_etat_processus).erreur_systeme = d_es; - } - else - { - - /* - * Erreur système - */ - - free(nom_fichier); - return; - } - } - - free(nom_x); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - free(nom_x); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - /* * Evaluation de la fonction */ @@ -863,9 +730,8 @@ instruction_draw(struct_processus *s_eta (*s_etat_processus).erreur_execution = d_ex; (*s_etat_processus).exception = d_ep; - if (evaluation(s_etat_processus, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet, 'N') == d_erreur) + if (evaluation(s_etat_processus, (*(*s_etat_processus) + .pointeur_variable_courante).objet, 'N') == d_erreur) { (*s_etat_processus).mode_evaluation_expression = mode_evaluation_expression; @@ -1152,7 +1018,7 @@ instruction_draw(struct_processus *s_eta * Vérification de la présence de la variable globale EQ */ - if (recherche_variable(s_etat_processus, "EQ") == d_faux) + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* * Aucune variable "EQ" n'existe. @@ -1163,46 +1029,13 @@ instruction_draw(struct_processus *s_eta sf(s_etat_processus, 31); } - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - (*s_etat_processus).erreur_systeme = d_es; - - return; - } - - /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - if (presence_variable == d_faux) - { - if (last_valide == d_vrai) + if ((*s_etat_processus).erreur_execution == d_ex) { - sf(s_etat_processus, 31); + (*s_etat_processus).erreur_execution = d_ex_absence_equation; } - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - return; - } + (*s_etat_processus).erreur_systeme = d_es; - if ((*s_etat_processus).s_liste_variables[i].objet == NULL) - { - (*s_etat_processus).erreur_execution = d_ex_variable_partagee; return; } @@ -1606,21 +1439,17 @@ instruction_draw(struct_processus *s_eta // La variable étant créée localement, elle n'est jamais // ni verrouillée ni partagée. - BUG((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + BUG((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL); - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if ((*(*(*s_etat_processus).pointeur_variable_courante) .objet).type != REL) { liberation(s_etat_processus, - ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*(*s_etat_processus).pointeur_variable_courante) .objet); - if ((((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if (((*(*s_etat_processus).pointeur_variable_courante) .objet = allocation(s_etat_processus, REL)) == NULL) { @@ -1630,8 +1459,7 @@ instruction_draw(struct_processus *s_eta } } - (*((real8 *) (*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*((real8 *) (*(*(*s_etat_processus).pointeur_variable_courante) .objet).objet)) = t; } else @@ -1665,7 +1493,7 @@ instruction_draw(struct_processus *s_eta return; } - if (recherche_variable(s_etat_processus, "EQ") + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* @@ -1738,96 +1566,6 @@ instruction_draw(struct_processus *s_eta } /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - (*s_etat_processus).position_variable_courante = i; - - BUG((*s_etat_processus).s_liste_variables[i].objet == NULL); - - if (presence_variable == d_faux) - { - /* - * Retrait de la variable INDEP - */ - - (*s_etat_processus).niveau_courant--; - - if (fclose(fichier) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (destruction_fichier(nom_fichier) == d_erreur) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (retrait_variable(s_etat_processus, nom_x, 'L') == d_erreur) - { - if ((*s_etat_processus).erreur_systeme != d_es) - { - if ((*s_etat_processus).erreur_systeme == - d_es_variable_introuvable) - { - (*s_etat_processus).erreur_systeme = d_es; - } - else - { - - /* - * Erreur système - */ - - free(nom_fichier); - return; - } - } - - free(nom_x); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - free(nom_fichier); - return; - } - - /* * Evaluation de la fonction */ @@ -1838,9 +1576,8 @@ instruction_draw(struct_processus *s_eta (*s_etat_processus).erreur_execution = d_ex; (*s_etat_processus).exception = d_ep; - if (evaluation(s_etat_processus, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet, 'N') == d_erreur) + if (evaluation(s_etat_processus, (*(*s_etat_processus) + .pointeur_variable_courante).objet, 'N') == d_erreur) { if ((*s_etat_processus).erreur_systeme != d_es) { @@ -2121,57 +1858,24 @@ instruction_draw(struct_processus *s_eta * Vérification de la présence de la variable globale EQ */ - if (recherche_variable(s_etat_processus, "EQ") == d_faux) + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* * Aucune variable "EQ" n'existe. */ - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - (*s_etat_processus).erreur_systeme = d_es; - - if (last_valide == d_vrai) + if ((*s_etat_processus).erreur_execution == d_ex) { - sf(s_etat_processus, 31); + (*s_etat_processus).erreur_execution = d_ex_absence_equation; } - return; - } - - /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } + (*s_etat_processus).erreur_systeme = d_es; - if (presence_variable == d_faux) - { if (last_valide == d_vrai) { sf(s_etat_processus, 31); } - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - return; - } - - if ((*s_etat_processus).s_liste_variables[i].objet == NULL) - { - (*s_etat_processus).erreur_execution = d_ex_variable_partagee; return; } @@ -2553,7 +2257,7 @@ instruction_draw(struct_processus *s_eta } /* - * L'erreur retournée ne peut être qu'une erreur système + * L'erreur retournée ne peut être qu'une erreur système. */ free(nom_fichier); @@ -2579,21 +2283,17 @@ instruction_draw(struct_processus *s_eta // La variable étant créée localement, elle n'est jamais // ni verrouillée ni partagée. - BUG(((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + BUG((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL); - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if ((*(*(*s_etat_processus).pointeur_variable_courante) .objet).type != REL) { liberation(s_etat_processus, - ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*(*s_etat_processus).pointeur_variable_courante) .objet); - if ((((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if (((*(*s_etat_processus).pointeur_variable_courante) .objet = allocation(s_etat_processus, REL)) == NULL) { @@ -2603,8 +2303,7 @@ instruction_draw(struct_processus *s_eta } } - (*((real8 *) (*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + (*((real8 *) (*(*(*s_etat_processus).pointeur_variable_courante) .objet).objet)) = t; } else @@ -2638,7 +2337,7 @@ instruction_draw(struct_processus *s_eta return; } - if (recherche_variable(s_etat_processus, "EQ") + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* @@ -2712,98 +2411,6 @@ instruction_draw(struct_processus *s_eta } /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - (*s_etat_processus).position_variable_courante = i; - - BUG((*s_etat_processus).s_liste_variables[i].objet == NULL); - - if (presence_variable == d_faux) - { - /* - * Retrait de la variable INDEP - */ - - (*s_etat_processus).niveau_courant--; - - if (fclose(fichier) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (destruction_fichier(nom_fichier) == d_erreur) - { - (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; - return; - } - - if (retrait_variable(s_etat_processus, nom_x, 'L') - == d_erreur) - { - if ((*s_etat_processus).erreur_systeme != d_es) - { - if ((*s_etat_processus).erreur_systeme == - d_es_variable_introuvable) - { - (*s_etat_processus).erreur_systeme = d_es; - } - else - { - - /* - * Erreur système - */ - - free(nom_fichier); - return; - } - } - - free(nom_x); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - free(nom_x); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - /* * Evaluation de la fonction */ @@ -2814,9 +2421,8 @@ instruction_draw(struct_processus *s_eta (*s_etat_processus).erreur_execution = d_ex; (*s_etat_processus).exception = d_ep; - if (evaluation(s_etat_processus, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet, 'N') == d_erreur) + if (evaluation(s_etat_processus, (*(*s_etat_processus) + .pointeur_variable_courante).objet, 'N') == d_erreur) { if ((*s_etat_processus).erreur_systeme != d_es) { @@ -3116,52 +2722,19 @@ instruction_draw(struct_processus *s_eta * Vérification de la présence de la variable globale EQ */ - if (recherche_variable(s_etat_processus, "EQ") == d_faux) + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* * Aucune variable "EQ" n'existe. */ - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - (*s_etat_processus).erreur_systeme = d_es; - - return; - } - - /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - if (presence_variable == d_faux) - { - if (last_valide == d_vrai) + if ((*s_etat_processus).erreur_execution == d_ex) { - sf(s_etat_processus, 31); + (*s_etat_processus).erreur_execution = d_ex_absence_equation; } - (*s_etat_processus).erreur_execution = d_ex_absence_equation; - return; - } + (*s_etat_processus).erreur_systeme = d_es; - if ((*s_etat_processus).s_liste_variables[i].objet == NULL) - { - (*s_etat_processus).erreur_execution = d_ex_variable_partagee; return; } @@ -4046,23 +3619,19 @@ instruction_draw(struct_processus *s_eta // La variable étant créée localement, elle n'est jamais // ni verrouillée ni partagee. - BUG((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + BUG((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL); - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if ((*(*(*s_etat_processus).pointeur_variable_courante) .objet).type != REL) { liberation(s_etat_processus, - ((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet); - - if ((((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet = - allocation(s_etat_processus, REL)) == NULL) + (*(*s_etat_processus) + .pointeur_variable_courante).objet); + + if (((*(*s_etat_processus).pointeur_variable_courante) + .objet = allocation(s_etat_processus, REL)) + == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -4070,9 +3639,8 @@ instruction_draw(struct_processus *s_eta } } - (*((real8 *) (*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) - .objet).objet)) = x; + (*((real8 *) (*(*(*s_etat_processus) + .pointeur_variable_courante).objet).objet)) = x; } else { @@ -4112,23 +3680,18 @@ instruction_draw(struct_processus *s_eta // La variable étant créée localement, elle n'est jamais // ni verrouillée ni partagée. - BUG((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] + BUG((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL); - if ((*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) + if ((*(*(*s_etat_processus).pointeur_variable_courante) .objet).type != REL) { - liberation(s_etat_processus, - ((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet); - - if ((((*s_etat_processus).s_liste_variables - [(*s_etat_processus) - .position_variable_courante]).objet = - allocation(s_etat_processus, REL)) == NULL) + liberation(s_etat_processus, (*(*s_etat_processus) + .pointeur_variable_courante).objet); + + if (((*(*s_etat_processus).pointeur_variable_courante) + .objet = allocation(s_etat_processus, REL)) + == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -4136,9 +3699,8 @@ instruction_draw(struct_processus *s_eta } } - (*((real8 *) (*((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante]) - .objet).objet)) = y; + (*((real8 *) (*(*(*s_etat_processus) + .pointeur_variable_courante).objet).objet)) = y; } else { @@ -4173,7 +3735,7 @@ instruction_draw(struct_processus *s_eta return; } - if (recherche_variable(s_etat_processus, "EQ") + if (recherche_variable_globale(s_etat_processus, "EQ") == d_faux) { /* @@ -4287,138 +3849,6 @@ instruction_draw(struct_processus *s_eta } /* - * Recherche de la variable globale "EQ" - */ - - i = (*s_etat_processus).position_variable_courante; - presence_variable = d_faux; - - while(i >= 0) - { - if ((strcmp((*s_etat_processus).s_liste_variables[i].nom, - "EQ") == 0) && ((*s_etat_processus) - .s_liste_variables[i].niveau == 1)) - { - presence_variable = d_vrai; - break; - } - - i--; - } - - (*s_etat_processus).position_variable_courante = i; - - BUG((*s_etat_processus).s_liste_variables[i].objet == NULL); - - if (presence_variable == d_faux) - { - /* - * Retrait des variables INDEP et DEPND - */ - - (*s_etat_processus).niveau_courant--; - - if (fclose(fichier) != 0) - { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; - return; - } - - if (destruction_fichier(nom_fichier) == d_erreur) - { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; - return; - } - - if (retrait_variable(s_etat_processus, nom_x, 'L') - == d_erreur) - { - if ((*s_etat_processus).erreur_systeme != d_es) - { - if ((*s_etat_processus).erreur_systeme == - d_es_variable_introuvable) - { - (*s_etat_processus).erreur_systeme = d_es; - } - else - { - - /* - * Erreur système - */ - - free(nom_fichier); - return; - } - } - - free(nom_x); - free(nom_y); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - if (retrait_variable(s_etat_processus, nom_y, 'L') - == d_erreur) - { - if ((*s_etat_processus).erreur_systeme != d_es) - { - if ((*s_etat_processus).erreur_systeme == - d_es_variable_introuvable) - { - (*s_etat_processus).erreur_systeme = d_es; - } - else - { - - /* - * Erreur système - */ - - free(nom_fichier); - return; - } - } - - free(nom_x); - free(nom_y); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - free(nom_x); - free(nom_y); - free(nom_fichier); - - if (last_valide == d_vrai) - { - sf(s_etat_processus, 31); - } - - (*s_etat_processus).erreur_execution = - d_ex_variable_non_definie; - return; - } - - /* * Evaluation de la fonction */ @@ -4429,9 +3859,8 @@ instruction_draw(struct_processus *s_eta (*s_etat_processus).erreur_execution = d_ex; (*s_etat_processus).exception = d_ep; - if (evaluation(s_etat_processus, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet, 'N') == d_erreur) + if (evaluation(s_etat_processus, (*(*s_etat_processus) + .pointeur_variable_courante).objet, 'N') == d_erreur) { if ((*s_etat_processus).erreur_systeme != d_es) {