Diff for /rpl/src/types.c between versions 1.67 and 1.71

version 1.67, 2014/07/24 14:38:44 version 1.71, 2015/01/27 14:18:10
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.19    RPL/2 (R) version 4.1.20
   Copyright (C) 1989-2014 Dr. BERTRAND Joël    Copyright (C) 1989-2015 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 38 Line 38
 void  void
 recherche_type(struct_processus *s_etat_processus)  recherche_type(struct_processus *s_etat_processus)
 {  {
     enum t_type                 registre_type;  
   
     integer8                    i;      integer8                    i;
     integer8                    j;      integer8                    j;
     integer8                    niveau;      integer8                    niveau;
Line 145  recherche_type(struct_processus *s_etat_ Line 143  recherche_type(struct_processus *s_etat_
                  */                   */
   
                 if (((*((struct_fonction *) element)).nom_fonction =                  if (((*((struct_fonction *) element)).nom_fonction =
                         conversion_majuscule((*s_etat_processus)                          conversion_majuscule(s_etat_processus,
                         .instruction_courante)) == NULL)                          (*s_etat_processus).instruction_courante)) == NULL)
                 {                  {
                     (*s_etat_processus).erreur_systeme =                      (*s_etat_processus).erreur_systeme =
                             d_es_allocation_memoire;                              d_es_allocation_memoire;
Line 193  recherche_type(struct_processus *s_etat_ Line 191  recherche_type(struct_processus *s_etat_
         }          }
         else          else
         {          {
             if ((instruction_majuscule = conversion_majuscule(              if ((instruction_majuscule = conversion_majuscule(s_etat_processus,
                     (*s_etat_processus).instruction_courante)) == NULL)                      (*s_etat_processus).instruction_courante)) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 276  recherche_type(struct_processus *s_etat_ Line 274  recherche_type(struct_processus *s_etat_
             element = (void *) ((struct_complexe16 *) malloc(              element = (void *) ((struct_complexe16 *) malloc(
                     sizeof(struct_complexe16)));                      sizeof(struct_complexe16)));
   
               if (element == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                 (*s_etat_processus).traitement_interruptible =                  (*s_etat_processus).traitement_interruptible =
Line 1084  recherche_type(struct_processus *s_etat_ Line 1083  recherche_type(struct_processus *s_etat_
   
                 case d_faux :                  case d_faux :
                 {                  {
                     registre_type = (*s_etat_processus).type_en_cours;  
   
                     if (drapeau_complexe == d_vrai)  
                     {  
                         (*s_etat_processus).type_en_cours = VCX;  
                     }  
                     else if (drapeau_reel == d_vrai)  
                     {  
                         (*s_etat_processus).type_en_cours = VRL;  
                     }  
                     else  
                     {  
                         (*s_etat_processus).type_en_cours = VIN;  
                     }  
   
   
 /*  /*
 -- Sauvegarde des paramètres du processus pour analyser le vecteur -------------  -- Sauvegarde des paramètres du processus pour analyser le vecteur -------------
Line 1507  recherche_type(struct_processus *s_etat_ Line 1491  recherche_type(struct_processus *s_etat_
                         (*s_objet).type = VIN;                          (*s_objet).type = VIN;
                     }                      }
   
                     (*s_etat_processus).type_en_cours = registre_type;  
                     break;                      break;
                 }                  }
   
Line 1519  recherche_type(struct_processus *s_etat_ Line 1502  recherche_type(struct_processus *s_etat_
   
                 case d_vrai :                  case d_vrai :
                 {                  {
                     registre_type = (*s_etat_processus).type_en_cours;  
   
                     if (drapeau_complexe == d_vrai)  
                     {  
                         (*s_etat_processus).type_en_cours = MCX;  
                     }  
                     else if (drapeau_reel == d_vrai)  
                     {  
                         (*s_etat_processus).type_en_cours = MRL;  
                     }  
                     else  
                     {  
                         (*s_etat_processus).type_en_cours = MIN;  
                     }  
   
                     nombre_lignes--;                      nombre_lignes--;
   
                     sauvegarde_longueur_definitions_chainees =                      sauvegarde_longueur_definitions_chainees =
Line 2153  recherche_type(struct_processus *s_etat_ Line 2121  recherche_type(struct_processus *s_etat_
                         fflush(stdout);                          fflush(stdout);
                     }                      }
   
                     (*s_etat_processus).type_en_cours = registre_type;  
                     break;                      break;
                 }                  }
             }              }
Line 2169  recherche_type(struct_processus *s_etat_ Line 2136  recherche_type(struct_processus *s_etat_
   
         case '{' :          case '{' :
         {          {
             registre_type = (*s_etat_processus).type_en_cours;  
             (*s_etat_processus).type_en_cours = LST;  
   
             sauvegarde_longueur_definitions_chainees =              sauvegarde_longueur_definitions_chainees =
                     (*s_etat_processus).longueur_definitions_chainees;                      (*s_etat_processus).longueur_definitions_chainees;
   
Line 2553  recherche_type(struct_processus *s_etat_ Line 2517  recherche_type(struct_processus *s_etat_
             (*s_objet).type = LST;              (*s_objet).type = LST;
             element = (void *) l_element_courant;              element = (void *) l_element_courant;
   
             (*s_etat_processus).type_en_cours = registre_type;  
             break;              break;
         }          }
   
Line 2703  recherche_type(struct_processus *s_etat_ Line 2666  recherche_type(struct_processus *s_etat_
                          * elle est convertie en majuscules.                           * elle est convertie en majuscules.
                          */                           */
   
                         tampon = conversion_majuscule((*((struct_fonction *)                          tampon = conversion_majuscule(s_etat_processus,
                                   (*((struct_fonction *)
                                 (*(*l_element_courant).donnee).objet))                                  (*(*l_element_courant).donnee).objet))
                                 .nom_fonction);                                  .nom_fonction);
   
Line 2741  recherche_type(struct_processus *s_etat_ Line 2705  recherche_type(struct_processus *s_etat_
                                 {                                  {
                                     if ((fonction_majuscule =                                      if ((fonction_majuscule =
                                             conversion_majuscule(                                              conversion_majuscule(
                                               s_etat_processus,
                                             (*((struct_fonction *)                                              (*((struct_fonction *)
                                             ((*l_element_courant_fonctions)                                              ((*l_element_courant_fonctions)
                                             .donnee))).nom_fonction)) == NULL)                                              .donnee))).nom_fonction)) == NULL)
Line 2948  recherche_type(struct_processus *s_etat_ Line 2913  recherche_type(struct_processus *s_etat_
   
         case '<' :          case '<' :
         {          {
             registre_type = (*s_etat_processus).type_en_cours;  
   
             if ((*s_etat_processus).instruction_courante[1] == '[')              if ((*s_etat_processus).instruction_courante[1] == '[')
             {              {
                 // Tableau                  // Tableau
Line 3284  recherche_type(struct_processus *s_etat_ Line 3247  recherche_type(struct_processus *s_etat_
                 }                  }
             }              }
   
             (*s_etat_processus).type_en_cours = registre_type;  
             break;              break;
         }          }
   

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


CVSweb interface <joel.bertrand@systella.fr>