version 1.62, 2013/09/06 10:30:57
|
version 1.67, 2014/07/24 14:38:44
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.16 |
RPL/2 (R) version 4.1.19 |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
Copyright (C) 1989-2014 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 274 recherche_type(struct_processus *s_etat_
|
Line 276 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 1083 recherche_type(struct_processus *s_etat_
|
Line 1084 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 1491 recherche_type(struct_processus *s_etat_
|
Line 1507 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 1502 recherche_type(struct_processus *s_etat_
|
Line 1519 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 2121 recherche_type(struct_processus *s_etat_
|
Line 2153 recherche_type(struct_processus *s_etat_
|
fflush(stdout); |
fflush(stdout); |
} |
} |
|
|
|
(*s_etat_processus).type_en_cours = registre_type; |
break; |
break; |
} |
} |
} |
} |
Line 2136 recherche_type(struct_processus *s_etat_
|
Line 2169 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 2517 recherche_type(struct_processus *s_etat_
|
Line 2553 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 2911 recherche_type(struct_processus *s_etat_
|
Line 2948 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 |
|
|
|
(*s_etat_processus).type_en_cours = TBL; |
sauvegarde_longueur_definitions_chainees = |
sauvegarde_longueur_definitions_chainees = |
(*s_etat_processus).longueur_definitions_chainees; |
(*s_etat_processus).longueur_definitions_chainees; |
|
|
Line 3183 recherche_type(struct_processus *s_etat_
|
Line 3223 recherche_type(struct_processus *s_etat_
|
{ |
{ |
// Définition |
// Définition |
|
|
|
(*s_etat_processus).type_en_cours = RPN; |
|
|
if (strlen((*s_etat_processus).instruction_courante) < 5) |
if (strlen((*s_etat_processus).instruction_courante) < 5) |
{ |
{ |
liberation(s_etat_processus, s_objet); |
liberation(s_etat_processus, s_objet); |
Line 3242 recherche_type(struct_processus *s_etat_
|
Line 3284 recherche_type(struct_processus *s_etat_
|
} |
} |
} |
} |
|
|
|
(*s_etat_processus).type_en_cours = registre_type; |
break; |
break; |
} |
} |
|
|