Diff for /rpl/src/compilation.c between versions 1.42 and 1.49

version 1.42, 2012/02/06 11:26:10 version 1.49, 2012/09/29 17:53:02
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.6    RPL/2 (R) version 4.1.10
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 364  analyse_syntaxique(struct_processus *s_e Line 364  analyse_syntaxique(struct_processus *s_e
     enum t_condition    { AN_IF = 1, AN_IFERR, AN_THEN, AN_ELSE, AN_ELSEIF,      enum t_condition    { AN_IF = 1, AN_IFERR, AN_THEN, AN_ELSE, AN_ELSEIF,
                         AN_END, AN_DO, AN_UNTIL, AN_WHILE, AN_REPEAT, AN_SELECT,                          AN_END, AN_DO, AN_UNTIL, AN_WHILE, AN_REPEAT, AN_SELECT,
                         AN_CASE, AN_DEFAULT, AN_UP, AN_DOWN, AN_FOR, AN_START,                          AN_CASE, AN_DEFAULT, AN_UP, AN_DOWN, AN_FOR, AN_START,
                         AN_NEXT, AN_STEP };                          AN_NEXT, AN_STEP, AN_CRITICAL, AN_FORALL };
   
     unsigned char       *instruction;      unsigned char       *instruction;
     unsigned char       registre;      unsigned char       registre;
Line 514  analyse_syntaxique(struct_processus *s_e Line 514  analyse_syntaxique(struct_processus *s_e
   
             l_base_pile = l_nouvelle_base_pile;              l_base_pile = l_nouvelle_base_pile;
         }          }
           else if (strcmp(instruction, "CRITICAL") == 0)
           {
               if ((l_nouvelle_base_pile = empilement_analyse(l_base_pile,
                       AN_CRITICAL)) == NULL)
               {
                   liberation_analyse(l_base_pile);
   
                   (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                   return(d_erreur);
               }
   
               l_base_pile = l_nouvelle_base_pile;
           }
         else if (strcmp(instruction, "THEN") == 0)          else if (strcmp(instruction, "THEN") == 0)
         {          {
             if ((test_analyse(l_base_pile, AN_IF) == d_faux) &&              if ((test_analyse(l_base_pile, AN_IF) == d_faux) &&
Line 572  analyse_syntaxique(struct_processus *s_e Line 585  analyse_syntaxique(struct_processus *s_e
                     (test_analyse(l_base_pile, AN_DEFAULT) == d_faux) &&                      (test_analyse(l_base_pile, AN_DEFAULT) == d_faux) &&
                     (test_analyse(l_base_pile, AN_SELECT) == d_faux) &&                      (test_analyse(l_base_pile, AN_SELECT) == d_faux) &&
                     (test_analyse(l_base_pile, AN_THEN) == d_faux) &&                      (test_analyse(l_base_pile, AN_THEN) == d_faux) &&
                       (test_analyse(l_base_pile, AN_CRITICAL) == d_faux) &&
                     (test_analyse(l_base_pile, AN_ELSE) == d_faux))                      (test_analyse(l_base_pile, AN_ELSE) == d_faux))
             {              {
                 liberation_analyse(l_base_pile);                  liberation_analyse(l_base_pile);
Line 753  analyse_syntaxique(struct_processus *s_e Line 767  analyse_syntaxique(struct_processus *s_e
   
             l_base_pile = l_nouvelle_base_pile;              l_base_pile = l_nouvelle_base_pile;
         }          }
           else if (strcmp(instruction, "FORALL") == 0)
           {
               if ((l_nouvelle_base_pile = empilement_analyse(l_base_pile,
                       AN_FORALL)) == NULL)
               {
                   liberation_analyse(l_base_pile);
   
                   (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
                   return(d_erreur);
               }
   
               l_base_pile = l_nouvelle_base_pile;
           }
         else if (strcmp(instruction, "NEXT") == 0)          else if (strcmp(instruction, "NEXT") == 0)
         {          {
             if ((test_analyse(l_base_pile, AN_FOR) == d_faux) &&              if ((test_analyse(l_base_pile, AN_FOR) == d_faux) &&
                       (test_analyse(l_base_pile, AN_FORALL) == d_faux) &&
                     (test_analyse(l_base_pile, AN_START) == d_faux))                      (test_analyse(l_base_pile, AN_START) == d_faux))
             {              {
                 liberation_analyse(l_base_pile);                  liberation_analyse(l_base_pile);
Line 930  readline_effacement(int count, int key) Line 958  readline_effacement(int count, int key)
     ligne = NULL;      ligne = NULL;
     niveau = 0;      niveau = 0;
   
     uprintf("\n  annulation !\n");      uprintf("^G\n");
     rl_expand_prompt("RPL/2> ");      rl_expand_prompt("RPL/2> ");
     rl_on_new_line();      rl_on_new_line();
     return(0);      return(0);

Removed from v.1.42  
changed lines
  Added in v.1.49


CVSweb interface <joel.bertrand@systella.fr>