--- rpl/src/rpl.h 2011/04/11 12:10:12 1.78 +++ rpl/src/rpl.h 2011/04/13 19:28:01 1.79 @@ -1670,6 +1670,33 @@ typedef struct rpl_arguments void *s_etat_processus; } struct_rpl_arguments; +/* +-------------------------------------------------------------------------------- + Structure d'arbre des instructions intrinsèques +-------------------------------------------------------------------------------- +*/ + +#ifndef RPLARGS +typedef struct instruction +{ + struct instruction **noeud; + void (*feuille)(struct processus *); +} struct_instruction; +#endif + +/* +-------------------------------------------------------------------------------- + Structure d'arbre des variables variable globales et locales +-------------------------------------------------------------------------------- +*/ + +#ifndef RPLARGS +typedef struct arbre_variables +{ + struct arbre_variables **noeud; + struct_liste_chainee *l_variable; +} struct_arbre_variables; +#endif /* -------------------------------------------------------------------------------- @@ -1716,7 +1743,7 @@ typedef struct processus int *pointeurs_caracteres; int nombre_caracteres; - struct instruction *arbre_instructions; + struct_instruction *arbre_instructions; /* Requetes */ @@ -1780,9 +1807,8 @@ typedef struct processus /* Variables */ - struct_variable *s_liste_variables; - unsigned long nombre_variables; - unsigned long nombre_variables_allouees; + struct_arbre_variables *s_arbre_variables; + struct_liste_chainee *l_liste_variables_par_niveau; struct_variable_statique *s_liste_variables_statiques; unsigned long nombre_variables_statiques; @@ -1793,7 +1819,7 @@ typedef struct processus unsigned long niveau_courant; unsigned long niveau_initial; - unsigned long position_variable_courante; + struct_variable pointeur_variable_courante; unsigned long position_variable_statique_courante; logical1 creation_variables_statiques; @@ -2121,11 +2147,7 @@ typedef struct processus unsigned long taille_pile_objets; struct_objet *pile_objets; -# ifndef DEBUG_MALLOC -# define TAILLE_CACHE 16384 -# else -# define TAILLE_CACHE 4 -# endif +# define TAILLE_CACHE 16384 unsigned long *objets_adr[TAILLE_CACHE]; int pointeur_adr; @@ -2164,21 +2186,6 @@ typedef struct processus /* -------------------------------------------------------------------------------- - Structures instruction intrinsèque --------------------------------------------------------------------------------- -*/ - -#ifndef RPLARGS -typedef struct instruction -{ - struct instruction **noeud; - void (*feuille)(struct_processus *); -} struct_instruction; -#endif - - -/* --------------------------------------------------------------------------------- Structure fonction -------------------------------------------------------------------------------- */