version 1.5, 2002/11/29 06:20:02 |
version 1.7, 2003/05/14 07:08:05 |
|
|
/* $OpenXM: OpenXM/src/k097/simple.y,v 1.4 2002/11/28 01:25:36 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 1996, 1/1 --- 1/6 */ |
/* simple.y.ccc, 1996, 4/1 --- */ |
/* simple.y.ccc, 1996, 4/1 --- */ |
%{ |
%{ |
|
|
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(" 2 -1 roll \n"); |
|
pkkan("%%PSfor initvalue.\n (integer) data_conversion \n"); |
|
pkkan(" 2 -1 roll \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 "); |