version 1.56, 2013/03/20 17:11:44
|
version 1.94, 2025/04/15 10:17:51
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.13 |
RPL/2 (R) version 4.1.36 |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
Copyright (C) 1989-2025 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 149 empilement_pile_systeme(struct_processus
|
Line 149 empilement_pile_systeme(struct_processus
|
= (*s_etat_processus).creation_variables_partagees; |
= (*s_etat_processus).creation_variables_partagees; |
(*(*s_etat_processus).l_base_pile_systeme).evaluation_expression = |
(*(*s_etat_processus).l_base_pile_systeme).evaluation_expression = |
d_faux; |
d_faux; |
|
(*(*s_etat_processus).l_base_pile_systeme).debug_programme = |
|
(*s_etat_processus).debug_programme; |
|
|
(*s_etat_processus).erreur_systeme = d_es; |
(*s_etat_processus).erreur_systeme = d_es; |
(*s_etat_processus).creation_variables_statiques = d_faux; |
(*s_etat_processus).creation_variables_statiques = d_faux; |
(*s_etat_processus).creation_variables_partagees = d_faux; |
(*s_etat_processus).creation_variables_partagees = d_faux; |
|
(*s_etat_processus).debug_programme = d_faux; |
|
|
return; |
return; |
} |
} |
Line 223 depilement_pile_systeme(struct_processus
|
Line 226 depilement_pile_systeme(struct_processus
|
|
|
(*s_etat_processus).l_base_pile_systeme = l_nouvelle_base_liste; |
(*s_etat_processus).l_base_pile_systeme = l_nouvelle_base_liste; |
(*s_etat_processus).erreur_systeme = d_es; |
(*s_etat_processus).erreur_systeme = d_es; |
|
(*s_etat_processus).debug_programme = (*l_ancienne_base_liste) |
|
.debug_programme; |
|
|
// On positionne le drapeau de création des variables statiques. |
// On positionne le drapeau de création des variables statiques. |
|
|
Line 492 trace(struct_processus *s_etat_processus
|
Line 497 trace(struct_processus *s_etat_processus
|
} |
} |
} |
} |
|
|
fprintf(flux, " Level = %d\n", |
fprintf(flux, " Level = %lld\n", |
(*l_element_courant).niveau_courant); |
(long long int) (*l_element_courant).niveau_courant); |
|
|
if (((*l_element_courant).retour_definition == 'Y') || |
if ((*l_element_courant).retour_definition == 'Y') |
((*l_element_courant).origine_routine_evaluation == 'Y')) |
|
{ |
{ |
fprintf(flux, " Return = yes\n"); |
fprintf(flux, " Return = yes\n"); |
|
|
Line 514 trace(struct_processus *s_etat_processus
|
Line 518 trace(struct_processus *s_etat_processus
|
|
|
for(j = 0; j < nb_variables; j++) |
for(j = 0; j < nb_variables; j++) |
{ |
{ |
if (((*(tableau[j].objet)).type == RPN) || |
if (tableau[j].objet != NULL) |
((*(tableau[j].objet)).type == ALG)) |
|
{ |
{ |
l_element_expression = (*(tableau[j].objet)).objet; |
// Variable ni partagée ni statique |
|
if (((*(tableau[j].objet)).type == RPN) || |
while(l_element_expression != NULL) |
((*(tableau[j].objet)).type == ALG)) |
{ |
{ |
if (l_element_expression == (*l_element_courant) |
l_element_expression = |
.pointeur_objet_retour) |
(*(tableau[j].objet)).objet; |
|
|
|
while(l_element_expression != NULL) |
{ |
{ |
candidat = j; |
if (l_element_expression == |
break; |
(*l_element_courant) |
} |
.pointeur_objet_retour) |
|
{ |
|
candidat = j; |
|
break; |
|
} |
|
|
l_element_expression = |
l_element_expression = |
(*l_element_expression).suivant; |
(*l_element_expression).suivant; |
} |
} |
|
|
if (candidat != -1) |
if (candidat != -1) |
{ |
{ |
break; |
break; |
|
} |
} |
} |
} |
} |
} |
} |
Line 618 trace(struct_processus *s_etat_processus
|
Line 628 trace(struct_processus *s_etat_processus
|
"unknown definition\n"); |
"unknown definition\n"); |
} |
} |
} |
} |
else |
else if ((*l_element_courant).niveau_courant == 0) |
{ |
{ |
fprintf(flux, "\n"); |
fprintf(flux, "\n"); |
fprintf(flux, " = RPL/2 " |
fprintf(flux, " = RPL/2 " |
"initialization\n"); |
"initialization\n"); |
} |
} |
|
else |
|
{ |
|
fprintf(flux, "\n"); |
|
} |
} |
} |
} |
} |
else |
else |
Line 631 trace(struct_processus *s_etat_processus
|
Line 645 trace(struct_processus *s_etat_processus
|
fprintf(flux, " Return = no\n"); |
fprintf(flux, " Return = no\n"); |
} |
} |
|
|
if ((*l_element_courant).indice_boucle != NULL) |
if (((*l_element_courant).indice_boucle != NULL) && |
|
((*l_element_courant).type_cloture != 'A')) |
{ |
{ |
tampon = formateur(s_etat_processus, 24, |
tampon = formateur(s_etat_processus, 24, |
(*l_element_courant).indice_boucle); |
(*l_element_courant).indice_boucle); |