version 1.39, 2012/09/29 17:53:02
|
version 1.46, 2013/02/28 12:41:27
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.10 |
RPL/2 (R) version 4.1.13 |
Copyright (C) 1989-2012 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 1323 instruction_exit(struct_processus *s_eta
|
Line 1323 instruction_exit(struct_processus *s_eta
|
(strcmp(instruction_majuscule, "DO") == 0) || |
(strcmp(instruction_majuscule, "DO") == 0) || |
(strcmp(instruction_majuscule, "WHILE") == 0) || |
(strcmp(instruction_majuscule, "WHILE") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
|
(strcmp(instruction_majuscule, "FORALL") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "SELECT") == 0) |
(strcmp(instruction_majuscule, "SELECT") == 0) |
|| (strcmp(instruction_majuscule, "CRITICAL") == 0) |
|| (strcmp(instruction_majuscule, "CRITICAL") == 0) |
Line 1336 instruction_exit(struct_processus *s_eta
|
Line 1337 instruction_exit(struct_processus *s_eta
|
else |
else |
{ |
{ |
if ((strcmp(instruction_majuscule, "FOR") == 0) || |
if ((strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "START") |
(strcmp(instruction_majuscule, "FORALL") == 0) |
|
|| (strcmp(instruction_majuscule, "START") |
== 0)) |
== 0)) |
{ |
{ |
niveau++; |
niveau++; |
Line 1449 instruction_exit(struct_processus *s_eta
|
Line 1451 instruction_exit(struct_processus *s_eta
|
(strcmp(instruction_majuscule, "DO") == 0) || |
(strcmp(instruction_majuscule, "DO") == 0) || |
(strcmp(instruction_majuscule, "WHILE") == 0) || |
(strcmp(instruction_majuscule, "WHILE") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
|
(strcmp(instruction_majuscule, "FORALL") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "SELECT") == 0) |
(strcmp(instruction_majuscule, "SELECT") == 0) |
|| (strcmp(instruction_majuscule, "CRITICAL") == 0) |
|| (strcmp(instruction_majuscule, "CRITICAL") == 0) |
Line 1592 instruction_exit(struct_processus *s_eta
|
Line 1595 instruction_exit(struct_processus *s_eta
|
(fonction == instruction_do) || |
(fonction == instruction_do) || |
(fonction == instruction_while) || |
(fonction == instruction_while) || |
(fonction == instruction_for) || |
(fonction == instruction_for) || |
|
(fonction == instruction_forall) || |
(fonction == instruction_start) || |
(fonction == instruction_start) || |
(fonction == instruction_select) || |
(fonction == instruction_select) || |
(fonction == instruction_case) || |
(fonction == instruction_case) || |
Line 1606 instruction_exit(struct_processus *s_eta
|
Line 1610 instruction_exit(struct_processus *s_eta
|
else |
else |
{ |
{ |
if ((fonction == instruction_for) || |
if ((fonction == instruction_for) || |
|
(fonction == instruction_forall) || |
(fonction == instruction_start)) |
(fonction == instruction_start)) |
{ |
{ |
niveau++; |
niveau++; |
Line 1715 instruction_exit(struct_processus *s_eta
|
Line 1720 instruction_exit(struct_processus *s_eta
|
(fonction == instruction_do) || |
(fonction == instruction_do) || |
(fonction == instruction_while) || |
(fonction == instruction_while) || |
(fonction == instruction_for) || |
(fonction == instruction_for) || |
|
(fonction == instruction_forall) || |
(fonction == instruction_start) || |
(fonction == instruction_start) || |
(fonction == instruction_select) || |
(fonction == instruction_select) || |
(fonction == instruction_critical) || |
(fonction == instruction_critical) || |
Line 1846 instruction_exit(struct_processus *s_eta
|
Line 1852 instruction_exit(struct_processus *s_eta
|
(*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL; |
(*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL; |
(*s_etat_processus).niveau_courant--; |
(*s_etat_processus).niveau_courant--; |
|
|
if (retrait_variable_par_niveau(s_etat_processus) == d_erreur) |
if (retrait_variables_par_niveau(s_etat_processus) == d_erreur) |
{ |
{ |
return; |
return; |
} |
} |