version 1.77, 2015/09/23 08:35:44
|
version 1.85, 2017/06/29 14:54:42
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.23 |
RPL/2 (R) version 4.1.27 |
Copyright (C) 1989-2015 Dr. BERTRAND Joël |
Copyright (C) 1989-2017 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 56 recherche_type(struct_processus *s_etat_
|
Line 56 recherche_type(struct_processus *s_etat_
|
integer8 profondeur_initiale; |
integer8 profondeur_initiale; |
integer8 sauvegarde_niveau_courant; |
integer8 sauvegarde_niveau_courant; |
integer8 sauvegarde_longueur_definitions_chainees; |
integer8 sauvegarde_longueur_definitions_chainees; |
|
integer8 (*__type_new)(struct_processus |
|
*s_etat_processus, void **arg); |
|
|
struct_liste_chainee *l_base_liste_fonctions; |
struct_liste_chainee *l_base_liste_fonctions; |
struct_liste_chainee *l_base_liste_decomposition; |
struct_liste_chainee *l_base_liste_decomposition; |
Line 117 recherche_type(struct_processus *s_etat_
|
Line 119 recherche_type(struct_processus *s_etat_
|
(*s_etat_processus).test_instruction = 'Y'; |
(*s_etat_processus).test_instruction = 'Y'; |
(*s_etat_processus).traitement_interruptible = 'N'; |
(*s_etat_processus).traitement_interruptible = 'N'; |
|
|
|
uprintf(".%s.\n", (*s_etat_processus).instruction_courante); |
analyse(s_etat_processus, NULL); |
analyse(s_etat_processus, NULL); |
|
|
(*s_etat_processus).test_instruction = registre_test; |
(*s_etat_processus).test_instruction = registre_test; |
Line 260 recherche_type(struct_processus *s_etat_
|
Line 263 recherche_type(struct_processus *s_etat_
|
|
|
(*s_etat_processus).instruction_valide = registre_instruction_valide; |
(*s_etat_processus).instruction_valide = registre_instruction_valide; |
|
|
|
/* |
|
-------------------------------------------------------------------------------- |
|
Types externes |
|
-------------------------------------------------------------------------------- |
|
*/ |
|
|
|
l_element_courant = (*s_etat_processus).s_bibliotheques; |
|
|
|
while(l_element_courant != NULL) |
|
{ |
|
if ((__type_new = dlsym((*((struct_bibliotheque *) |
|
(*l_element_courant).donnee)).descripteur, "__type_new")) |
|
!= NULL) |
|
{ |
|
if (((*s_objet).extension_type = __type_new(s_etat_processus, |
|
&element)) != 0) |
|
{ |
|
// Le type peut être converti. |
|
|
|
(*s_objet).objet = element; |
|
(*s_objet).type = EXT; |
|
|
|
if (empilement(s_etat_processus, |
|
&((*s_etat_processus).l_base_pile), s_objet) |
|
== d_erreur) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
(*s_etat_processus).traitement_interruptible = |
|
registre_interruption; |
|
return; |
|
} |
|
|
|
(*s_etat_processus).traitement_interruptible = |
|
registre_interruption; |
|
return; |
|
} |
|
} |
|
|
|
l_element_courant = (*l_element_courant).suivant; |
|
} |
|
|
|
/* |
|
-------------------------------------------------------------------------------- |
|
Types internes |
|
-------------------------------------------------------------------------------- |
|
*/ |
|
|
switch(*((*s_etat_processus).instruction_courante)) |
switch(*((*s_etat_processus).instruction_courante)) |
{ |
{ |
|
|