Diff for /rpl/src/instructions_e2.c between versions 1.67 and 1.82

version 1.67, 2017/06/28 09:20:33 version 1.82, 2024/01/09 07:33:51
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.27    RPL/2 (R) version 4.1.35
   Copyright (C) 1989-2017 Dr. BERTRAND Joël    Copyright (C) 1989-2024 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 1132  instruction_externals(struct_processus * Line 1132  instruction_externals(struct_processus *
   
             strcpy((unsigned char *) (*(*l_element_courant).donnee).objet,              strcpy((unsigned char *) (*(*l_element_courant).donnee).objet,
                     (*s_etat_processus).s_instructions_externes[i].nom);                      (*s_etat_processus).s_instructions_externes[i].nom);
   
               if ((*s_etat_processus).s_instructions_externes[i].position_fleche
                       >= 0)
               {
                   memcpy((unsigned char *) (*(*l_element_courant).donnee).objet
                           + (*s_etat_processus).s_instructions_externes[i]
                           .position_fleche - (strlen((*s_etat_processus)
                           .s_instructions_externes[i].nom_bibliotheque) + 1),
                           "->", 2);
               }
         }          }
         else          else
         {          {
Line 1148  instruction_externals(struct_processus * Line 1158  instruction_externals(struct_processus *
                     "%s$%s", (*s_etat_processus).s_instructions_externes[i]                      "%s$%s", (*s_etat_processus).s_instructions_externes[i]
                     .nom_bibliotheque, (*s_etat_processus)                      .nom_bibliotheque, (*s_etat_processus)
                     .s_instructions_externes[i].nom);                      .s_instructions_externes[i].nom);
   
               if ((*s_etat_processus).s_instructions_externes[i].position_fleche
                       >= 0)
               {
                   memcpy((unsigned char *) (*(*l_element_courant).donnee).objet
                           + (*s_etat_processus).s_instructions_externes[i]
                           .position_fleche, "->", 2);
               }
         }          }
     }      }
   
Line 1265  instruction_exit(struct_processus *s_eta Line 1283  instruction_exit(struct_processus *s_eta
             presence_boucle = d_vrai;              presence_boucle = d_vrai;
             drapeau_boucle_definie = d_vrai;              drapeau_boucle_definie = d_vrai;
         }          }
         else if (((*l_element_pile_systeme).type_cloture ==  'D') ||          else if (((*l_element_pile_systeme).type_cloture == 'D') ||
                 ((*l_element_pile_systeme).type_cloture == 'W'))                  ((*l_element_pile_systeme).type_cloture == 'W'))
         {          {
             presence_boucle = d_vrai;              presence_boucle = d_vrai;
Line 1464  instruction_exit(struct_processus *s_eta Line 1482  instruction_exit(struct_processus *s_eta
                     }                      }
                     else                      else
                     {                      {
                         if ((strcmp(instruction_majuscule, "DO") == 0) ||                          empilement_pile_systeme(s_etat_processus);
                                 (strcmp(instruction_majuscule, "WHILE")  
                                 == 0))                          if (strcmp(instruction_majuscule, "DO") == 0)
                         {                          {
                               (*(*s_etat_processus).l_base_pile_systeme)
                                       .type_cloture = 'D';
                               niveau++;
                           }
                           else if (strcmp(instruction_majuscule, "WHILE") == 0)
                           {
                               (*(*s_etat_processus).l_base_pile_systeme)
                                       .type_cloture = 'W';
                             niveau++;                              niveau++;
                         }                          }
   
                         empilement_pile_systeme(s_etat_processus);  
   
                         if ((*s_etat_processus).erreur_systeme != d_es)                          if ((*s_etat_processus).erreur_systeme != d_es)
                         {                          {
Line 1734  instruction_exit(struct_processus *s_eta Line 1758  instruction_exit(struct_processus *s_eta
                     }                      }
                     else                      else
                     {                      {
                         if ((fonction == instruction_do) ||                          empilement_pile_systeme(s_etat_processus);
                                 (fonction == instruction_while))  
                           if (fonction == instruction_while)
                         {                          {
                               (*(*s_etat_processus).l_base_pile_systeme)
                                       .type_cloture = 'W';
                               niveau++;
                           }
                           else if (fonction == instruction_do)
                           {
                               (*(*s_etat_processus).l_base_pile_systeme)
                                       .type_cloture = 'D';
                             niveau++;                              niveau++;
                         }                          }
   
                         empilement_pile_systeme(s_etat_processus);  
   
                         if ((*s_etat_processus).erreur_systeme != d_es)                          if ((*s_etat_processus).erreur_systeme != d_es)
                         {                          {

Removed from v.1.67  
changed lines
  Added in v.1.82


CVSweb interface <joel.bertrand@systella.fr>