version 1.14, 2010/08/06 15:26:45
|
version 1.48, 2013/03/21 12:08:25
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.18 |
RPL/2 (R) version 4.1.13 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 54 estimation_taille_pile(struct_processus
|
Line 54 estimation_taille_pile(struct_processus
|
else |
else |
{ |
{ |
(*s_etat_processus).estimation_taille_pile_tampon = |
(*s_etat_processus).estimation_taille_pile_tampon = |
((*s_etat_processus).estimation_taille_pile_tampon * |
(((double) (*s_etat_processus).estimation_taille_pile_tampon) * |
((double) 0.95)) + ((*s_etat_processus) |
((double) 0.95)) + (((double) (*s_etat_processus) |
.hauteur_pile_operationnelle * ((double) 0.05)); |
.hauteur_pile_operationnelle) * ((double) 0.05)); |
} |
} |
|
|
return; |
return; |
Line 251 depilement(struct_processus *s_etat_proc
|
Line 251 depilement(struct_processus *s_etat_proc
|
|
|
void |
void |
affichage_pile(struct_processus *s_etat_processus, struct_liste_chainee |
affichage_pile(struct_processus *s_etat_processus, struct_liste_chainee |
*l_element_courant, unsigned long niveau_courant) |
*l_element_courant, integer8 niveau_courant) |
{ |
{ |
unsigned char registre; |
unsigned char registre; |
|
|
registre = (*s_etat_processus).autorisation_conversion_chaine; |
registre = (*s_etat_processus).autorisation_conversion_chaine; |
(*s_etat_processus).autorisation_conversion_chaine = 'N'; |
(*s_etat_processus).autorisation_conversion_chaine = 'N'; |
|
|
|
routine_recursive = 1; |
ecriture_pile(s_etat_processus, stdout, l_element_courant, niveau_courant); |
ecriture_pile(s_etat_processus, stdout, l_element_courant, niveau_courant); |
|
routine_recursive = 0; |
|
|
(*s_etat_processus).autorisation_conversion_chaine = registre; |
(*s_etat_processus).autorisation_conversion_chaine = registre; |
return; |
return; |
Line 266 affichage_pile(struct_processus *s_etat_
|
Line 268 affichage_pile(struct_processus *s_etat_
|
|
|
void |
void |
ecriture_pile(struct_processus *s_etat_processus, file *flux, |
ecriture_pile(struct_processus *s_etat_processus, file *flux, |
struct_liste_chainee *l_element_courant, unsigned long niveau_courant) |
struct_liste_chainee *l, integer8 niveau_courant) |
{ |
{ |
unsigned char *chaine; |
unsigned char *chaine; |
unsigned char *registre; |
unsigned char *registre; |
unsigned char tampon[32 + 1]; |
unsigned char tampon[32 + 1]; |
|
|
|
// Évite le warning : argument l_element_courant might be clobbered by |
|
// longjmp or vfork |
|
volatile struct_liste_chainee *l_element_courant; |
|
|
|
l_element_courant = l; |
|
|
if (l_element_courant != NULL) |
if (l_element_courant != NULL) |
{ |
{ |
if (setjmp(contexte) == 0) |
if (setjmp(contexte_ecriture) == 0) |
{ |
{ |
(*s_etat_processus).var_volatile_recursivite = -1; |
(*s_etat_processus).var_volatile_recursivite = -1; |
ecriture_pile(s_etat_processus, flux, |
ecriture_pile(s_etat_processus, flux, |
Line 313 ecriture_pile(struct_processus *s_etat_p
|
Line 321 ecriture_pile(struct_processus *s_etat_p
|
return; |
return; |
} |
} |
|
|
sprintf(tampon, "%lu: ", niveau_courant); |
sprintf(tampon, "%lld: ", niveau_courant); |
|
|
if ((chaine = formateur(s_etat_processus, strlen(tampon), |
if ((chaine = formateur(s_etat_processus, (long) strlen(tampon), |
(*l_element_courant).donnee)) == NULL) |
(*l_element_courant).donnee)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 364 ecriture_pile(struct_processus *s_etat_p
|
Line 372 ecriture_pile(struct_processus *s_etat_p
|
|
|
void |
void |
impression_pile(struct_processus *s_etat_processus, |
impression_pile(struct_processus *s_etat_processus, |
struct_liste_chainee *l_element_courant, unsigned char methode, |
struct_liste_chainee *l, unsigned char methode, integer8 niveau_courant) |
unsigned long niveau_courant) |
|
{ |
{ |
struct_objet s_objet; |
struct_objet s_objet; |
|
|
Line 373 impression_pile(struct_processus *s_etat
|
Line 380 impression_pile(struct_processus *s_etat
|
unsigned char *registre; |
unsigned char *registre; |
unsigned char tampon[32 + 1]; |
unsigned char tampon[32 + 1]; |
|
|
|
// Évite le warning : argument l_element_courant might be clobbered by |
|
// longjmp or vfork |
|
volatile struct_liste_chainee *l_element_courant; |
|
|
|
l_element_courant = l; |
|
|
if (l_element_courant != NULL) |
if (l_element_courant != NULL) |
{ |
{ |
if (setjmp(contexte) == 0) |
if (setjmp(contexte_impression) == 0) |
{ |
{ |
(*s_etat_processus).var_volatile_recursivite = -1; |
(*s_etat_processus).var_volatile_recursivite = -1; |
impression_pile(s_etat_processus, (*l_element_courant).suivant, |
impression_pile(s_etat_processus, (*l_element_courant).suivant, |
Line 407 impression_pile(struct_processus *s_etat
|
Line 420 impression_pile(struct_processus *s_etat
|
if (methode == 'C') |
if (methode == 'C') |
{ |
{ |
s_objet.type = CHN; |
s_objet.type = CHN; |
sprintf(tampon, "%lu: ", niveau_courant); |
sprintf(tampon, "%lld: ", niveau_courant); |
|
|
if ((chaine = formateur(s_etat_processus, strlen(tampon), |
if ((chaine = formateur(s_etat_processus, (long) strlen(tampon), |
(*l_element_courant).donnee)) == NULL) |
(*l_element_courant).donnee)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 440 impression_pile(struct_processus *s_etat
|
Line 453 impression_pile(struct_processus *s_etat
|
} |
} |
|
|
sprintf((unsigned char *) s_objet.objet, |
sprintf((unsigned char *) s_objet.objet, |
"\n\\noindent\\begin{verbatim}\n%lu: %s\n\\end{verbatim}", |
"\n\\noindent\\begin{verbatim}\n%lld: %s\n\\end{verbatim}", |
niveau_courant, chaine); |
niveau_courant, chaine); |
free(chaine); |
free(chaine); |
|
|