[BACK]Return to simple.y CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097

Diff for /OpenXM/src/k097/simple.y between version 1.1 and 1.6

version 1.1, 1999/10/08 02:12:14 version 1.6, 2003/04/30 06:17:57
Line 1 
Line 1 
   /* $OpenXM: OpenXM/src/k097/simple.y,v 1.5 2002/11/29 06:20:02 takayama Exp $ */
 /* simple.y 1996, 1/1 --- 1/6 */  /* simple.y 1996, 1/1 --- 1/6 */
 /* simple.y.ccc,  1996, 4/1 --- */  /* simple.y.ccc,  1996, 4/1 --- */
 %{  %{
Line 93  return :
Line 93  return :
   ;    ;
   
 break : BREAK  { pkkan(" exit "); }  break : BREAK  { pkkan(" exit "); }
   ;
   
 list_prefix  list_prefix
   :    :
     '['  { pkkan("[ "); }      '['  { pkkan("[ "); }
   ;    ;
Line 145  for
Line 146  for
   : for_prefix curryBrace    : for_prefix curryBrace
                { pkkan("} %% end of B part. {B}\n");                 { pkkan("} %% end of B part. {B}\n");
                  pkkan(" 2 1 roll] {exec} map pop\n} loop %%end of for\n"); }                   pkkan(" 2 1 roll] {exec} map pop\n} loop %%end of for\n"); }
   ;
 PSfor_prefix  PSfor_prefix
   : PSFOR '(' ID '=' exp ';'    : PSFOR '(' ID '=' exp ';'  ID '<' exp ';' ID INCREMENT  ')'
      { pkkan("%%PSfor initvalue.\n (integer) data_conversion \n");       {
          pkkan("%%PSfor initvalue.\n (integer) data_conversion \n");
        ips($3);         ips($3);
      }         ips($7); ips($11);
     ID '<' exp ';' ID INCREMENT  ')'  
      { ips($7); ips($10);  
        /* They must be equal id, but it is not checked. */         /* They must be equal id, but it is not checked. */
        pkkan(" (1).. sub  (integer) data_conversion  1  2 -1 roll \n");         pkkan(" (1).. sub  (integer) data_conversion  1  2 -1 roll \n");
        pkkan("{ %% for body\n (universalNumber) data_conversion ");         pkkan("{ %% for body\n (universalNumber) data_conversion ");
Line 192  load :
Line 192  load :
   | LOAD ID              {   loadFile($2);  }    | LOAD ID              {   loadFile($2);  }
   | LOAD QUOTE           {   loadFile($2);  }    | LOAD QUOTE           {   loadFile($2);  }
   | LOAD '[' QUOTE ']'   {   loadFileWithCpp($3); }    | LOAD '[' QUOTE ']'   {   loadFileWithCpp($3); }
   ;
 sm1ArgList :  sm1ArgList :
   | sm1ArgList ',' QUOTE  { pkkan(" "); printObjectSymbol($3); pkkan(" "); }    | sm1ArgList ',' QUOTE  { pkkan(" "); printObjectSymbol($3); pkkan(" "); }
   | QUOTE                 { pkkan(" "); printObjectSymbol($1); pkkan(" "); }    | QUOTE                 { pkkan(" "); printObjectSymbol($1); pkkan(" "); }
Line 227  primitive
Line 227  primitive
   
 functionCall_prefix  functionCall_prefix
   :    :
     ID '('  { pkkan("this [ %% function args \n"); $$ = $1 }     ID '('  { pkkan("this [ %% function args \n"); $$ = $1; }
   ;    ;
   
 /* function call. cf. Schreiner 19p */  /* function call. cf. Schreiner 19p */
Line 449  member_functionCall
Line 449  member_functionCall
   ;    ;
 member_functionCall_prefix  member_functionCall_prefix
   :    :
     ID '('  { pkkan(" [ %% function args \n"); $$ = $1 }      ID '('  { pkkan(" [ %% function args \n"); $$ = $1; }
   ;    ;
   
   
Line 460  class_definition
Line 460  class_definition
         /* debug */ K00foo1();          /* debug */ K00foo1();
         K00toPrimitiveClass();          K00toPrimitiveClass();
       }        }
   |  
     class_definition_prefix  globalstatements '}'  
       { pkkan(" PrimitiveContextp setcontext ");  
         K00putIncetanceVariable(IEXIT," ");  
         /* debug */ K00foo1();  
         K00toPrimitiveClass();  
       }  
   ;    ;
   
 class_definition_prefix  class_definition_prefix
Line 486  class_definition_prefix
Line 479  class_definition_prefix
           K00putIncetanceVariable(IRESET," ");            K00putIncetanceVariable(IRESET," ");
         }          }
       }        }
   ;
 incetance_variables  incetance_variables
   : LOCAL incetance_variables_list ';'    : LOCAL incetance_variables_list ';'
       {        {
         K00putIncetanceVariable(IEXIT," ");          K00putIncetanceVariable(IEXIT," ");
       }        }
     | LOCAL ';'
         {
           K00putIncetanceVariable(IEXIT," ");
         }
   ;    ;
 incetance_variables_list  incetance_variables_list
   : incetance_variables_list ',' ID    : incetance_variables_list ',' ID
Line 502  incetance_variables_list
Line 499  incetance_variables_list
     {      {
       K00putIncetanceVariable(IPUT,objectSymbolToString($1));        K00putIncetanceVariable(IPUT,objectSymbolToString($1));
     }      }
   ;
 operatorfunctionHead  operatorfunctionHead
   : DEF OPERATOR ID    : DEF OPERATOR ID
         { pkkan("/"); printObjectSymbol($3); pkkan(" {\n"); ips($3);          { pkkan("/"); printObjectSymbol($3); pkkan(" {\n"); ips($3);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>