version 1.67, 2014/07/24 14:38:44
|
version 1.71, 2015/01/27 14:18:10
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.19 |
RPL/2 (R) version 4.1.20 |
Copyright (C) 1989-2014 Dr. BERTRAND Joël |
Copyright (C) 1989-2015 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 38
|
Line 38
|
void |
void |
recherche_type(struct_processus *s_etat_processus) |
recherche_type(struct_processus *s_etat_processus) |
{ |
{ |
enum t_type registre_type; |
|
|
|
integer8 i; |
integer8 i; |
integer8 j; |
integer8 j; |
integer8 niveau; |
integer8 niveau; |
Line 145 recherche_type(struct_processus *s_etat_
|
Line 143 recherche_type(struct_processus *s_etat_
|
*/ |
*/ |
|
|
if (((*((struct_fonction *) element)).nom_fonction = |
if (((*((struct_fonction *) element)).nom_fonction = |
conversion_majuscule((*s_etat_processus) |
conversion_majuscule(s_etat_processus, |
.instruction_courante)) == NULL) |
(*s_etat_processus).instruction_courante)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
d_es_allocation_memoire; |
d_es_allocation_memoire; |
Line 193 recherche_type(struct_processus *s_etat_
|
Line 191 recherche_type(struct_processus *s_etat_
|
} |
} |
else |
else |
{ |
{ |
if ((instruction_majuscule = conversion_majuscule( |
if ((instruction_majuscule = conversion_majuscule(s_etat_processus, |
(*s_etat_processus).instruction_courante)) == NULL) |
(*s_etat_processus).instruction_courante)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 276 recherche_type(struct_processus *s_etat_
|
Line 274 recherche_type(struct_processus *s_etat_
|
element = (void *) ((struct_complexe16 *) malloc( |
element = (void *) ((struct_complexe16 *) malloc( |
sizeof(struct_complexe16))); |
sizeof(struct_complexe16))); |
|
|
|
if (element == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).traitement_interruptible = |
(*s_etat_processus).traitement_interruptible = |
Line 1084 recherche_type(struct_processus *s_etat_
|
Line 1083 recherche_type(struct_processus *s_etat_
|
|
|
case d_faux : |
case d_faux : |
{ |
{ |
registre_type = (*s_etat_processus).type_en_cours; |
|
|
|
if (drapeau_complexe == d_vrai) |
|
{ |
|
(*s_etat_processus).type_en_cours = VCX; |
|
} |
|
else if (drapeau_reel == d_vrai) |
|
{ |
|
(*s_etat_processus).type_en_cours = VRL; |
|
} |
|
else |
|
{ |
|
(*s_etat_processus).type_en_cours = VIN; |
|
} |
|
|
|
|
|
/* |
/* |
-- Sauvegarde des paramètres du processus pour analyser le vecteur ------------- |
-- Sauvegarde des paramètres du processus pour analyser le vecteur ------------- |
Line 1507 recherche_type(struct_processus *s_etat_
|
Line 1491 recherche_type(struct_processus *s_etat_
|
(*s_objet).type = VIN; |
(*s_objet).type = VIN; |
} |
} |
|
|
(*s_etat_processus).type_en_cours = registre_type; |
|
break; |
break; |
} |
} |
|
|
Line 1519 recherche_type(struct_processus *s_etat_
|
Line 1502 recherche_type(struct_processus *s_etat_
|
|
|
case d_vrai : |
case d_vrai : |
{ |
{ |
registre_type = (*s_etat_processus).type_en_cours; |
|
|
|
if (drapeau_complexe == d_vrai) |
|
{ |
|
(*s_etat_processus).type_en_cours = MCX; |
|
} |
|
else if (drapeau_reel == d_vrai) |
|
{ |
|
(*s_etat_processus).type_en_cours = MRL; |
|
} |
|
else |
|
{ |
|
(*s_etat_processus).type_en_cours = MIN; |
|
} |
|
|
|
nombre_lignes--; |
nombre_lignes--; |
|
|
sauvegarde_longueur_definitions_chainees = |
sauvegarde_longueur_definitions_chainees = |
Line 2153 recherche_type(struct_processus *s_etat_
|
Line 2121 recherche_type(struct_processus *s_etat_
|
fflush(stdout); |
fflush(stdout); |
} |
} |
|
|
(*s_etat_processus).type_en_cours = registre_type; |
|
break; |
break; |
} |
} |
} |
} |
Line 2169 recherche_type(struct_processus *s_etat_
|
Line 2136 recherche_type(struct_processus *s_etat_
|
|
|
case '{' : |
case '{' : |
{ |
{ |
registre_type = (*s_etat_processus).type_en_cours; |
|
(*s_etat_processus).type_en_cours = LST; |
|
|
|
sauvegarde_longueur_definitions_chainees = |
sauvegarde_longueur_definitions_chainees = |
(*s_etat_processus).longueur_definitions_chainees; |
(*s_etat_processus).longueur_definitions_chainees; |
|
|
Line 2553 recherche_type(struct_processus *s_etat_
|
Line 2517 recherche_type(struct_processus *s_etat_
|
(*s_objet).type = LST; |
(*s_objet).type = LST; |
element = (void *) l_element_courant; |
element = (void *) l_element_courant; |
|
|
(*s_etat_processus).type_en_cours = registre_type; |
|
break; |
break; |
} |
} |
|
|
Line 2703 recherche_type(struct_processus *s_etat_
|
Line 2666 recherche_type(struct_processus *s_etat_
|
* elle est convertie en majuscules. |
* elle est convertie en majuscules. |
*/ |
*/ |
|
|
tampon = conversion_majuscule((*((struct_fonction *) |
tampon = conversion_majuscule(s_etat_processus, |
|
(*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
.nom_fonction); |
.nom_fonction); |
|
|
Line 2741 recherche_type(struct_processus *s_etat_
|
Line 2705 recherche_type(struct_processus *s_etat_
|
{ |
{ |
if ((fonction_majuscule = |
if ((fonction_majuscule = |
conversion_majuscule( |
conversion_majuscule( |
|
s_etat_processus, |
(*((struct_fonction *) |
(*((struct_fonction *) |
((*l_element_courant_fonctions) |
((*l_element_courant_fonctions) |
.donnee))).nom_fonction)) == NULL) |
.donnee))).nom_fonction)) == NULL) |
Line 2948 recherche_type(struct_processus *s_etat_
|
Line 2913 recherche_type(struct_processus *s_etat_
|
|
|
case '<' : |
case '<' : |
{ |
{ |
registre_type = (*s_etat_processus).type_en_cours; |
|
|
|
if ((*s_etat_processus).instruction_courante[1] == '[') |
if ((*s_etat_processus).instruction_courante[1] == '[') |
{ |
{ |
// Tableau |
// Tableau |
Line 3284 recherche_type(struct_processus *s_etat_
|
Line 3247 recherche_type(struct_processus *s_etat_
|
} |
} |
} |
} |
|
|
(*s_etat_processus).type_en_cours = registre_type; |
|
break; |
break; |
} |
} |
|
|