--- rpl/src/types.c 2010/01/26 15:22:44 1.1 +++ rpl/src/types.c 2010/02/08 19:26:32 1.4 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.9 + RPL/2 (R) version 4.0.10 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -1073,7 +1073,7 @@ recherche_type(struct_processus *s_etat_ /* -- Sauvegarde des paramètres du processus pour analyser le vecteur ------------- --- Analyse récursive en appelant l'interpréteur sur le vecteur moins ----------- +-- Analyse récursive en appelant l'interprète sur le vecteur moins ------------- -- ses délimiteurs ------------------------------------------------------------- */ @@ -3195,95 +3195,6 @@ recherche_type(struct_processus *s_etat_ } /* --------------------------------------------------------------------------------- - Adresse --------------------------------------------------------------------------------- -*/ - - case '@' : - { - if ((*s_etat_processus).recherche_types_speciaux == 'Y') - { - if (strlen((*s_etat_processus).instruction_courante) > 2) - { - tampon = (*s_etat_processus).instruction_courante; - - if (((*s_etat_processus).instruction_courante = - malloc((strlen(tampon) + 2) * - sizeof(unsigned char))) == NULL) - { - (*s_etat_processus).erreur_systeme = - d_es_allocation_memoire; - (*s_etat_processus).traitement_interruptible = - registre_interruption; - return; - } - - strcpy((*s_etat_processus).instruction_courante, tampon); - (*s_etat_processus).instruction_courante[0] = '#'; - (*s_etat_processus).instruction_courante - [strlen((*s_etat_processus).instruction_courante) - + 1] = d_code_fin_chaine; - (*s_etat_processus).instruction_courante - [strlen((*s_etat_processus).instruction_courante)] - = 'h'; - - recherche_type(s_etat_processus); - - free((*s_etat_processus).instruction_courante); - (*s_etat_processus).instruction_courante = tampon; - - if (((*s_etat_processus).erreur_systeme == d_es) && - ((*s_etat_processus).erreur_execution == d_ex)) - { - if (depilement(s_etat_processus, - &((*s_etat_processus).l_base_pile), - &s_sous_objet) == d_absence_erreur) - { - if ((*s_sous_objet).type == BIN) - { - (*s_objet).type = ADR; - - if ((element = - malloc(sizeof(unsigned long))) == NULL) - { - (*s_etat_processus).erreur_systeme = - d_es_allocation_memoire; - (*s_etat_processus) - .traitement_interruptible = - registre_interruption; - return; - } - - (*((unsigned long *) element)) = (*((logical8 *) - (*s_sous_objet).objet)); - } - else - { - (*s_etat_processus).erreur_execution = - d_ex_syntaxe; - } - - liberation(s_etat_processus, s_sous_objet); - } - else - { - (*s_etat_processus).traitement_interruptible = - registre_interruption; - return; - } - } - } - else - { - (*s_etat_processus).erreur_execution = d_ex_syntaxe; - } - - break; - } - } - -/* -------------------------------------------------------------------------------- Entier ou réel --------------------------------------------------------------------------------