Diff for /rpl/src/compilation.c between versions 1.3 and 1.39

version 1.3, 2010/02/10 10:14:18 version 1.39, 2012/01/25 16:38:30
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.11    RPL/2 (R) version 4.1.6
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2012 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 72  compilation(struct_processus *s_etat_pro Line 72  compilation(struct_processus *s_etat_pro
   
     (*s_etat_processus).position_courante = 0;      (*s_etat_processus).position_courante = 0;
   
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Recheche des définitions    Recheche des définitions
Line 812  analyse_syntaxique(struct_processus *s_e Line 811  analyse_syntaxique(struct_processus *s_e
   
 /*  /*
 ================================================================================  ================================================================================
     Procédure de d'analyse syntaxique du source pour readline
   ================================================================================
     Entrées :
   --------------------------------------------------------------------------------
     Sorties :
       - rl_done à 0 ou à 1.
   --------------------------------------------------------------------------------
     Effets de bord :
   ================================================================================
   */
   
   int
   readline_analyse_syntaxique(int count, int key)
   {
       struct_processus            s_etat_processus;
   
       s_etat_processus.definitions_chainees = rl_line_buffer;
       s_etat_processus.debug = d_faux;
   
       if ((*rl_line_buffer) == d_code_fin_chaine)
       {
           rl_done = 1;
       }
       else
       {
           if (analyse_syntaxique(&s_etat_processus) == d_absence_erreur)
           {
               rl_done = 1;
           }
           else
           {
               rl_done = 0;
               rl_mark = rl_end;
               rl_crlf();
               rl_expand_prompt("     > ");
               rl_on_new_line();
           }
       }
   
       if (rl_done != 0)
       {
           uprintf("\n");
       }
   
       return(0);
   }
   
   
   /*
   ================================================================================
   Routine d'échange de deux variables    Routine d'échange de deux variables
 ================================================================================  ================================================================================
   Entrées :    Entrées :
Line 831  swap(void *variable_1, void *variable_2, Line 880  swap(void *variable_1, void *variable_2,
     register unsigned char      *t_var_2;      register unsigned char      *t_var_2;
     register unsigned char      variable_temporaire;      register unsigned char      variable_temporaire;
   
     register signed long        i;      register unsigned long      i;
   
     t_var_1 = (unsigned char *) variable_1;      t_var_1 = (unsigned char *) variable_1;
     t_var_2 = (unsigned char *) variable_2;      t_var_2 = (unsigned char *) variable_2;
   
     i = taille;      for(i = 0; i < taille; i++)
   
     for(i--; i >= 0; i--)  
     {      {
         variable_temporaire = t_var_1[i];          variable_temporaire = (*t_var_1);
         t_var_1[i] = t_var_2[i];          (*(t_var_1++)) = (*t_var_2);
         t_var_2[i] = variable_temporaire;          (*(t_var_2++)) = variable_temporaire;
     }      }
   
       return;
 }  }
   
   
Line 1687  conversion_majuscule(unsigned char *chai Line 1736  conversion_majuscule(unsigned char *chai
     return(chaine_convertie);      return(chaine_convertie);
 }  }
   
   void
   conversion_majuscule_limitee(unsigned char *chaine_entree,
           unsigned char *chaine_sortie, unsigned long longueur)
   {
       unsigned long           i;
   
       for(i = 0; i < longueur; i++)
       {
           if (isalpha((*chaine_entree)))
           {
               (*chaine_sortie) = (unsigned char) toupper((*chaine_entree));
           }
           else
           {
               (*chaine_sortie) = (*chaine_entree);
           }
   
           if ((*chaine_entree) == d_code_fin_chaine)
           {
               break;
           }
   
           chaine_entree++;
           chaine_sortie++;
       }
   
       return;
   }
   
   
 /*  /*
 ================================================================================  ================================================================================
Line 1721  initialisation_drapeaux(struct_processus Line 1799  initialisation_drapeaux(struct_processus
   
     cf(s_etat_processus, 32);   /* Impression automatique                   */      cf(s_etat_processus, 32);   /* Impression automatique                   */
     cf(s_etat_processus, 33);   /* CR automatique (disp)                    */      cf(s_etat_processus, 33);   /* CR automatique (disp)                    */
     cf(s_etat_processus, 34);   /* Valeur principale (intervalle de déf.)   */      sf(s_etat_processus, 34);   /* Évaluation des caractères de contrôle    */
     sf(s_etat_processus, 35);   /* Evaluation symbolique des constantes     */      sf(s_etat_processus, 35);   /* Évaluation symbolique des constantes     */
     sf(s_etat_processus, 36);   /* Evaluation symbolique des fonctions      */      sf(s_etat_processus, 36);   /* Évaluation symbolique des fonctions      */
     sf(s_etat_processus, 37);   /* Taille de mot pour les entiers binaires  */      sf(s_etat_processus, 37);   /* Taille de mot pour les entiers binaires  */
     sf(s_etat_processus, 38);   /* Taille de mot pour les entiers binaires  */      sf(s_etat_processus, 38);   /* Taille de mot pour les entiers binaires  */
     sf(s_etat_processus, 39);   /* Taille de mot pour les entiers binaires  */      sf(s_etat_processus, 39);   /* Taille de mot pour les entiers binaires  */

Removed from v.1.3  
changed lines
  Added in v.1.39


CVSweb interface <joel.bertrand@systella.fr>