version 1.7, 2010/04/21 13:45:49
|
version 1.10, 2010/07/12 15:55:01
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.15 |
RPL/2 (R) version 4.0.17 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 214 instruction_then(struct_processus *s_eta
|
Line 214 instruction_then(struct_processus *s_eta
|
|
|
struct_liste_chainee *s_registre; |
struct_liste_chainee *s_registre; |
|
|
|
struct_liste_pile_systeme *l_element_courant; |
|
|
struct_objet *s_objet; |
struct_objet *s_objet; |
|
|
unsigned char *instruction_majuscule; |
unsigned char *instruction_majuscule; |
Line 365 instruction_then(struct_processus *s_eta
|
Line 367 instruction_then(struct_processus *s_eta
|
* THEN et ELSE ou END. |
* THEN et ELSE ou END. |
*/ |
*/ |
|
|
if (((*(*s_etat_processus).l_base_pile_systeme).clause != |
if ((*(*s_etat_processus).l_base_pile_systeme).clause != |
'K') && ((*(*s_etat_processus).l_base_pile_systeme) |
'K') |
.clause != 'C')) |
|
{ |
{ |
(*(*s_etat_processus).l_base_pile_systeme).clause = 'T'; |
(*(*s_etat_processus).l_base_pile_systeme).clause = 'T'; |
} |
} |
else |
else |
{ |
{ |
(*(*s_etat_processus).l_base_pile_systeme).clause = 'Q'; |
if ((*s_etat_processus).l_base_pile_systeme == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_pile_vide; |
|
return; |
|
} |
|
|
|
l_element_courant = (*(*s_etat_processus).l_base_pile_systeme) |
|
.suivant; |
|
|
|
while(l_element_courant != NULL) |
|
{ |
|
if ((*l_element_courant).clause == 'K') |
|
{ |
|
(*l_element_courant).clause = 'Q'; |
|
break; |
|
} |
|
|
|
l_element_courant = (*l_element_courant).suivant; |
|
} |
} |
} |
} |
} |
else |
else |
Line 480 instruction_then(struct_processus *s_eta
|
Line 499 instruction_then(struct_processus *s_eta
|
} |
} |
else if (strcmp(instruction_majuscule, "END") == 0) |
else if (strcmp(instruction_majuscule, "END") == 0) |
{ |
{ |
|
instruction_end(s_etat_processus); |
drapeau_fin = d_vrai; |
drapeau_fin = d_vrai; |
} |
} |
else |
else |
Line 592 instruction_then(struct_processus *s_eta
|
Line 612 instruction_then(struct_processus *s_eta
|
if (((*(*s_etat_processus).l_base_pile_systeme) |
if (((*(*s_etat_processus).l_base_pile_systeme) |
.clause != 'K') && |
.clause != 'K') && |
((*(*s_etat_processus) |
((*(*s_etat_processus) |
.l_base_pile_systeme) .clause != 'C')) |
.l_base_pile_systeme).clause != 'C')) |
{ |
{ |
|
|
/* |
/* |
* Traitement de IF/THEN/ELSEIF/THEN/ |
* Traitement de IF/THEN/ELSEIF/THEN/ |
* ELSE/END |
* ELSE/END |
Line 640 instruction_then(struct_processus *s_eta
|
Line 659 instruction_then(struct_processus *s_eta
|
} |
} |
else if (fonction == instruction_end) |
else if (fonction == instruction_end) |
{ |
{ |
|
fonction(s_etat_processus); |
|
execution = d_vrai; |
drapeau_fin = d_vrai; |
drapeau_fin = d_vrai; |
} |
} |
else |
else |
Line 699 instruction_then(struct_processus *s_eta
|
Line 720 instruction_then(struct_processus *s_eta
|
} |
} |
|
|
liberation(s_etat_processus, s_objet); |
liberation(s_etat_processus, s_objet); |
|
|
return; |
return; |
} |
} |
|
|