version 1.29, 2011/03/06 16:44:15
|
version 1.32, 2011/06/10 11:35:14
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.21 |
RPL/2 (R) version 4.1.0.prerelease.0 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 555 sequenceur(struct_processus *s_etat_proc
|
Line 555 sequenceur(struct_processus *s_etat_proc
|
d_vrai) && ((*s_etat_processus) |
d_vrai) && ((*s_etat_processus) |
.autorisation_evaluation_nom == 'Y')) |
.autorisation_evaluation_nom == 'Y')) |
{ |
{ |
if (((*s_etat_processus).s_liste_variables |
if ((*(*s_etat_processus).pointeur_variable_courante) |
[(*s_etat_processus) |
.objet == NULL) |
.position_variable_courante]).objet == NULL) |
|
{ |
{ |
|
|
/* |
/* |
Line 574 sequenceur(struct_processus *s_etat_proc
|
Line 573 sequenceur(struct_processus *s_etat_proc
|
{ |
{ |
printf("[%d] Empilement de la variable " |
printf("[%d] Empilement de la variable " |
"partagée %s de type %d\n", |
"partagée %s de type %d\n", |
(int) getpid(), |
(int) getpid(), (*s_etat_processus) |
(*s_etat_processus) |
|
.instruction_courante, |
.instruction_courante, |
(*((*s_etat_processus).s_liste_variables |
(*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).objet) |
.position_variable_courante]).objet) |
|
.type); |
.type); |
} |
} |
else |
else |
Line 588 sequenceur(struct_processus *s_etat_proc
|
Line 585 sequenceur(struct_processus *s_etat_proc
|
"variable \n", (int) getpid(), |
"variable \n", (int) getpid(), |
(*s_etat_processus) |
(*s_etat_processus) |
.instruction_courante, |
.instruction_courante, |
(*((*s_etat_processus).s_liste_variables |
(*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).objet) |
.position_variable_courante]).objet) |
|
.type); |
.type); |
} |
} |
|
|
Line 606 sequenceur(struct_processus *s_etat_proc
|
Line 602 sequenceur(struct_processus *s_etat_proc
|
} |
} |
|
|
if (recherche_variable_partagee(s_etat_processus, |
if (recherche_variable_partagee(s_etat_processus, |
((*s_etat_processus).s_liste_variables |
(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).nom, |
.position_variable_courante]).nom, |
(*(*s_etat_processus) |
((*s_etat_processus).s_liste_variables |
.pointeur_variable_courante).variable_partagee, |
[(*s_etat_processus) |
'P') == d_vrai) |
.position_variable_courante]) |
|
.variable_partagee, 'P') == d_vrai) |
|
{ |
{ |
// La variable existe. |
// La variable existe. |
|
|
Line 672 sequenceur(struct_processus *s_etat_proc
|
Line 666 sequenceur(struct_processus *s_etat_proc
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
else if ((*((*s_etat_processus).s_liste_variables |
else if ((*(*(*s_etat_processus).pointeur_variable_courante) |
[(*s_etat_processus).position_variable_courante]) |
|
.objet).type == ADR) |
.objet).type == ADR) |
{ |
{ |
|
|
Line 742 sequenceur(struct_processus *s_etat_proc
|
Line 735 sequenceur(struct_processus *s_etat_proc
|
|
|
(*s_etat_processus).position_courante = |
(*s_etat_processus).position_courante = |
(*((unsigned long *) |
(*((unsigned long *) |
((*((*s_etat_processus).s_liste_variables |
((*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante) |
.position_variable_courante] |
.objet).objet))); |
.objet)).objet))); |
|
|
|
drapeau_appel_definition = d_vrai; |
drapeau_appel_definition = d_vrai; |
} |
} |
Line 763 sequenceur(struct_processus *s_etat_proc
|
Line 755 sequenceur(struct_processus *s_etat_proc
|
(int) getpid(), |
(int) getpid(), |
(*s_etat_processus) |
(*s_etat_processus) |
.instruction_courante, |
.instruction_courante, |
(*((*s_etat_processus).s_liste_variables |
(*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).objet) |
.position_variable_courante]).objet) |
|
.type); |
.type); |
} |
} |
else |
else |
Line 774 sequenceur(struct_processus *s_etat_proc
|
Line 765 sequenceur(struct_processus *s_etat_proc
|
"\n", (int) getpid(), |
"\n", (int) getpid(), |
(*s_etat_processus) |
(*s_etat_processus) |
.instruction_courante, |
.instruction_courante, |
(*((*s_etat_processus).s_liste_variables |
(*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).objet) |
.position_variable_courante]).objet) |
|
.type); |
.type); |
} |
} |
|
|
Line 784 sequenceur(struct_processus *s_etat_proc
|
Line 774 sequenceur(struct_processus *s_etat_proc
|
} |
} |
|
|
if ((s_objet = copie_objet(s_etat_processus, |
if ((s_objet = copie_objet(s_etat_processus, |
((*s_etat_processus) |
(*(*s_etat_processus) |
.s_liste_variables[(*s_etat_processus) |
.pointeur_variable_courante).objet, 'P')) |
.position_variable_courante]).objet, 'P')) |
|
== NULL) |
== NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
Line 1167 sequenceur(struct_processus *s_etat_proc
|
Line 1156 sequenceur(struct_processus *s_etat_proc
|
if (recherche_variable(s_etat_processus, |
if (recherche_variable(s_etat_processus, |
(*s_etat_processus).instruction_courante) == d_vrai) |
(*s_etat_processus).instruction_courante) == d_vrai) |
{ |
{ |
if (((*s_etat_processus).s_liste_variables |
if ((*(*s_etat_processus).pointeur_variable_courante) |
[(*s_etat_processus) |
.objet == NULL) |
.position_variable_courante]).objet == NULL) |
|
{ |
{ |
// Variable partagée |
// Variable partagée |
} |
} |
else if ((*((*s_etat_processus).s_liste_variables |
else if ((*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante).objet).type == ADR) |
.position_variable_courante]).objet).type == |
|
ADR) |
|
{ |
{ |
empilement_pile_systeme(s_etat_processus); |
empilement_pile_systeme(s_etat_processus); |
|
|
Line 1199 sequenceur(struct_processus *s_etat_proc
|
Line 1185 sequenceur(struct_processus *s_etat_proc
|
|
|
(*s_etat_processus).position_courante = |
(*s_etat_processus).position_courante = |
(*((unsigned long *) |
(*((unsigned long *) |
((*((*s_etat_processus).s_liste_variables |
((*(*(*s_etat_processus) |
[(*s_etat_processus) |
.pointeur_variable_courante) |
.position_variable_courante] |
.objet).objet))); |
.objet)).objet))); |
|
|
|
(*s_etat_processus) |
(*s_etat_processus) |
.autorisation_empilement_programme = 'N'; |
.autorisation_empilement_programme = 'N'; |