Diff for /rpl/src/evaluation.c between versions 1.66 and 1.72

version 1.66, 2012/12/18 13:19:34 version 1.72, 2013/03/05 21:02:35
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.12    RPL/2 (R) version 4.1.13
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2013 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 98  evaluation(struct_processus *s_etat_proc Line 98  evaluation(struct_processus *s_etat_proc
     unsigned long                   niveau_initial;      unsigned long                   niveau_initial;
     unsigned long                   nombre_termes;      unsigned long                   nombre_termes;
     unsigned long                   registre_hauteur_pile_operationnelle;      unsigned long                   registre_hauteur_pile_operationnelle;
     unsigned long                   registre_niveau_courant;  
     unsigned long                   registre_position_courante;      unsigned long                   registre_position_courante;
   
     void                            (*fonction)();      void                            (*fonction)();
Line 715  evaluation(struct_processus *s_etat_proc Line 714  evaluation(struct_processus *s_etat_proc
         registre_retour_definition = (*(*s_etat_processus).l_base_pile_systeme)          registre_retour_definition = (*(*s_etat_processus).l_base_pile_systeme)
                 .retour_definition;                  .retour_definition;
         (*(*s_etat_processus).l_base_pile_systeme).retour_definition = 'N';          (*(*s_etat_processus).l_base_pile_systeme).retour_definition = 'N';
         (*(*s_etat_processus).l_base_pile_systeme).pointeur_adresse_retour =  
                 s_objet;  
   
         l_element_courant = (struct_liste_chainee *) (*s_objet).objet;          l_element_courant = (struct_liste_chainee *) (*s_objet).objet;
         autorisation_empilement_programme = (*s_etat_processus)          autorisation_empilement_programme = (*s_etat_processus)
Line 6241  evaluation(struct_processus *s_etat_proc Line 6238  evaluation(struct_processus *s_etat_proc
                                     registre_mode_execution_programme;                                      registre_mode_execution_programme;
                             (*s_etat_processus).instruction_courante =                              (*s_etat_processus).instruction_courante =
                                     instruction_courante;                                      instruction_courante;
   
                             if (presence_egalite == d_vrai)                              if (presence_egalite == d_vrai)
                             {                              {
                                 liberation(s_etat_processus, s_objet_evalue);                                  liberation(s_etat_processus, s_objet_evalue);
Line 6544  evaluation(struct_processus *s_etat_proc Line 6540  evaluation(struct_processus *s_etat_proc
                             }                              }
   
                             (*s_etat_processus).evaluation_forcee =                              (*s_etat_processus).evaluation_forcee =
                                 registre_evaluation_forcee;                                      registre_evaluation_forcee;
                             (*s_etat_processus).instruction_courante =                              (*s_etat_processus).instruction_courante =
                                     instruction_courante;                                      instruction_courante;
                             (*s_etat_processus).mode_execution_programme = 'N';                              (*s_etat_processus).mode_execution_programme = 'N';
Line 6679  evaluation(struct_processus *s_etat_proc Line 6675  evaluation(struct_processus *s_etat_proc
                                     }                                      }
                                 }                                  }
   
                                 registre_niveau_courant = (*(*s_etat_processus)                                  empilement_pile_systeme(s_etat_processus);
                                         .l_base_pile_systeme).niveau_courant;  
                                 registre_retour_definition =  
                                         (*(*s_etat_processus)  
                                         .l_base_pile_systeme).retour_definition;  
   
                                 (*(*s_etat_processus).l_base_pile_systeme)                                  (*(*s_etat_processus).l_base_pile_systeme)
                                         .retour_definition = 'Y';                                          .retour_definition = 'Y';
                                 (*(*s_etat_processus).l_base_pile_systeme)                                  (*(*s_etat_processus).l_base_pile_systeme)
                                         .niveau_courant = (*s_etat_processus)                                          .niveau_courant = (*s_etat_processus)
                                         .niveau_courant;                                          .niveau_courant;
                                 empilement_pile_systeme(s_etat_processus);                                  (*(*s_etat_processus).l_base_pile_systeme)
                                           .pointeur_objet_retour =
                                           l_element_courant;
                                   (*(*s_etat_processus).l_base_pile_systeme)
                                           .origine_routine_evaluation = 'Y';
   
                                 if (evaluation(s_etat_processus,                                  if (evaluation(s_etat_processus,
                                         (*(*s_etat_processus)                                          (*(*s_etat_processus)
Line 6699  evaluation(struct_processus *s_etat_proc Line 6695  evaluation(struct_processus *s_etat_proc
                                 {                                  {
                                     depilement_pile_systeme(s_etat_processus);                                      depilement_pile_systeme(s_etat_processus);
   
                                     (*(*s_etat_processus).l_base_pile_systeme)  
                                             .niveau_courant =  
                                             registre_niveau_courant;  
                                     (*(*s_etat_processus).l_base_pile_systeme)  
                                             .retour_definition =  
                                             registre_retour_definition;  
   
                                     if ((*s_etat_processus).profilage == d_vrai)                                      if ((*s_etat_processus).profilage == d_vrai)
                                     {                                      {
                                         profilage(s_etat_processus, NULL);                                          profilage(s_etat_processus, NULL);
Line 6729  evaluation(struct_processus *s_etat_proc Line 6718  evaluation(struct_processus *s_etat_proc
                                 }                                  }
   
                                 depilement_pile_systeme(s_etat_processus);                                  depilement_pile_systeme(s_etat_processus);
   
                                 (*(*s_etat_processus).l_base_pile_systeme)  
                                         .niveau_courant =  
                                         registre_niveau_courant;  
                                 (*(*s_etat_processus).l_base_pile_systeme)  
                                         .retour_definition =  
                                         registre_retour_definition;  
                             }                              }
                             else                              else
                             {                              {

Removed from v.1.66  
changed lines
  Added in v.1.72


CVSweb interface <joel.bertrand@systella.fr>