--- rpl/src/rpl.h 2012/09/15 12:57:09 1.175 +++ rpl/src/rpl.h 2012/10/03 14:53:12 1.179 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.10 + RPL/2 (R) version 4.1.11 Copyright (C) 1989-2012 Dr. BERTRAND Joël This file is part of RPL/2. @@ -1495,6 +1495,7 @@ typedef struct liste_pile_systeme L LOOP : boucle utilisé dans le traitement de l'instruction RETURN. Elle correspond à une boucle FOR ou START mais sans son initialisation. + A FORALL : NEXT termine une boucle sur un objet. */ unsigned long adresse_retour; @@ -1520,7 +1521,7 @@ typedef union position_variable typedef struct variable { unsigned char *nom; - unsigned char origine; + unsigned char origine; // P(rogramme) ou E(valuation) unsigned long niveau; @@ -1728,18 +1729,25 @@ typedef struct instruction /* -------------------------------------------------------------------------------- - Structure d'arbre des variables variable globales et locales + Structure d'arbre des variables globales et locales -------------------------------------------------------------------------------- */ #ifndef RPLARGS typedef struct arbre_variables { - unsigned int noeuds_utilises; - signed int indice_tableau_pere; - struct arbre_variables *noeud_pere; - struct arbre_variables **noeuds; - struct liste_variables *feuille; + unsigned int noeuds_utilises; + // Nombre de noeuds utilisés dans le + // tableau **noeuds + signed int indice_tableau_pere; + // Position de la structure dans le + // tableau **noeuds du père + + struct arbre_variables *noeud_pere; + struct arbre_variables **noeuds; + + struct liste_variables *feuille; + struct liste_variables_statiques *feuille_statique; } struct_arbre_variables; typedef struct tableau_variables @@ -1773,6 +1781,11 @@ typedef struct liste_variables struct liste_variables *precedent; } struct_liste_variables; +typedef struct liste_variables_statiques +{ + struct liste_variables_statiques *suivant; + struct_variable_statique *variable; +} struct_liste_variables_statiques; #endif /* @@ -2475,6 +2488,7 @@ void instruction_fleche_str(struct_proce void instruction_fleche_table(struct_processus *s_etat_processus); void instruction_floor(struct_processus *s_etat_processus); void instruction_for(struct_processus *s_etat_processus); +void instruction_forall(struct_processus *s_etat_processus); void instruction_format(struct_processus *s_etat_processus); void instruction_fp(struct_processus *s_etat_processus); void instruction_fs_test(struct_processus *s_etat_processus);