Diff for /rpl/src/evaluation.c between versions 1.73 and 1.74

version 1.73, 2013/03/06 09:00:26 version 1.74, 2013/03/06 10:05:09
Line 324  evaluation(struct_processus *s_etat_proc Line 324  evaluation(struct_processus *s_etat_proc
   
                 if (sequenceur(s_etat_processus) == d_erreur)                  if (sequenceur(s_etat_processus) == d_erreur)
                 {                  {
                       depilement_pile_systeme(s_etat_processus);
   
                     (*s_etat_processus).evaluation_forcee =                      (*s_etat_processus).evaluation_forcee =
                             registre_evaluation_forcee;                              registre_evaluation_forcee;
                     (*s_etat_processus).mode_execution_programme =                      (*s_etat_processus).mode_execution_programme =
Line 409  evaluation(struct_processus *s_etat_proc Line 411  evaluation(struct_processus *s_etat_proc
                         .niveau_courant = (*s_etat_processus)                          .niveau_courant = (*s_etat_processus)
                         .niveau_courant;                          .niveau_courant;
   
                 empilement_pile_systeme(s_etat_processus);                  // ICI
                   //empilement_pile_systeme(s_etat_processus);
   
                 if (presence_variable_partagee == d_faux)                  if (presence_variable_partagee == d_faux)
                 {                  {
Line 422  evaluation(struct_processus *s_etat_proc Line 425  evaluation(struct_processus *s_etat_proc
                             profilage(s_etat_processus, NULL);                              profilage(s_etat_processus, NULL);
                         }                          }
   
                           depilement_pile_systeme(s_etat_processus);
   
                         (*s_etat_processus).evaluation_expression_compilee =                          (*s_etat_processus).evaluation_expression_compilee =
                                 registre_evaluation_expression_compilee;                                  registre_evaluation_expression_compilee;
   
Line 444  evaluation(struct_processus *s_etat_proc Line 449  evaluation(struct_processus *s_etat_proc
                             profilage(s_etat_processus, NULL);                              profilage(s_etat_processus, NULL);
                         }                          }
   
                           depilement_pile_systeme(s_etat_processus);
   
                         (*s_etat_processus).evaluation_expression_compilee =                          (*s_etat_processus).evaluation_expression_compilee =
                                 registre_evaluation_expression_compilee;                                  registre_evaluation_expression_compilee;
   
Line 463  evaluation(struct_processus *s_etat_proc Line 470  evaluation(struct_processus *s_etat_proc
                 }                  }
   
                 depilement_pile_systeme(s_etat_processus);                  depilement_pile_systeme(s_etat_processus);
                 depilement_pile_systeme(s_etat_processus);  
   
                 if ((*s_etat_processus).erreur_systeme != d_es)                  if ((*s_etat_processus).erreur_systeme != d_es)
                 {                  {
Line 814  evaluation(struct_processus *s_etat_proc Line 820  evaluation(struct_processus *s_etat_proc
                     {                      {
                         if ((*s_etat_processus).arret_si_exception == d_faux)                          if ((*s_etat_processus).arret_si_exception == d_faux)
                         {                          {
 uprintf("<IFERR 1>\n");  
                             /*                              /*
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
Line 1250  uprintf("<IFERR 1>\n"); Line 1255  uprintf("<IFERR 1>\n");
                             /*                              /*
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
 uprintf("<IFERR 2>\n");  
   
                             while(l_element_courant != NULL)                              while(l_element_courant != NULL)
                             {                              {
Line 3383  uprintf("<IFERR 2>\n"); Line 3387  uprintf("<IFERR 2>\n");
                                 liberation(s_etat_processus, s_objet_evalue);                                  liberation(s_etat_processus, s_objet_evalue);
                             }                              }
   
                               depilement_pile_systeme(s_etat_processus);
   
                             (*s_etat_processus).instruction_courante =                              (*s_etat_processus).instruction_courante =
                                     instruction_courante;                                      instruction_courante;
                             return(d_erreur);                              return(d_erreur);
Line 3467  uprintf("<IFERR 2>\n"); Line 3473  uprintf("<IFERR 2>\n");
                                 liberation(s_etat_processus, s_objet_evalue);                                  liberation(s_etat_processus, s_objet_evalue);
                             }                              }
   
                               depilement_pile_systeme(s_etat_processus);
   
                             (*s_etat_processus).instruction_courante =                              (*s_etat_processus).instruction_courante =
                                     instruction_courante;                                      instruction_courante;
                             (*s_etat_processus).mode_execution_programme =                              (*s_etat_processus).mode_execution_programme =
Line 3798  uprintf("<IFERR 2>\n"); Line 3806  uprintf("<IFERR 2>\n");
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
   
 uprintf("<IFERR 3>\n");  
                             if ((message = messages(s_etat_processus)) == NULL)                              if ((message = messages(s_etat_processus)) == NULL)
                             {                              {
                                 if (presence_egalite == d_vrai)                                  if (presence_egalite == d_vrai)
Line 4271  uprintf("<IFERR 3>\n"); Line 4278  uprintf("<IFERR 3>\n");
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
   
 uprintf("<IFERR 4>\n");  
                             while(l_element_courant != NULL)                              while(l_element_courant != NULL)
                             {                              {
                                 if ((*(*l_element_courant).donnee).type == FCT)                                  if ((*(*l_element_courant).donnee).type == FCT)
Line 5050  uprintf("<IFERR 4>\n"); Line 5056  uprintf("<IFERR 4>\n");
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
   
 uprintf("<IFERR 5>\n");  
                             if ((message = messages(s_etat_processus)) == NULL)                              if ((message = messages(s_etat_processus)) == NULL)
                             {                              {
                                 if (presence_egalite == d_vrai)                                  if (presence_egalite == d_vrai)
Line 5523  uprintf("<IFERR 5>\n"); Line 5528  uprintf("<IFERR 5>\n");
                              * Reprise sur erreur                               * Reprise sur erreur
                              */                               */
   
 uprintf("<IFERR 6>\n");  
                             while(l_element_courant != NULL)                              while(l_element_courant != NULL)
                             {                              {
                                 if ((*(*l_element_courant).donnee).type == FCT)                                  if ((*(*l_element_courant).donnee).type == FCT)
Line 6538  uprintf("<IFERR 6>\n"); Line 6542  uprintf("<IFERR 6>\n");
                                             s_objet_evalue);                                              s_objet_evalue);
                                 }                                  }
   
                                   depilement_pile_systeme(s_etat_processus);
   
                                 (*s_etat_processus).instruction_courante =                                  (*s_etat_processus).instruction_courante =
                                         instruction_courante;                                          instruction_courante;
                                 (*s_etat_processus).mode_execution_programme =                                  (*s_etat_processus).mode_execution_programme =
Line 6746  uprintf("<IFERR 6>\n"); Line 6752  uprintf("<IFERR 6>\n");
                                 (*(*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);  
   
                                 if (evaluation(s_etat_processus,                                  if (evaluation(s_etat_processus,
                                         s_copie_variable_partagee,                                          s_copie_variable_partagee,
                                         type_evaluation) == d_erreur)                                          type_evaluation) == d_erreur)
                                 {                                  {
                                     depilement_pile_systeme(s_etat_processus);                                      depilement_pile_systeme(s_etat_processus);
                                     depilement_pile_systeme(s_etat_processus);  
   
                                     liberation(s_etat_processus,                                      liberation(s_etat_processus,
                                             s_copie_variable_partagee);                                              s_copie_variable_partagee);
Line 6781  uprintf("<IFERR 6>\n"); Line 6785  uprintf("<IFERR 6>\n");
                                 }                                  }
   
                                 depilement_pile_systeme(s_etat_processus);                                  depilement_pile_systeme(s_etat_processus);
                                 depilement_pile_systeme(s_etat_processus);  
   
                                 liberation(s_etat_processus,                                  liberation(s_etat_processus,
                                         s_copie_variable_partagee);                                          s_copie_variable_partagee);

Removed from v.1.73  
changed lines
  Added in v.1.74


CVSweb interface <joel.bertrand@systella.fr>