Diff for /rpl/src/compilation.c between versions 1.72 and 1.74

version 1.72, 2015/01/27 14:18:05 version 1.74, 2015/01/28 20:58:02
Line 281  compilation(struct_processus *s_etat_pro Line 281  compilation(struct_processus *s_etat_pro
   
                 while(i <= position_fin_nom_definition)                  while(i <= position_fin_nom_definition)
                 {                  {
                       if ((*s_etat_processus).pointeurs_caracteres_variables
                               [(*s_etat_processus).definitions_chainees[i]] < 0)
                       {
                           free(s_variable);
   
                           (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                           return(d_erreur);
                       }
   
                     *(definition++) = (*s_etat_processus)                      *(definition++) = (*s_etat_processus)
                             .definitions_chainees[i++];                              .definitions_chainees[i++];
                 }                  }
Line 290  compilation(struct_processus *s_etat_pro Line 299  compilation(struct_processus *s_etat_pro
                 if (recherche_variable(s_etat_processus, (*s_variable).nom)                  if (recherche_variable(s_etat_processus, (*s_variable).nom)
                         == d_vrai)                          == d_vrai)
                 {                  {
                       free(s_variable);
   
                     if ((*s_etat_processus).langue == 'F')                      if ((*s_etat_processus).langue == 'F')
                     {                      {
                         printf("+++Attention : Plusieurs définitions de"                          printf("+++Attention : Plusieurs définitions de"
Line 311  compilation(struct_processus *s_etat_pro Line 322  compilation(struct_processus *s_etat_pro
                 if ((*s_etat_processus).erreur_systeme != d_es)                  if ((*s_etat_processus).erreur_systeme != d_es)
                 {                  {
                     free(s_variable);                      free(s_variable);
   
                     return(d_erreur);                      return(d_erreur);
                 }                  }
   
Line 987  recherche_instruction_suivante_recursive Line 997  recherche_instruction_suivante_recursive
             (drapeau_fin_objet == d_faux) &&              (drapeau_fin_objet == d_faux) &&
             (erreur_analyse == d_ex) && (erreur_format == d_ex))              (erreur_analyse == d_ex) && (erreur_format == d_ex))
     {      {
   uprintf("%c", *pointeur_caractere_courant);
         switch(*pointeur_caractere_courant++)          switch(*pointeur_caractere_courant++)
         {          {
             case ']' :              case ']' :
Line 1629  recherche_instruction_suivante_recursive Line 1640  recherche_instruction_suivante_recursive
   
         if ((*(pointeur_caractere_courant - 1)) == caractere_fin)          if ((*(pointeur_caractere_courant - 1)) == caractere_fin)
         {          {
   uprintf(" > cas 1");
             // Cas des objets composites (LST, RPN, TBL)              // Cas des objets composites (LST, RPN, TBL)
             break;              break;
         }          }
         else if ((*pointeur_caractere_courant) == caractere_fin)          else if ((*pointeur_caractere_courant) == caractere_fin)
         {          {
   uprintf(" > cas 2");
             // Condition pour traiter les cas 123}              // Condition pour traiter les cas 123}
             break;              break;
         }          }
     }      }
   uprintf("\n");
   
     pointeur_fin_instruction = pointeur_caractere_courant;      pointeur_fin_instruction = pointeur_caractere_courant;
   
Line 1659  recherche_instruction_suivante_recursive Line 1673  recherche_instruction_suivante_recursive
             default:              default:
             {              {
                 (*s_etat_processus).erreur_execution = d_ex_syntaxe;                  (*s_etat_processus).erreur_execution = d_ex_syntaxe;
                 return(d_erreur);  //              return(d_erreur);
             }              }
         }          }
     }      }
Line 1698  recherche_instruction_suivante_recursive Line 1712  recherche_instruction_suivante_recursive
     (*s_etat_processus).position_courante = pointeur_fin_instruction      (*s_etat_processus).position_courante = pointeur_fin_instruction
             - (*s_etat_processus).definitions_chainees;              - (*s_etat_processus).definitions_chainees;
   
   uprintf("'%s'\n", (*s_etat_processus).instruction_courante);
     return(erreur);      return(erreur);
 }  }
   

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


CVSweb interface <joel.bertrand@systella.fr>