version 1.72, 2017/07/03 11:47:05
|
version 1.84, 2020/01/16 08:57:42
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.27 |
RPL/2 (R) version 4.1.32 |
Copyright (C) 1989-2017 Dr. BERTRAND Joël |
Copyright (C) 1989-2020 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 53 chargement_bibliotheque(struct_processus
|
Line 53 chargement_bibliotheque(struct_processus
|
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_nouvel_element; |
struct_liste_chainee *l_nouvel_element; |
|
|
|
unsigned char *fleche; |
unsigned char **tableau; |
unsigned char **tableau; |
unsigned char *tampon; |
unsigned char *tampon; |
|
|
Line 373 chargement_bibliotheque(struct_processus
|
Line 374 chargement_bibliotheque(struct_processus
|
|
|
for(i = 0; i < nombre_symboles; i++) |
for(i = 0; i < nombre_symboles; i++) |
{ |
{ |
|
if ((fleche = strstr(tableau[i], "->")) != NULL) |
|
{ |
|
memcpy(fleche, "to", 2); |
|
(*s_etat_processus).s_instructions_externes[(*s_etat_processus) |
|
.nombre_instructions_externes].position_fleche = |
|
fleche - tableau[i]; |
|
} |
|
else |
|
{ |
|
(*s_etat_processus).s_instructions_externes[(*s_etat_processus) |
|
.nombre_instructions_externes].position_fleche = -1; |
|
} |
|
|
(*s_etat_processus).s_instructions_externes[(*s_etat_processus) |
(*s_etat_processus).s_instructions_externes[(*s_etat_processus) |
.nombre_instructions_externes].descripteur_bibliotheque = |
.nombre_instructions_externes].descripteur_bibliotheque = |
descripteur_bibliotheque; |
descripteur_bibliotheque; |
Line 446 chargement_bibliotheque(struct_processus
|
Line 460 chargement_bibliotheque(struct_processus
|
[(*s_etat_processus).nombre_instructions_externes - 1] |
[(*s_etat_processus).nombre_instructions_externes - 1] |
.nom_bibliotheque); |
.nom_bibliotheque); |
|
|
|
// La nouvelle bibliothèque est mise en tête de la liste pour que |
|
// les bibliothèques soient implicitement déchargées dans l'ordre |
|
// inverse de leur chargement. |
|
|
(*l_nouvel_element).suivant = (*s_etat_processus).s_bibliotheques; |
(*l_nouvel_element).suivant = (*s_etat_processus).s_bibliotheques; |
(*s_etat_processus).s_bibliotheques = l_nouvel_element; |
(*s_etat_processus).s_bibliotheques = l_nouvel_element; |
|
|
Line 861 execution_fonction_de_bibliotheque(struc
|
Line 879 execution_fonction_de_bibliotheque(struc
|
|
|
struct_rpl_arguments rpl_arguments; |
struct_rpl_arguments rpl_arguments; |
|
|
|
unsigned char *fleche; |
unsigned char *nom_fonction_externe; |
unsigned char *nom_fonction_externe; |
unsigned char *tampon; |
unsigned char *tampon; |
|
|
Line 905 execution_fonction_de_bibliotheque(struc
|
Line 924 execution_fonction_de_bibliotheque(struc
|
} |
} |
} |
} |
|
|
|
if ((fleche = strstr(nom_fonction, "->")) != NULL) |
|
{ |
|
memcpy(fleche, "to", 2); |
|
} |
|
|
ordre_iteration = 0; |
ordre_iteration = 0; |
nombre_iterations_maximal = ((integer8) |
nombre_iterations_maximal = ((integer8) |
(log((real8) (*s_etat_processus).nombre_instructions_externes) / |
(log((real8) (*s_etat_processus).nombre_instructions_externes) / |
Line 1403 struct_liste_chainee *
|
Line 1427 struct_liste_chainee *
|
empilement_pile_operationnelle(struct_rpl_arguments *s_rpl_arguments, |
empilement_pile_operationnelle(struct_rpl_arguments *s_rpl_arguments, |
struct_objet *s_objet) |
struct_objet *s_objet) |
{ |
{ |
|
# pragma GCC diagnostic push |
|
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" |
struct_liste_chainee *l_ancienne_base_liste; |
struct_liste_chainee *l_ancienne_base_liste; |
struct_liste_chainee *l_nouvelle_base_liste; |
struct_liste_chainee *l_nouvelle_base_liste; |
|
|
Line 1423 empilement_pile_operationnelle(struct_rp
|
Line 1449 empilement_pile_operationnelle(struct_rp
|
(*s_rpl_arguments).l_base_pile = l_nouvelle_base_liste; |
(*s_rpl_arguments).l_base_pile = l_nouvelle_base_liste; |
|
|
return l_nouvelle_base_liste; |
return l_nouvelle_base_liste; |
|
# pragma GCC diagnostic pop |
} |
} |
|
|
|
|
Line 1442 struct_liste_chainee *
|
Line 1469 struct_liste_chainee *
|
depilement_pile_operationnelle(struct_rpl_arguments *s_rpl_arguments, |
depilement_pile_operationnelle(struct_rpl_arguments *s_rpl_arguments, |
struct_objet **s_objet) |
struct_objet **s_objet) |
{ |
{ |
|
# pragma GCC diagnostic push |
|
# pragma GCC diagnostic ignored "-Wunused-but-set-variable" |
struct_liste_chainee *l_ancienne_base_liste; |
struct_liste_chainee *l_ancienne_base_liste; |
struct_liste_chainee *l_nouvelle_base_liste; |
struct_liste_chainee *l_nouvelle_base_liste; |
|
|
Line 1450 depilement_pile_operationnelle(struct_rp
|
Line 1479 depilement_pile_operationnelle(struct_rp
|
if ((*s_rpl_arguments).l_base_pile == NULL) |
if ((*s_rpl_arguments).l_base_pile == NULL) |
{ |
{ |
*s_objet = NULL; |
*s_objet = NULL; |
return(NULL); |
return NULL ; |
} |
} |
else |
else |
{ |
{ |
Line 1463 depilement_pile_operationnelle(struct_rp
|
Line 1492 depilement_pile_operationnelle(struct_rp
|
|
|
(*s_rpl_arguments).l_base_pile = l_nouvelle_base_liste; |
(*s_rpl_arguments).l_base_pile = l_nouvelle_base_liste; |
|
|
return(l_nouvelle_base_liste); |
return l_nouvelle_base_liste ; |
} |
} |
|
# pragma GCC diagnostic pop |
} |
} |
|
|
|
|