=================================================================== RCS file: /home/cvs/OpenXM/src/k097/simple.y,v retrieving revision 1.4 retrieving revision 1.7 diff -u -p -r1.4 -r1.7 --- OpenXM/src/k097/simple.y 2002/11/28 01:25:36 1.4 +++ OpenXM/src/k097/simple.y 2003/05/14 07:08:05 1.7 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/k097/simple.y,v 1.3 2001/01/13 12:40:56 takayama Exp $ */ +/* $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 --- */ %{ @@ -148,12 +148,13 @@ for 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 "); @@ -228,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 */ @@ -450,7 +451,7 @@ member_functionCall ; member_functionCall_prefix : - ID '(' { pkkan(" [ %% function args \n"); $$ = $1 } + ID '(' { pkkan(" [ %% function args \n"); $$ = $1; } ;