=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/parser.c,v retrieving revision 1.5 retrieving revision 1.11 diff -u -p -r1.5 -r1.11 --- OpenXM/src/kan96xx/Kan/parser.c 2002/11/04 10:53:55 1.5 +++ OpenXM/src/kan96xx/Kan/parser.c 2015/09/29 01:52:14 1.11 @@ -1,15 +1,21 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.4 2002/02/24 10:27:18 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.10 2015/09/27 08:12:42 takayama Exp $ */ /* parser.c parser for poly.c */ #include +#include #include "datatype.h" #include "setjmp.h" #include "stackm.h" #include "extern.h" #include "extern2.h" +#if defined(__MSYS__) || defined(__CYGWIN__) +#define setjmp(e) _setjmp(e) +#define sigsetjmp(e,n) _setjmp(e) +#endif + #define NUM 1 /* NUM means struct Bignum */ #define POL 0 @@ -410,6 +416,7 @@ static void term() { }else { if (ftype == NUM && gtype == NUM) { + errorParser("num/num is not supported yet.\n"); mpz_div(f,f,g); utmp.ival = f; push(NUM,utmp); @@ -485,7 +492,7 @@ static void factor() { static void monom() { union valObject utmp; - struct object obj; + struct object obj = OINIT; POLY f; extern struct context *CurrentContextp; if (Symbol == 'x' || Symbol == 'd') { @@ -566,8 +573,10 @@ static void errorParser(s) char s[]; { extern char *GotoLabel; extern int GotoP; extern int ErrorMessageMode; + extern int RestrictedMode, RestrictedMode_saved; int j; char tmpc[1024]; + RestrictedMode = RestrictedMode_saved; cancelAlarm(); if (ErrorMessageMode == 1 || ErrorMessageMode == 2) { sprintf(tmpc,"\nError(parser.c): ");