Diff for /rpl/src/types.c between versions 1.13 and 1.27.2.2

version 1.13, 2010/04/21 13:45:51 version 1.27.2.2, 2011/04/14 08:46:51
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.15    RPL/2 (R) version 4.0.23
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 75  recherche_type(struct_processus *s_etat_ Line 75  recherche_type(struct_processus *s_etat_
     unsigned char               registre_instruction_valide;      unsigned char               registre_instruction_valide;
     unsigned char               registre_interruption;      unsigned char               registre_interruption;
     unsigned char               registre_mode_execution_programme;      unsigned char               registre_mode_execution_programme;
       unsigned char               registre_recherche_type;
     unsigned char               registre_test;      unsigned char               registre_test;
     unsigned char               registre_test_bis;      unsigned char               registre_test_bis;
     unsigned char               *tampon;      unsigned char               *tampon;
Line 370  recherche_type(struct_processus *s_etat_ Line 371  recherche_type(struct_processus *s_etat_
                 }                  }
             }              }
   
               registre_recherche_type = (*s_etat_processus).recherche_type;
               (*s_etat_processus).recherche_type = 'Y';
   
             if (sequenceur(s_etat_processus) == d_erreur)              if (sequenceur(s_etat_processus) == d_erreur)
             {              {
                   (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                   (*s_etat_processus).recherche_type = registre_recherche_type;
                 (*s_etat_processus).instruction_courante = tampon;                  (*s_etat_processus).instruction_courante = tampon;
                 (*s_etat_processus).mode_execution_programme =                  (*s_etat_processus).mode_execution_programme =
                         registre_mode_execution_programme;                          registre_mode_execution_programme;
Line 397  recherche_type(struct_processus *s_etat_ Line 403  recherche_type(struct_processus *s_etat_
                 return;                  return;
             }              }
   
               (*s_etat_processus).recherche_type = registre_recherche_type;
             (*s_etat_processus).instruction_courante = tampon;              (*s_etat_processus).instruction_courante = tampon;
             (*s_etat_processus).mode_execution_programme =              (*s_etat_processus).mode_execution_programme =
                     registre_mode_execution_programme;                      registre_mode_execution_programme;
Line 1162  recherche_type(struct_processus *s_etat_ Line 1169  recherche_type(struct_processus *s_etat_
                         }                          }
                     }                      }
   
                       registre_recherche_type =
                               (*s_etat_processus).recherche_type;
                       (*s_etat_processus).recherche_type = 'Y';
   
                     if (sequenceur(s_etat_processus) == d_erreur)                      if (sequenceur(s_etat_processus) == d_erreur)
                     {                      {
                           (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                           (*s_etat_processus).recherche_type =
                                   registre_recherche_type;
                         (*s_etat_processus).mode_execution_programme =                          (*s_etat_processus).mode_execution_programme =
                                 registre_mode_execution_programme;                                  registre_mode_execution_programme;
                         nombre_lignes_a_supprimer =                          nombre_lignes_a_supprimer =
Line 1210  recherche_type(struct_processus *s_etat_ Line 1224  recherche_type(struct_processus *s_etat_
                         return;                          return;
                     }                      }
   
                       (*s_etat_processus).recherche_type =
                               registre_recherche_type;
                     (*s_etat_processus).mode_execution_programme =                      (*s_etat_processus).mode_execution_programme =
                             registre_mode_execution_programme;                              registre_mode_execution_programme;
   
Line 1570  recherche_type(struct_processus *s_etat_ Line 1586  recherche_type(struct_processus *s_etat_
                             return;                              return;
                         }                          }
                     }                      }
    
                       registre_recherche_type = (*s_etat_processus)
                               .recherche_type;
                       (*s_etat_processus).recherche_type = 'Y';
   
                     if (sequenceur(s_etat_processus) == d_erreur)                      if (sequenceur(s_etat_processus) == d_erreur)
                     {                      {
                           (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                           (*s_etat_processus).recherche_type =
                                   registre_recherche_type;
                         (*s_etat_processus).mode_execution_programme =                          (*s_etat_processus).mode_execution_programme =
                                 registre_mode_execution_programme;                                  registre_mode_execution_programme;
                         nombre_lignes_a_supprimer =                          nombre_lignes_a_supprimer =
Line 1620  recherche_type(struct_processus *s_etat_ Line 1643  recherche_type(struct_processus *s_etat_
                         return;                          return;
                     }                      }
   
                       (*s_etat_processus).recherche_type =
                               registre_recherche_type;
                     (*s_etat_processus).mode_execution_programme =                      (*s_etat_processus).mode_execution_programme =
                             registre_mode_execution_programme;                              registre_mode_execution_programme;
   
Line 2293  recherche_type(struct_processus *s_etat_ Line 2318  recherche_type(struct_processus *s_etat_
                 }                  }
             }              }
   
               registre_recherche_type = (*s_etat_processus).recherche_type;
               (*s_etat_processus).recherche_type = 'Y';
   
             if (sequenceur(s_etat_processus) == d_erreur)              if (sequenceur(s_etat_processus) == d_erreur)
             {              {
                   (*s_etat_processus).recherche_type = registre_recherche_type;
                 (*s_etat_processus).mode_execution_programme =                  (*s_etat_processus).mode_execution_programme =
                         registre_mode_execution_programme;                          registre_mode_execution_programme;
                 (*s_etat_processus).erreur_execution = d_ex_syntaxe;                  (*s_etat_processus).erreur_execution = d_ex_syntaxe;
Line 2343  recherche_type(struct_processus *s_etat_ Line 2372  recherche_type(struct_processus *s_etat_
                 return;                  return;
             }              }
   
               (*s_etat_processus).recherche_type = registre_recherche_type;
             (*s_etat_processus).mode_execution_programme =              (*s_etat_processus).mode_execution_programme =
                     registre_mode_execution_programme;                      registre_mode_execution_programme;
   
Line 2923  recherche_type(struct_processus *s_etat_ Line 2953  recherche_type(struct_processus *s_etat_
                     }                      }
                 }                  }
   
                   registre_recherche_type = (*s_etat_processus).recherche_type;
                   (*s_etat_processus).recherche_type = 'Y';
   
                 if (sequenceur(s_etat_processus) == d_erreur)                  if (sequenceur(s_etat_processus) == d_erreur)
                 {                  {
                       (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                       (*s_etat_processus).recherche_type =
                               registre_recherche_type;
                     (*s_etat_processus).mode_execution_programme =                      (*s_etat_processus).mode_execution_programme =
                             registre_mode_execution_programme;                              registre_mode_execution_programme;
                     nombre_lignes_a_supprimer =                      nombre_lignes_a_supprimer =
Line 2972  recherche_type(struct_processus *s_etat_ Line 3008  recherche_type(struct_processus *s_etat_
                     return;                      return;
                 }                  }
   
                   (*s_etat_processus).recherche_type = registre_recherche_type;
                 (*s_etat_processus).mode_execution_programme =                  (*s_etat_processus).mode_execution_programme =
                         registre_mode_execution_programme;                          registre_mode_execution_programme;
   
Line 3122  recherche_type(struct_processus *s_etat_ Line 3159  recherche_type(struct_processus *s_etat_
   
                 if (element == NULL)                  if (element == NULL)
                 {                  {
 // ICI  
                     if ((*s_etat_processus).erreur_systeme != d_es)                      if ((*s_etat_processus).erreur_systeme != d_es)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
Line 3378  recherche_type(struct_processus *s_etat_ Line 3414  recherche_type(struct_processus *s_etat_
             if ((drapeau_valeur_reelle == d_faux) &&              if ((drapeau_valeur_reelle == d_faux) &&
                     (drapeau_valeur_entiere == d_faux))                      (drapeau_valeur_entiere == d_faux))
             {              {
                   ptr = (*s_etat_processus).instruction_courante;
   
                   while((*ptr) != d_code_fin_chaine)
                   {
                       if ((isalnum((*ptr)) == 0) &&
                               ((*ptr) != '_') &&
                               ((*ptr) != '$'))
                       {
                           free(s_objet);
   
                           (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                           (*s_etat_processus).traitement_interruptible =
                                   registre_interruption;
   
                           return;
                       }
   
                       ptr++;
                   }
   
                 (*s_objet).type = NOM;                  (*s_objet).type = NOM;
   
                 element = malloc(sizeof(struct_nom));                  element = malloc(sizeof(struct_nom));

Removed from v.1.13  
changed lines
  Added in v.1.27.2.2


CVSweb interface <joel.bertrand@systella.fr>