=================================================================== RCS file: /home/cvs/OpenXM/src/k097/simple.y,v retrieving revision 1.2 retrieving revision 1.7 diff -u -p -r1.2 -r1.7 --- OpenXM/src/k097/simple.y 2000/01/21 03:01:26 1.2 +++ OpenXM/src/k097/simple.y 2003/05/14 07:08:05 1.7 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/k097/simple.y,v 1.6 2003/04/30 06:17:57 takayama Exp $ */ /* simple.y 1996, 1/1 --- 1/6 */ /* simple.y.ccc, 1996, 4/1 --- */ %{ @@ -93,8 +93,9 @@ return : ; break : BREAK { pkkan(" exit "); } +; -list_prefix +list_prefix : '[' { pkkan("[ "); } ; @@ -145,14 +146,15 @@ for : for_prefix curryBrace { pkkan("} %% end of B part. {B}\n"); pkkan(" 2 1 roll] {exec} map pop\n} loop %%end of for\n"); } - +; PSfor_prefix - : PSFOR '(' ID '=' exp ';' - { pkkan("%%PSfor initvalue.\n (integer) data_conversion \n"); + : PSFOR '(' ID '=' exp ';' ID '<' exp ';' ID INCREMENT ')' + { + pkkan(" 2 -1 roll \n"); + pkkan("%%PSfor initvalue.\n (integer) data_conversion \n"); + pkkan(" 2 -1 roll \n"); ips($3); - } - ID '<' exp ';' ID INCREMENT ')' - { ips($7); ips($10); + ips($7); ips($11); /* They must be equal id, but it is not checked. */ pkkan(" (1).. sub (integer) data_conversion 1 2 -1 roll \n"); pkkan("{ %% for body\n (universalNumber) data_conversion "); @@ -192,7 +194,7 @@ load : | LOAD ID { loadFile($2); } | LOAD QUOTE { loadFile($2); } | LOAD '[' QUOTE ']' { loadFileWithCpp($3); } - +; sm1ArgList : | sm1ArgList ',' QUOTE { pkkan(" "); printObjectSymbol($3); pkkan(" "); } | QUOTE { pkkan(" "); printObjectSymbol($1); pkkan(" "); } @@ -227,7 +229,7 @@ primitive functionCall_prefix : - ID '(' { pkkan("this [ %% function args \n"); $$ = $1 } + ID '(' { pkkan("this [ %% function args \n"); $$ = $1; } ; /* function call. cf. Schreiner 19p */ @@ -449,7 +451,7 @@ member_functionCall ; member_functionCall_prefix : - ID '(' { pkkan(" [ %% function args \n"); $$ = $1 } + ID '(' { pkkan(" [ %% function args \n"); $$ = $1; } ; @@ -460,13 +462,6 @@ class_definition /* debug */ K00foo1(); K00toPrimitiveClass(); } - | - class_definition_prefix globalstatements '}' - { pkkan(" PrimitiveContextp setcontext "); - K00putIncetanceVariable(IEXIT," "); - /* debug */ K00foo1(); - K00toPrimitiveClass(); - } ; class_definition_prefix @@ -486,12 +481,16 @@ class_definition_prefix K00putIncetanceVariable(IRESET," "); } } - +; incetance_variables : LOCAL incetance_variables_list ';' { K00putIncetanceVariable(IEXIT," "); } + | LOCAL ';' + { + K00putIncetanceVariable(IEXIT," "); + } ; incetance_variables_list : incetance_variables_list ',' ID @@ -502,7 +501,7 @@ incetance_variables_list { K00putIncetanceVariable(IPUT,objectSymbolToString($1)); } - +; operatorfunctionHead : DEF OPERATOR ID { pkkan("/"); printObjectSymbol($3); pkkan(" {\n"); ips($3);