Diff for /rpl/src/rpl.h between versions 1.81 and 1.100

version 1.81, 2011/04/14 10:32:59 version 1.100, 2011/06/23 13:41:16
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.0.prerelease.0    RPL/2 (R) version 4.1.0.prerelease.3
   Copyright (C) 1989-2011 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 922  pid_t debug_fork(); Line 922  pid_t debug_fork();
 #   define d_ex_clef_inexistante                __erreur(80)  #   define d_ex_clef_inexistante                __erreur(80)
 #   define d_ex_nom_implicite                   __erreur(81)  #   define d_ex_nom_implicite                   __erreur(81)
 #   define d_ex_version_bibliotheque            __erreur(82)  #   define d_ex_version_bibliotheque            __erreur(82)
   #   define d_ex_creation_variable_globale       __erreur(83)
 #endif  #endif
   
   
Line 1679  typedef struct rpl_arguments Line 1680  typedef struct rpl_arguments
 #ifndef RPLARGS  #ifndef RPLARGS
 typedef struct instruction  typedef struct instruction
 {  {
     struct instruction      **noeud;      struct instruction      **noeuds;
     void                    (*feuille)(struct processus *);      void                    (*feuille)(struct processus *);
 } struct_instruction;  } struct_instruction;
 #endif  #endif
Line 1693  typedef struct instruction Line 1694  typedef struct instruction
 #ifndef RPLARGS  #ifndef RPLARGS
 typedef struct arbre_variables  typedef struct arbre_variables
 {  {
     struct arbre_variables  **noeud;      unsigned int            noeuds_utilises;
     struct_liste_chainee    *l_variable;      signed int              indice_tableau_pere;
       struct arbre_variables  *noeud_pere;
       struct arbre_variables  **noeuds;
       struct liste_variables  *feuille;
 } struct_arbre_variables;  } struct_arbre_variables;
   
   typedef struct tableau_variables
   {
       unsigned char           origine;
       unsigned char           *nom;       // pointeur sur la struct_variable
                                           // réelle et non copie de la chaîne
       unsigned long           niveau;
   
       struct_objet            *objet;     // pointeur sur l'objet et non copie
                                           // de l'objet.
   
       logical1                variable_verrouillee;
       union_position_variable variable_statique;
       union_position_variable variable_partagee;
   } struct_tableau_variables;
   
   typedef struct liste_variables
   {
       union
       {
           // Utilisation dans la gestion des variables
           struct_variable                 *variable;
           // Utilisation dans la pile système (variables par niveau)
           struct_liste_chainee            *liste;
       };
   
       struct arbre_variables              *noeud_pere;
       struct arbre_variables              *noeud;
       struct liste_variables              *suivant;
       struct liste_variables              *precedent;
   } struct_liste_variables;
   
 #endif  #endif
   
 /*  /*
Line 1807  typedef struct processus Line 1843  typedef struct processus
   
 /* Variables                                            */  /* Variables                                            */
   
       // La liste des variables par niveau est doublement chaînée.
       // À tout moment, elle pointe sur le niveau le plus haut existant et
       // l_liste_variable_par_niveau->precedent renvoie la liste des
       // définitions. l_liste_variable_par_niveau->precedent->precedent pointe
       // sur la liste des variables globales.
       //
       // À l'initialisation :
       // l_liste_variables_par_niveau->suivant == l_liste_variables_par_niveau
       // l_liste_variables_par_niveau->precedent == l_liste_variables_par_niveau
   
     struct_arbre_variables      *s_arbre_variables;      struct_arbre_variables      *s_arbre_variables;
     struct_liste_chainee        *l_liste_variables_par_niveau;      struct_liste_variables      *l_liste_variables_par_niveau;
       logical1                    niveau_supprime;
   
       struct_variable             *pointeur_variable_courante;
       struct_liste_variables      *pointeur_feuille_courante;
   
     int                         *pointeurs_caracteres_variables;      int                         *pointeurs_caracteres_variables;
     int                         nombre_caracteres_variables;      int                         nombre_caracteres_variables;
Line 1822  typedef struct processus Line 1872  typedef struct processus
   
     unsigned long               niveau_courant;      unsigned long               niveau_courant;
     unsigned long               niveau_initial;      unsigned long               niveau_initial;
     struct_variable             *pointeur_variable_courante;  
     unsigned long               position_variable_statique_courante;      unsigned long               position_variable_statique_courante;
   
     logical1                    creation_variables_statiques;      logical1                    creation_variables_statiques;
Line 2184  typedef struct processus Line 2233  typedef struct processus
   
     struct_liste_chainee        *maillons[TAILLE_CACHE];      struct_liste_chainee        *maillons[TAILLE_CACHE];
     int                         pointeur_maillons;      int                         pointeur_maillons;
   
       struct_arbre_variables      *variables_noeud[TAILLE_CACHE];
       int                         pointeur_variables_noeud;
   
       struct_liste_variables      *variables_feuille[TAILLE_CACHE];
       int                         pointeur_variables_feuille;
   
       struct_variable             *variables_variable[TAILLE_CACHE];
       int                         pointeur_variables_variable;
   
       struct_arbre_variables      **variables_tableau_noeuds[TAILLE_CACHE];
       int                         pointeur_variables_tableau_noeuds;
 } struct_processus;  } struct_processus;
 #endif  #endif
   
