Diff for /rpl/src/instructions_f1.c between versions 1.69 and 1.87

version 1.69, 2015/02/19 11:01:23 version 1.87, 2022/09/07 13:40:34
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.21    RPL/2 (R) version 4.1.34
   Copyright (C) 1989-2015 Dr. BERTRAND Joël    Copyright (C) 1989-2021 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 85  instruction_fleche(struct_processus *s_e Line 85  instruction_fleche(struct_processus *s_e
                 "       %s, %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s, %s,\n"
                 "       %s, %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s, %s,\n"
                 "       %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s,\n"
                 "       %s, %s\n",                  "       %s, %s, %s\n",
                 d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX,                  d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX,
                 d_TAB, d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SCK,                  d_TAB, d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SCK,
                 d_SQL, d_SLB, d_PRC, d_MTX);                  d_SQL, d_SLB, d_PRC, d_MTX, d_REC);
         printf("    ...\n");          printf("    ...\n");
         printf("    1: %s, %s, %s, %s, %s, %s,\n"          printf("    1: %s, %s, %s, %s, %s, %s,\n"
                 "       %s, %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s, %s,\n"
                 "       %s, %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s, %s,\n"
                 "       %s, %s, %s, %s,\n"                  "       %s, %s, %s, %s,\n"
                 "       %s, %s\n",                  "       %s, %s, %s\n",
                 d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX,                  d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX,
                 d_TAB, d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SCK,                  d_TAB, d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SCK,
                 d_SQL, d_SLB, d_PRC, d_MTX);                  d_SQL, d_SLB, d_PRC, d_MTX, d_REC);
   
         if ((*s_etat_processus).langue == 'F')          if ((*s_etat_processus).langue == 'F')
         {          {
Line 110  instruction_fleche(struct_processus *s_e Line 110  instruction_fleche(struct_processus *s_e
   
         printf("    -> (variables) %s\n\n", d_RPN);          printf("    -> (variables) %s\n\n", d_RPN);
   
         printf("    -> (variables) %s\n", d_ALG);          printf("    -> (variables) %s\n\n", d_ALG);
   
           printf("    -> (variables) %s\n", d_NOM);
   
         return;          return;
     }      }
Line 746  instruction_fleche(struct_processus *s_e Line 748  instruction_fleche(struct_processus *s_e
   
     if (presence_expression_algebrique == d_vrai)      if (presence_expression_algebrique == d_vrai)
     {      {
           // Si l'expression algébrique est réduite à un simple nom, il
           // s'agit toujours d'un nom symbolique. Il faut alors lui retirer
           // son caractère de constante symbolique pour faire remonter les
           // erreurs de type 'variable indéfinie'.
   
           if ((*s_expression_algebrique).type == NOM)
           {
               (*((struct_nom *) (*s_expression_algebrique).objet)).symbole =
                       d_faux;
           }
   
         evaluation(s_etat_processus, s_expression_algebrique, 'N');          evaluation(s_etat_processus, s_expression_algebrique, 'N');
   
           if ((*s_expression_algebrique).type == NOM)
           {
               (*((struct_nom *) (*s_expression_algebrique).objet)).symbole =
                       d_vrai;
           }
   
         if ((*s_etat_processus).mode_execution_programme == 'Y')          if ((*s_etat_processus).mode_execution_programme == 'Y')
         {          {
             liberation(s_etat_processus, s_expression_algebrique);              liberation(s_etat_processus, s_expression_algebrique);

Removed from v.1.69  
changed lines
  Added in v.1.87


CVSweb interface <joel.bertrand@systella.fr>