version 1.4, 2002/11/28 01:25:36 |
version 1.6, 2003/04/30 06:17:57 |
|
|
/* $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.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 --- */ |
%{ |
%{ |
|
|
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 "); |
|
|
|
|
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 450 member_functionCall |
|
Line 449 member_functionCall |
|
; |
; |
member_functionCall_prefix |
member_functionCall_prefix |
: |
: |
ID '(' { pkkan(" [ %% function args \n"); $$ = $1 } |
ID '(' { pkkan(" [ %% function args \n"); $$ = $1; } |
; |
; |
|
|
|
|