=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/parse.y,v retrieving revision 1.9 retrieving revision 1.11 diff -u -p -r1.9 -r1.11 --- OpenXM_contrib2/asir2000/parse/parse.y 2001/09/03 01:04:28 1.9 +++ OpenXM_contrib2/asir2000/parse/parse.y 2001/09/05 09:01:28 1.11 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.y,v 1.8 2001/08/21 01:39:39 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/parse.y,v 1.10 2001/09/03 07:01:10 noro Exp $ */ %{ #define malloc(x) GC_malloc(x) @@ -90,7 +90,7 @@ extern jmp_buf env; } %token STRUCT POINT NEWSTRUCT ANS FDEF PFDEF GLOBAL CMP OR AND CAR CDR QUOTED -%token DO WHILE FOR IF ELSE BREAK RETURN CONTINUE PARIF MAP RECMAP TIMER GF2NGEN GFPNGEN GETOPT +%token DO WHILE FOR IF ELSE BREAK RETURN CONTINUE PARIF MAP RECMAP TIMER GF2NGEN GFPNGEN GFSNGEN GETOPT %token FOP_AND FOP_OR FOP_IMPL FOP_REPL FOP_EQUIV FOP_NOT LOP %token

FORMULA UCASE LCASE STR SELF BOPASS %token

'+' '-' '*' '/' '^' '%' @@ -229,6 +229,8 @@ pexpr : STR { $$ = mkfnode(0,I_GF2NGEN); } | GFPNGEN { $$ = mkfnode(0,I_GFPNGEN); } + | GFSNGEN + { $$ = mkfnode(0,I_GFSNGEN); } | LCASE { FUNC f; @@ -355,7 +357,7 @@ expr : pexpr | '+' expr %prec PLUS { $$ = $2; } | '-' expr %prec MINUS - { $$ = mkfnode(3,I_BOP,$1,0,$2); } + { $$ = mkfnode(1,I_MINUS,$2); } | expr '+' expr { $$ = mkfnode(3,I_BOP,$2,$1,$3); } | expr '-' expr