version 1.3, 2001/01/13 12:40:56 |
version 1.7, 2003/05/14 07:08:05 |
|
|
/* $OpenXM: OpenXM/src/k097/simple.y,v 1.2 2000/01/21 03:01:26 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 --- */ |
%{ |
%{ |
|
|
; |
; |
|
|
break : BREAK { pkkan(" exit "); } |
break : BREAK { pkkan(" exit "); } |
|
; |
|
|
list_prefix |
list_prefix |
: |
: |
'[' { pkkan("[ "); } |
'[' { pkkan("[ "); } |
; |
; |
|
|
: 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(" 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 "); |
|
|
| 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(" "); } |
|
|
|
|
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 451 member_functionCall |
|
; |
; |
member_functionCall_prefix |
member_functionCall_prefix |
: |
: |
ID '(' { pkkan(" [ %% function args \n"); $$ = $1 } |
ID '(' { pkkan(" [ %% function args \n"); $$ = $1; } |
; |
; |
|
|
|
|
Line 479 class_definition_prefix |
|
Line 481 class_definition_prefix |
|
K00putIncetanceVariable(IRESET," "); |
K00putIncetanceVariable(IRESET," "); |
} |
} |
} |
} |
|
; |
incetance_variables |
incetance_variables |
: LOCAL incetance_variables_list ';' |
: LOCAL incetance_variables_list ';' |
{ |
{ |
Line 499 incetance_variables_list |
|
Line 501 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); |