Diff for /rpl/src/analyse.c between versions 1.73 and 1.83

version 1.73, 2012/09/15 12:57:09 version 1.83, 2013/03/21 14:13:55
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 61  creation_instruction(struct_processus *s Line 61  creation_instruction(struct_processus *s
         (*(*s_etat_processus).arbre_instructions).feuille = NULL;          (*(*s_etat_processus).arbre_instructions).feuille = NULL;
   
         if (((*(*s_etat_processus).arbre_instructions).noeuds =          if (((*(*s_etat_processus).arbre_instructions).noeuds =
                 malloc((*s_etat_processus).nombre_caracteres                  malloc(((size_t) (*s_etat_processus).nombre_caracteres)
                 * sizeof(struct_instruction))) == NULL)                  * sizeof(struct_instruction))) == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 101  creation_instruction(struct_processus *s Line 101  creation_instruction(struct_processus *s
   
             if (((*(*l_instruction_courante).noeuds[(*s_etat_processus)              if (((*(*l_instruction_courante).noeuds[(*s_etat_processus)
                     .pointeurs_caracteres[*ptr]]).noeuds =                      .pointeurs_caracteres[*ptr]]).noeuds =
                     malloc((*s_etat_processus).nombre_caracteres                      malloc(((size_t) (*s_etat_processus).nombre_caracteres)
                     * sizeof(struct_instruction))) == NULL)                      * sizeof(struct_instruction))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 180  initialisation_instructions(struct_proce Line 180  initialisation_instructions(struct_proce
     }      }
   
     if (((*s_etat_processus).pointeurs_caracteres =      if (((*s_etat_processus).pointeurs_caracteres =
             malloc(longueur_tableau * sizeof(int))) == NULL)              malloc(((size_t) longueur_tableau * sizeof(int)))) == NULL)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
         return;          return;
Line 722  initialisation_instructions(struct_proce Line 722  initialisation_instructions(struct_proce
     INSTRUCTION("ATEXIT", instruction_atexit);      INSTRUCTION("ATEXIT", instruction_atexit);
     INSTRUCTION("ATPOKE", instruction_atpoke);      INSTRUCTION("ATPOKE", instruction_atpoke);
     INSTRUCTION("BESSEL", instruction_bessel);      INSTRUCTION("BESSEL", instruction_bessel);
       INSTRUCTION("CIPHER", instruction_cipher);
     INSTRUCTION("CLRERR", instruction_clrerr);      INSTRUCTION("CLRERR", instruction_clrerr);
     INSTRUCTION("CLRMTX", instruction_clrmtx);      INSTRUCTION("CLRMTX", instruction_clrmtx);
     INSTRUCTION("CLRSWI", instruction_clrswi);      INSTRUCTION("CLRSWI", instruction_clrswi);
Line 746  initialisation_instructions(struct_proce Line 747  initialisation_instructions(struct_proce
         INSTRUCTION("DETACH", instruction_spawn);          INSTRUCTION("DETACH", instruction_spawn);
 #   endif  #   endif
     INSTRUCTION("DIAG->", instruction_diag_fleche);      INSTRUCTION("DIAG->", instruction_diag_fleche);
       INSTRUCTION("DIGEST", instruction_digest);
     //INSTRUCTION("DOLIST")      //INSTRUCTION("DOLIST")
     //Instruction HP48 (application d'une fonction à une liste)      //Instruction HP48 (application d'une fonction à une liste)
     //liste(s) nombre_de_listes_a_traiter fonction DOLIST      //liste(s) nombre_de_listes_a_traiter fonction DOLIST
Line 757  initialisation_instructions(struct_proce Line 759  initialisation_instructions(struct_proce
     //DOLIST      //DOLIST
     //=> { 29 42 57 }      //=> { 29 42 57 }
     INSTRUCTION("ELSEIF", instruction_elseif);      INSTRUCTION("ELSEIF", instruction_elseif);
       INSTRUCTION("FORALL", instruction_forall);
     INSTRUCTION("FORMAT", instruction_format);      INSTRUCTION("FORMAT", instruction_format);
     //INSTRUCTION("HEIGHT")      //INSTRUCTION("HEIGHT")
     INSTRUCTION("ITRACE", instruction_itrace);      INSTRUCTION("ITRACE", instruction_itrace);
Line 839  initialisation_instructions(struct_proce Line 842  initialisation_instructions(struct_proce
   
     INSTRUCTION("CLRCNTXT", instruction_clrcntxt);      INSTRUCTION("CLRCNTXT", instruction_clrcntxt);
     INSTRUCTION("CLRSMPHR", instruction_clrsmphr);      INSTRUCTION("CLRSMPHR", instruction_clrsmphr);
       INSTRUCTION("COMPRESS", instruction_compress);
     INSTRUCTION("CONTINUE", instruction_continue);      INSTRUCTION("CONTINUE", instruction_continue);
     INSTRUCTION("CRITICAL", instruction_critical);      INSTRUCTION("CRITICAL", instruction_critical);
     INSTRUCTION("DUPCNTXT", instruction_dupcntxt);      INSTRUCTION("DUPCNTXT", instruction_dupcntxt);
Line 898  initialisation_instructions(struct_proce Line 902  initialisation_instructions(struct_proce
     //pentes      //pentes
     //représentent la valeur de la fonction (x,y) en leur milieu.      //représentent la valeur de la fonction (x,y) en leur milieu.
     //=> utile pour y'=F(x,y)      //=> utile pour y'=F(x,y)
       INSTRUCTION("UNCOMPRESS", instruction_uncompress);
   
     INSTRUCTION("LOCALIZATION", instruction_localization);      INSTRUCTION("LOCALIZATION", instruction_localization);
     INSTRUCTION("SMPHRTRYDECR", instruction_smphrtrydecr);      INSTRUCTION("SMPHRTRYDECR", instruction_smphrtrydecr);
Line 1100  analyse(struct_processus *s_etat_process Line 1105  analyse(struct_processus *s_etat_process
         if ((position = index((*s_etat_processus).instruction_courante, '$'))          if ((position = index((*s_etat_processus).instruction_courante, '$'))
                 != NULL)                  != NULL)
         {          {
             if ((bibliotheque_candidate = malloc((position + 1              if ((bibliotheque_candidate = malloc(((size_t) (position + 1
                     - (*s_etat_processus).instruction_courante)                      - (*s_etat_processus).instruction_courante))
                     * sizeof(unsigned char))) == NULL)                      * sizeof(unsigned char))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 1110  analyse(struct_processus *s_etat_process Line 1115  analyse(struct_processus *s_etat_process
   
             (*bibliotheque_candidate) = d_code_fin_chaine;              (*bibliotheque_candidate) = d_code_fin_chaine;
             strncat(bibliotheque_candidate,              strncat(bibliotheque_candidate,
                     (*s_etat_processus).instruction_courante,                      (*s_etat_processus).instruction_courante, ((size_t)
                     position - (*s_etat_processus).instruction_courante);                      (position - (*s_etat_processus).instruction_courante)));
   
             position++;              position++;
   
Line 1229  analyse(struct_processus *s_etat_process Line 1234  analyse(struct_processus *s_etat_process
                             (*s_etat_processus).pourcentage_maximal_cpu)                              (*s_etat_processus).pourcentage_maximal_cpu)
                             - (pourcentage * temps_cpu / 100);                              - (pourcentage * temps_cpu / 100);
   
                     temporisation.tv_sec = floor(attente);                      temporisation.tv_sec = (__time_t) floor(attente);
                     temporisation.tv_nsec = (attente - temporisation.tv_sec) *                      temporisation.tv_nsec = (__suseconds_t) ((attente
                             1E9;                              - ((real8) temporisation.tv_sec)) * 1E9);
   
                     while(nanosleep(&temporisation, &temporisation) == -1)                      while(nanosleep(&temporisation, &temporisation) == -1)
                     {                      {

Removed from v.1.73  
changed lines
  Added in v.1.83


CVSweb interface <joel.bertrand@systella.fr>