Line 2770  void conversion_hms_vers_decimal(real8 * Line 2831  void conversion_hms_vers_decimal(real8 *
 void conversion_majuscule_limitee(unsigned char *chaine_entree,   void conversion_majuscule_limitee(unsigned char *chaine_entree, 
         unsigned char *chaine_sortie, unsigned long longueur);          unsigned char *chaine_sortie, unsigned long longueur);
 void conversion_radians_vers_degres(real8 *angle);  void conversion_radians_vers_degres(real8 *angle);
   void copie_arbre_variables(struct_processus *s_etat_processus,
           struct_processus *s_nouvel_etat_processus);
 void correction_formateur_tex(struct_processus *s_etat_processus,  void correction_formateur_tex(struct_processus *s_etat_processus,
         unsigned char **ligne);          unsigned char **ligne);
 void depilement_pile_systeme(struct_processus *s_etat_processus);  void depilement_pile_systeme(struct_processus *s_etat_processus);
Line 2851  void liberation_maillon(struct_processus Line 2914  void liberation_maillon(struct_processus
 void liberation_allocateur(struct_processus *s_etat_processus);  void liberation_allocateur(struct_processus *s_etat_processus);
 void liberation_arbre_instructions(struct_processus *s_etat_processus,  void liberation_arbre_instructions(struct_processus *s_etat_processus,
         struct_instruction *arbre);          struct_instruction *arbre);
   void liberation_arbre_variables(struct_processus *s_etat_processus,
           struct_arbre_variables *arbre, logical1 definitions);
 void liberation_generateur_aleatoire(struct_processus *s_etat_processus);  void liberation_generateur_aleatoire(struct_processus *s_etat_processus);
 void liberation_threads(struct_processus *s_etat_processus);  void liberation_threads(struct_processus *s_etat_processus);
 void liberation_profil(struct_processus *s_etat_processus);  void liberation_profil(struct_processus *s_etat_processus);
Line 3005  unsigned char *formateur_nombre(struct_p Line 3070  unsigned char *formateur_nombre(struct_p
         void *valeur_numerique, unsigned char type);          void *valeur_numerique, unsigned char type);
 unsigned char *formateur_reel(struct_processus *s_etat_processus,  unsigned char *formateur_reel(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type);          void *valeur_numerique, unsigned char type);
   unsigned char *interface_cas(struct_processus *s_etat_processus,
           unsigned char *commande, const char *argument);
 unsigned char *messages(struct_processus *s_etat_processus);  unsigned char *messages(struct_processus *s_etat_processus);
 unsigned char *purification_chaine(unsigned char *chaine);  unsigned char *purification_chaine(unsigned char *chaine);
 unsigned char *reencodage(struct_processus *s_etat_processus,  unsigned char *reencodage(struct_processus *s_etat_processus,
Line 3061  logical1 retrait_variable_statique(struc Line 3128  logical1 retrait_variable_statique(struc
         unsigned char *nom_variable, union_position_variable position);          unsigned char *nom_variable, union_position_variable position);
 logical1 sequenceur(struct_processus *s_etat_processus);  logical1 sequenceur(struct_processus *s_etat_processus);
 logical1 sequenceur_optimise(struct_processus *s_etat_processus);  logical1 sequenceur_optimise(struct_processus *s_etat_processus);
   
 struct_arbre_variables *copie_arbre_variables(  
         struct_processus *s_etat_processus);  
 #endif  #endif
   
 /*  /*
Line 3082  logical1 ecriture_pipe(struct_processus Line 3146  logical1 ecriture_pipe(struct_processus
         struct_objet *s_objet);          struct_objet *s_objet);
 logical1 recherche_variable(struct_processus *s_etat_processus,  logical1 recherche_variable(struct_processus *s_etat_processus,
         unsigned char *nom_variable);          unsigned char *nom_variable);
   logical1 recherche_variable_globale(struct_processus *s_etat_processus,
           unsigned char *nom_variable);
 logical1 recherche_variable_partagee(struct_processus *s_etat_processus,  logical1 recherche_variable_partagee(struct_processus *s_etat_processus,
         unsigned char *nom_variable, union_position_variable position,          unsigned char *nom_variable, union_position_variable position,
         unsigned char origine);          unsigned char origine);
Line 3114  ssize_t write_atomic(struct_processus *s Line 3180  ssize_t write_atomic(struct_processus *s
 */  */
   
 int alsprintf(unsigned char **strp, const char *fmt, ...);  int alsprintf(unsigned char **strp, const char *fmt, ...);
   int liste_variables(struct_processus *s_etat_processus,
           struct_tableau_variables *tableau, int position,
           struct_arbre_variables *l_element_courant);
   int nombre_variables(struct_processus *s_etat_processus,
           struct_arbre_variables *l_element_courant);
 int tex_fprintf(struct_processus *s_etat_processus,  int tex_fprintf(struct_processus *s_etat_processus,
         file *flux, const char *format, ...);          file *flux, const char *format, ...);
 int transliterated_fprintf(struct_processus *s_etat_processus, file *flux,  int transliterated_fprintf(struct_processus *s_etat_processus, file *flux,

Removed from v.1.81  
changed lines
  Added in v.1.100


CVSweb interface <joel.bertrand@systella.fr>