Diff for /rpl/src/evaluation.c between versions 1.23 and 1.31

version 1.23, 2010/07/14 14:19:33 version 1.31, 2011/01/03 12:08:03
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.18    RPL/2 (R) version 4.0.20
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
 #define TEST(instruction) (fonction == instruction)  #define TEST(instruction) (fonction == instruction)
 #define vers_niveau_inferieur instruction_vers_niveau_inferieur  #define vers_niveau_inferieur instruction_vers_niveau_inferieur
Line 5472  evaluation(struct_processus *s_etat_proc Line 5472  evaluation(struct_processus *s_etat_proc
         (*s_etat_processus).instruction_courante =           (*s_etat_processus).instruction_courante = 
                 (*((struct_fonction *) (*s_objet).objet)).nom_fonction;                  (*((struct_fonction *) (*s_objet).objet)).nom_fonction;
   
           registre_type_evaluation = (test_cfsf(s_etat_processus, 35) == d_vrai)
                   ? 'E' : 'N';
           cf(s_etat_processus, 35);
   
         analyse(s_etat_processus, (*((struct_fonction *)          analyse(s_etat_processus, (*((struct_fonction *)
                 (*s_objet).objet)).fonction);                  (*s_objet).objet)).fonction);
   
         (*s_etat_processus).instruction_courante = instruction_courante;          (*s_etat_processus).instruction_courante = instruction_courante;
   
           if (registre_type_evaluation == 'E')
           {
               sf(s_etat_processus, 35);
           }
           else
           {
               cf(s_etat_processus, 35);
           }
   
         if (((*s_etat_processus).erreur_systeme != d_es) ||          if (((*s_etat_processus).erreur_systeme != d_es) ||
                 ((*s_etat_processus).erreur_execution != d_ex) ||                  ((*s_etat_processus).erreur_execution != d_ex) ||
                 ((*s_etat_processus).exception != d_ep))                  ((*s_etat_processus).exception != d_ep))
         {          {
             (*s_etat_processus).instruction_courante = instruction_courante;  
             (*s_etat_processus).mode_execution_programme =              (*s_etat_processus).mode_execution_programme =
                     registre_mode_execution_programme;                      registre_mode_execution_programme;
             return(d_erreur);              return(d_erreur);
Line 5489  evaluation(struct_processus *s_etat_proc Line 5500  evaluation(struct_processus *s_etat_proc
     }      }
     else      else
     {      {
           (*s_etat_processus).instruction_courante = instruction_courante;
   
         if ((s_objet_tampon = copie_objet(s_etat_processus, s_objet, 'P'))          if ((s_objet_tampon = copie_objet(s_etat_processus, s_objet, 'P'))
                 == NULL)                  == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             (*s_etat_processus).instruction_courante = instruction_courante;  
             return(d_erreur);              return(d_erreur);
         }          }
   
         if (empilement(s_etat_processus, &((*s_etat_processus)          if (empilement(s_etat_processus, &((*s_etat_processus)
                 .l_base_pile), s_objet_tampon) == d_erreur)                  .l_base_pile), s_objet_tampon) == d_erreur)
         {          {
             (*s_etat_processus).instruction_courante = instruction_courante;  
             return(d_erreur);              return(d_erreur);
         }          }
     }      }

Removed from v.1.23  
changed lines
  Added in v.1.31


CVSweb interface <joel.bertrand@systella.fr>