--- rpl/src/evaluation.c 2013/03/06 10:05:09 1.74 +++ rpl/src/evaluation.c 2013/04/17 13:53:17 1.77 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 + RPL/2 (R) version 4.1.14 Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -48,6 +48,13 @@ evaluation(struct_processus *s_etat_proc { integer8 i; integer8 j; + integer8 k; + integer8 l; + integer8 niveau_initial; + integer8 nombre_termes; + integer8 registre_hauteur_pile_operationnelle; + integer8 registre_position_courante; + logical1 drapeau_then; logical1 erreur_evaluation; @@ -84,21 +91,13 @@ evaluation(struct_processus *s_etat_proc unsigned char registre_evaluation_forcee; unsigned char registre_instruction_valide; unsigned char registre_mode_execution_programme; - unsigned char registre_retour_definition; unsigned char registre_test; unsigned char registre_test_2; unsigned char registre_type_evaluation; - unsigned int registre_erreur_execution; - unsigned int registre_erreur_systeme; - unsigned int registre_exception; - - unsigned long k; - unsigned long l; - unsigned long niveau_initial; - unsigned long nombre_termes; - unsigned long registre_hauteur_pile_operationnelle; - unsigned long registre_position_courante; + int registre_erreur_execution; + int registre_erreur_systeme; + int registre_exception; void (*fonction)(); @@ -291,13 +290,13 @@ evaluation(struct_processus *s_etat_proc if (presence_variable_partagee == d_faux) { (*s_etat_processus).position_courante = - (*((unsigned long *) ((*(*(*s_etat_processus) + (*((integer8 *) ((*(*(*s_etat_processus) .pointeur_variable_courante).objet).objet))); } else { (*s_etat_processus).position_courante = - (*((unsigned long *) (*s_copie_variable_partagee) + (*((integer8 *) (*s_copie_variable_partagee) .objet)); liberation(s_etat_processus, s_copie_variable_partagee); } @@ -411,9 +410,6 @@ evaluation(struct_processus *s_etat_proc .niveau_courant = (*s_etat_processus) .niveau_courant; - // ICI - //empilement_pile_systeme(s_etat_processus); - if (presence_variable_partagee == d_faux) { if (evaluation(s_etat_processus, (*(*s_etat_processus) @@ -717,10 +713,6 @@ evaluation(struct_processus *s_etat_proc * Exécution de la séquence d'instructions */ - registre_retour_definition = (*(*s_etat_processus).l_base_pile_systeme) - .retour_definition; - (*(*s_etat_processus).l_base_pile_systeme).retour_definition = 'N'; - l_element_courant = (struct_liste_chainee *) (*s_objet).objet; autorisation_empilement_programme = (*s_etat_processus) .autorisation_empilement_programme; @@ -3408,8 +3400,7 @@ evaluation(struct_processus *s_etat_proc .niveau_courant; (*s_etat_processus).position_courante = - (*((unsigned long *) - ((*(*(*s_etat_processus) + (*((integer8 *) ((*(*(*s_etat_processus) .pointeur_variable_courante).objet).objet))); if ((*s_etat_processus).profilage == d_vrai) @@ -6497,7 +6488,7 @@ evaluation(struct_processus *s_etat_proc if (presence_variable_partagee == d_faux) { (*s_etat_processus).position_courante = - (*((unsigned long *) + (*((integer8 *) ((*(*(*s_etat_processus) .pointeur_variable_courante) .objet).objet))); @@ -6505,7 +6496,7 @@ evaluation(struct_processus *s_etat_proc else { (*s_etat_processus).position_courante = - (*((unsigned long *) + (*((integer8 *) (*s_copie_variable_partagee).objet)); liberation(s_etat_processus, s_copie_variable_partagee); @@ -7170,9 +7161,6 @@ evaluation(struct_processus *s_etat_proc (*s_etat_processus).autorisation_empilement_programme = autorisation_empilement_programme; (*s_etat_processus).instruction_courante = instruction_courante; - (*(*s_etat_processus).l_base_pile_systeme).retour_definition = - registre_retour_definition; - return(d_erreur); } @@ -7185,9 +7173,6 @@ evaluation(struct_processus *s_etat_proc (*s_etat_processus).autorisation_empilement_programme = autorisation_empilement_programme; (*s_etat_processus).instruction_courante = instruction_courante; - (*(*s_etat_processus).l_base_pile_systeme).retour_definition = - registre_retour_definition; - return(d_erreur); } } @@ -7195,8 +7180,6 @@ evaluation(struct_processus *s_etat_proc (*s_etat_processus).autorisation_empilement_programme = autorisation_empilement_programme; (*s_etat_processus).instruction_courante = instruction_courante; - (*(*s_etat_processus).l_base_pile_systeme).retour_definition = - registre_retour_definition; } else if ((*s_objet).type == FCT) {