version 1.73, 2017/07/12 15:43:06
|
version 1.79, 2018/12/24 15:54:59
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.27 |
RPL/2 (R) version 4.1.30 |
Copyright (C) 1989-2017 Dr. BERTRAND Joël |
Copyright (C) 1989-2018 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) / |