Diff for /rpl/src/evaluation.c between versions 1.60 and 1.62

version 1.60, 2012/10/04 15:21:25 version 1.62, 2012/10/08 11:53:46
Line 585  evaluation(struct_processus *s_etat_proc Line 585  evaluation(struct_processus *s_etat_proc
     }      }
     else if (((*s_objet).type == RPN) || ((*s_objet).type == ALG))      else if (((*s_objet).type == RPN) || ((*s_objet).type == ALG))
     {      {
         // Ajout d'un bouchon à la liste des variables statiques pour  
         // savoir quelles sont les variables statiques qui ont été créées  
         // par l'évaluation de l'expression et qui sont susceptibles  
         // de devoir être éliminées.  
   
         if (ajout_bouchon_variable_statique(s_etat_processus) == d_erreur)  
         {  
             (*s_etat_processus).instruction_courante = instruction_courante;  
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;  
             return(d_erreur);  
         }  
   
         l_element_courant = (struct_liste_chainee *) (*s_objet).objet;          l_element_courant = (struct_liste_chainee *) (*s_objet).objet;
         l_element_egalite = NULL;          l_element_egalite = NULL;
         presence_egalite = d_faux;          presence_egalite = d_faux;
Line 814  evaluation(struct_processus *s_etat_proc Line 802  evaluation(struct_processus *s_etat_proc
                             ((*s_etat_processus).erreur_systeme == d_es) &&                              ((*s_etat_processus).erreur_systeme == d_es) &&
                             ((*s_etat_processus).exception == d_ep))                              ((*s_etat_processus).exception == d_ep))
                     {                      {
                           registre_evaluation_expression_compilee =
                                   (*s_etat_processus)
                                   .evaluation_expression_compilee;
   
                           if (((*(*s_etat_processus).pointeur_variable_courante)
                                   .origine == 'E') && ((*(*s_etat_processus)
                                   .pointeur_variable_courante).niveau == 0))
                           {
                               (*s_etat_processus).evaluation_expression_compilee
                                       = 'Y';
                           }
                           else
                           {
                               (*s_etat_processus).evaluation_expression_compilee
                                       = 'N';
                           }
   
                         analyse(s_etat_processus, (*((struct_fonction *)                          analyse(s_etat_processus, (*((struct_fonction *)
                                 (*(*l_element_courant).donnee).objet))                                  (*(*l_element_courant).donnee).objet))
                                 .fonction);                                  .fonction);
   
                           (*s_etat_processus).evaluation_expression_compilee =
                                   registre_evaluation_expression_compilee;
   
                         if (type_evaluation == 'I')                          if (type_evaluation == 'I')
                         {                          {
                             (*s_etat_processus).derniere_erreur_evaluation =                              (*s_etat_processus).derniere_erreur_evaluation =
Line 7201  evaluation(struct_processus *s_etat_proc Line 7209  evaluation(struct_processus *s_etat_proc
          * Retrait des variables statiques créées dans l'expression           * Retrait des variables statiques créées dans l'expression
          */           */
   
         if (retrait_variables_statiques(s_etat_processus) == d_erreur)          if (retrait_variables_statiques_locales(s_etat_processus) == d_erreur)
         {          {
             if (presence_egalite == d_vrai)              if (presence_egalite == d_vrai)
             {              {

Removed from v.1.60  
changed lines
  Added in v.1.62


CVSweb interface <joel.bertrand@systella.fr>