Diff for /rpl/src/gestion_pile_systeme.c between versions 1.60 and 1.91

version 1.60, 2013/04/08 10:06:11 version 1.91, 2023/12/22 10:10:54
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.14    RPL/2 (R) version 4.1.35
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2023 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 149  empilement_pile_systeme(struct_processus Line 149  empilement_pile_systeme(struct_processus
             = (*s_etat_processus).creation_variables_partagees;              = (*s_etat_processus).creation_variables_partagees;
     (*(*s_etat_processus).l_base_pile_systeme).evaluation_expression =      (*(*s_etat_processus).l_base_pile_systeme).evaluation_expression =
             d_faux;              d_faux;
       (*(*s_etat_processus).l_base_pile_systeme).debug_programme =
               (*s_etat_processus).debug_programme;
   
     (*s_etat_processus).erreur_systeme = d_es;      (*s_etat_processus).erreur_systeme = d_es;
     (*s_etat_processus).creation_variables_statiques = d_faux;      (*s_etat_processus).creation_variables_statiques = d_faux;
     (*s_etat_processus).creation_variables_partagees = d_faux;      (*s_etat_processus).creation_variables_partagees = d_faux;
       (*s_etat_processus).debug_programme = d_faux;
   
     return;      return;
 }  }
Line 223  depilement_pile_systeme(struct_processus Line 226  depilement_pile_systeme(struct_processus
   
         (*s_etat_processus).l_base_pile_systeme = l_nouvelle_base_liste;          (*s_etat_processus).l_base_pile_systeme = l_nouvelle_base_liste;
         (*s_etat_processus).erreur_systeme = d_es;          (*s_etat_processus).erreur_systeme = d_es;
           (*s_etat_processus).debug_programme = (*l_ancienne_base_liste)
                   .debug_programme;
   
         // On positionne le drapeau de création des variables statiques.          // On positionne le drapeau de création des variables statiques.
   
Line 513  trace(struct_processus *s_etat_processus Line 518  trace(struct_processus *s_etat_processus
   
                     for(j = 0; j < nb_variables; j++)                      for(j = 0; j < nb_variables; j++)
                     {                      {
                         if (((*(tableau[j].objet)).type == RPN) ||                          if (tableau[j].objet != NULL)
                                 ((*(tableau[j].objet)).type == ALG))  
                         {                          {
                             l_element_expression = (*(tableau[j].objet)).objet;                              // Variable ni partagée ni statique
                               if (((*(tableau[j].objet)).type == RPN) ||
                             while(l_element_expression != NULL)                                      ((*(tableau[j].objet)).type == ALG))
                             {                              {
                                 if (l_element_expression == (*l_element_courant)                                  l_element_expression =
                                         .pointeur_objet_retour)                                          (*(tableau[j].objet)).objet;
   
                                   while(l_element_expression != NULL)
                                 {                                  {
                                     candidat = j;                                      if (l_element_expression ==
                                     break;                                              (*l_element_courant)
                                 }                                              .pointeur_objet_retour)
                                       {
                                           candidat = j;
                                           break;
                                       }
   
                                 l_element_expression =                                      l_element_expression =
                                         (*l_element_expression).suivant;                                              (*l_element_expression).suivant;
                             }                                  }
   
                             if (candidat != -1)                                  if (candidat != -1)
                             {                                  {
                                 break;                                      break;
                                   }
                             }                              }
                         }                          }
                     }                      }
Line 617  trace(struct_processus *s_etat_processus Line 628  trace(struct_processus *s_etat_processus
                                 "unknown definition\n");                                  "unknown definition\n");
                     }                      }
                 }                  }
                 else                  else if ((*l_element_courant).niveau_courant == 0)
                 {                  {
                     fprintf(flux, "\n");                      fprintf(flux, "\n");
                     fprintf(flux, "                      = RPL/2 "                      fprintf(flux, "                      = RPL/2 "
                             "initialization\n");                              "initialization\n");
                 }                  }
                   else
                   {
                       fprintf(flux, "\n");
                   }
             }              }
         }          }
         else          else

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


CVSweb interface <joel.bertrand@systella.fr>