--- rpl/src/evaluation.c 2016/03/16 12:19:33 1.101 +++ rpl/src/evaluation.c 2016/08/26 08:57:55 1.102 @@ -1,7 +1,7 @@ /* ================================================================================ RPL/2 (R) version 4.1.25 - Copyright (C) 1989-2016 Dr. BERTRAND Joël + Copyright (C) 1989-2016 Dr. BERTRAND Joël This file is part of RPL/2. @@ -31,14 +31,14 @@ ================================================================================ Evaluation d'une expression ================================================================================ - Entrées : + Entrées : structure processus, - objet à évaluer (non libéré au retour de la routine) + objet à évaluer (non libéré au retour de la routine) et type ('E' pour 'EVAL', 'I' pour interactif et 'N' pour '->NUM') -------------------------------------------------------------------------------- - Sorties : objet évalué au niveau 1 de la pile + Sorties : objet évalué au niveau 1 de la pile -------------------------------------------------------------------------------- - Effets de bord : néant + Effets de bord : néant ================================================================================ */ @@ -176,7 +176,7 @@ evaluation(struct_processus *s_etat_proc if ((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL) { - // Variable partagée + // Variable partagée presence_variable_partagee = d_faux; @@ -236,7 +236,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Variable privée + // Variable privée presence_variable = d_vrai; @@ -571,10 +571,10 @@ evaluation(struct_processus *s_etat_proc if (presence_egalite == d_vrai) { - // S'il y a un signe '=', on modifie l'expression à évaluer en ôtant - // le signe '=' et en le remplaçant d'une part par SWAP DROP - // et d'autre part par DROP. On évalue la première puis la - // seconde normalement avant de reconstituer le tout à la fin + // S'il y a un signe '=', on modifie l'expression à évaluer en ôtant + // le signe '=' et en le remplaçant d'une part par SWAP DROP + // et d'autre part par DROP. On évalue la première puis la + // seconde normalement avant de reconstituer le tout à la fin // de la routine. l_registre_pile_operationnelle = NULL; @@ -633,8 +633,8 @@ evaluation(struct_processus *s_etat_proc return(d_erreur); } - // Récupération de l'objet au niveau 1 résultat de l'évaluation - // du premier membre de l'équation puis destruction de la pile. + // Récupération de l'objet au niveau 1 résultat de l'évaluation + // du premier membre de l'équation puis destruction de la pile. if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), &s_objet_evalue) == d_erreur) @@ -646,7 +646,7 @@ evaluation(struct_processus *s_etat_proc instruction_clear(s_etat_processus); - // Régénération de la pile initiale + // Régénération de la pile initiale while(depilement(s_etat_processus, &l_registre_pile_operationnelle, &s_sous_objet) != d_erreur) @@ -710,7 +710,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Exécution de la séquence d'instructions + * Exécution de la séquence d'instructions */ l_element_courant = (struct_liste_chainee *) (*s_objet).objet; @@ -731,8 +731,8 @@ evaluation(struct_processus *s_etat_proc if ((*(*l_element_courant).donnee).type == FCT) { /* - * Tester la cohérence avec une variable pour récupérer les - * données selon les indices passés en argument (tableaux, + * Tester la cohérence avec une variable pour récupérer les + * données selon les indices passés en argument (tableaux, * listes...). */ @@ -867,8 +867,8 @@ evaluation(struct_processus *s_etat_proc .objet)).fonction; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -1016,7 +1016,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -1133,7 +1133,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour + // Traitement spécifique pour // la fin d'une section // critique @@ -1259,8 +1259,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -1382,7 +1382,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -1499,7 +1499,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour + // Traitement spécifique pour // la fin d'une section // critique @@ -1598,7 +1598,7 @@ evaluation(struct_processus *s_etat_proc } else { - // On ne détruit pas les variables pour les inclure + // On ne détruit pas les variables pour les inclure // dans le fichier rpl-core. (*s_etat_processus).gel_liste_variables = d_vrai; @@ -1636,8 +1636,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -1767,7 +1767,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -1884,7 +1884,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour + // Traitement spécifique pour // la fin d'une section critique if ((*s_etat_processus) @@ -2007,7 +2007,7 @@ evaluation(struct_processus *s_etat_proc else { /* - * Régénération de la fonction en notation algébrique + * Régénération de la fonction en notation algébrique */ if ((s_objet_elementaire = (struct_objet *) @@ -2193,7 +2193,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Clôture de l'expression + * Clôture de l'expression */ if (((*l_element_fonction).suivant = @@ -2302,7 +2302,7 @@ evaluation(struct_processus *s_etat_proc .pointeur_variable_courante).variable_partagee, 'E') != NULL) { - // Une variable partagée existe. + // Une variable partagée existe. presence_variable_partagee = d_vrai; @@ -2322,13 +2322,13 @@ evaluation(struct_processus *s_etat_proc } /* - * Recherche d'un élément dans un vecteur + * Recherche d'un élément dans un vecteur */ if ((*(*s_etat_processus).pointeur_variable_courante) .objet == NULL) { - // La variable partagée n'existe plus. + // La variable partagée n'existe plus. free(s_objet_elementaire); @@ -2612,7 +2612,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Recherche d'un élément dans une matrice + * Recherche d'un élément dans une matrice */ else if ((((*((*(*s_etat_processus) @@ -2920,7 +2920,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Recherche de l'élément idoine dans la liste + * Recherche de l'élément idoine dans la liste */ else if (((*((*(*s_etat_processus) @@ -3085,8 +3085,8 @@ evaluation(struct_processus *s_etat_proc return(d_erreur); } - // Si l'objet élémentaire est un nom et que ce nom n'est - // pas un nom symbolique, il convient de l'évaluer. + // Si l'objet élémentaire est un nom et que ce nom n'est + // pas un nom symbolique, il convient de l'évaluer. if ((*s_objet_elementaire).type == NOM) { @@ -3167,7 +3167,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Recherche de l'élément idoine dans la table + * Recherche de l'élément idoine dans la table */ else if (((*((*(*s_etat_processus) @@ -3322,8 +3322,8 @@ evaluation(struct_processus *s_etat_proc return(d_erreur); } - // Si l'objet élémentaire est un nom et que ce nom n'est - // pas un nom symbolique, il convient de l'évaluer. + // Si l'objet élémentaire est un nom et que ce nom n'est + // pas un nom symbolique, il convient de l'évaluer. if ((*s_objet_elementaire).type == NOM) { @@ -4009,8 +4009,8 @@ evaluation(struct_processus *s_etat_proc .objet)).fonction; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -4158,7 +4158,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -4275,7 +4275,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -4441,8 +4441,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -4564,7 +4564,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -4681,7 +4681,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -4776,7 +4776,7 @@ evaluation(struct_processus *s_etat_proc } else { - // On ne détruit pas les variables pour les inclure + // On ne détruit pas les variables pour les inclure // dans le fichier rpl-core. (*s_etat_processus).gel_liste_variables = d_vrai; @@ -4814,8 +4814,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -4937,7 +4937,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -5054,7 +5054,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -5262,8 +5262,8 @@ evaluation(struct_processus *s_etat_proc .objet)).fonction; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -5411,7 +5411,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -5528,7 +5528,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -5622,7 +5622,7 @@ evaluation(struct_processus *s_etat_proc { /* * La fin de l'expression est atteinte, - * le séquenceur reprend la main. + * le séquenceur reprend la main. */ if (presence_egalite == d_vrai) @@ -5694,8 +5694,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -5817,7 +5817,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -5934,7 +5934,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -6029,7 +6029,7 @@ evaluation(struct_processus *s_etat_proc } else { - // On ne détruit pas les variables pour les inclure + // On ne détruit pas les variables pour les inclure // dans le fichier rpl-core. (*s_etat_processus).gel_liste_variables = d_vrai; @@ -6067,8 +6067,8 @@ evaluation(struct_processus *s_etat_proc = d_es; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -6190,7 +6190,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -6307,7 +6307,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour la + // Traitement spécifique pour la // fin d'une section critique if ((*s_etat_processus) @@ -6483,7 +6483,7 @@ evaluation(struct_processus *s_etat_proc if ((*(*s_etat_processus) .pointeur_variable_courante).objet == NULL) { - // Variable partagée + // Variable partagée presence_variable_partagee = d_faux; @@ -6574,8 +6574,8 @@ evaluation(struct_processus *s_etat_proc if ((*((struct_nom *) (*(*l_element_courant).donnee) .objet)).symbole == d_vrai) { - // L'objet apparaît comme un symbole dans - // l'expression en cours d'évaluation. On se + // L'objet apparaît comme un symbole dans + // l'expression en cours d'évaluation. On se // contente de l'empiler. if ((s_sous_objet = copie_objet(s_etat_processus, @@ -6887,7 +6887,7 @@ evaluation(struct_processus *s_etat_proc // Reprise sur erreur. //============================================================================== -// Réindentation +// Réindentation //============================================================================== drapeau_then = d_faux; @@ -6930,8 +6930,8 @@ evaluation(struct_processus *s_etat_proc .objet)).fonction; /* - * Traitement de la pile système par les - * différentes instructions. + * Traitement de la pile système par les + * différentes instructions. */ if (TEST(instruction_if) || @@ -7054,7 +7054,7 @@ evaluation(struct_processus *s_etat_proc .type_cloture != 'L')) { /* - * Libération des compteurs + * Libération des compteurs * de boucle */ @@ -7146,7 +7146,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Traitement spécifique pour + // Traitement spécifique pour // la fin d'une section // critique @@ -7227,7 +7227,7 @@ evaluation(struct_processus *s_etat_proc (*s_etat_processus).erreur_execution = d_ex; //============================================================================== -// Fin de la réindentation +// Fin de la réindentation //============================================================================== } } @@ -7325,7 +7325,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Vérification du drapeau symbole pour + * Vérification du drapeau symbole pour * savoir si l'on met dans la pile le nom * ou le contenu de la variable. */ @@ -7342,7 +7342,7 @@ evaluation(struct_processus *s_etat_proc .pointeur_variable_courante).objet == NULL) { - // Variable partagée + // Variable partagée if (recherche_variable_partagee( s_etat_processus, @@ -7399,7 +7399,7 @@ evaluation(struct_processus *s_etat_proc } else { - // Variable privée + // Variable privée liberation(s_etat_processus, s_objet_elementaire); @@ -7483,8 +7483,8 @@ evaluation(struct_processus *s_etat_proc ((*s_etat_processus).erreur_execution != d_ex) || ((*s_etat_processus).exception != d_ep)) { - // Il est anormal de récupérer ici une erreur - // d'exécution puisqu'on empile une constante + // Il est anormal de récupérer ici une erreur + // d'exécution puisqu'on empile une constante // symbolique. if (presence_egalite == d_vrai) @@ -7581,8 +7581,8 @@ evaluation(struct_processus *s_etat_proc if (niveau_initial < (*s_etat_processus).niveau_courant) { /* - * Retrait des variables dans le cas où l'évaluation de - * l'expression a été interrompue + * Retrait des variables dans le cas où l'évaluation de + * l'expression a été interrompue */ (*s_etat_processus).niveau_courant = niveau_initial; @@ -7603,7 +7603,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Retrait des variables statiques créées dans l'expression + * Retrait des variables statiques créées dans l'expression */ if (retrait_variables_statiques_locales(s_etat_processus) == d_erreur) @@ -7621,7 +7621,7 @@ evaluation(struct_processus *s_etat_proc } /* - * Retrait des variables partagées créées dans l'expression + * Retrait des variables partagées créées dans l'expression */ if (retrait_variables_partagees_locales(s_etat_processus) == d_erreur) @@ -7640,7 +7640,7 @@ evaluation(struct_processus *s_etat_proc if ((*s_etat_processus).var_volatile_requete_arret != 0) { - // Restauration de la pile système + // Restauration de la pile système while(pile_systeme_originelle != (*s_etat_processus).l_base_pile_systeme) @@ -7651,7 +7651,7 @@ evaluation(struct_processus *s_etat_proc if (presence_egalite == d_vrai) { - // Ajout du membre évalué lors de la première passe + // Ajout du membre évalué lors de la première passe if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile), s_objet_evalue) == d_erreur)