version 1.3, 2001/05/04 01:06:24 |
version 1.4, 2002/02/24 10:27:18 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.2 2000/01/16 07:55:40 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/parser.c,v 1.3 2001/05/04 01:06:24 takayama Exp $ */ |
/* |
/* |
parser.c parser for poly.c |
parser.c parser for poly.c |
*/ |
*/ |
Line 22 union valObject { |
|
Line 22 union valObject { |
|
POLY p; |
POLY p; |
}; |
}; |
|
|
|
#if defined(__CYGWIN__) |
|
static sigjmp_buf EnvOfParser; |
|
#else |
static jmp_buf EnvOfParser; |
static jmp_buf EnvOfParser; |
|
#endif |
|
|
static char *String; |
static char *String; |
static int StrPtr = 0; /* String and StrPtr are used in getcharFromStr() */ |
static int StrPtr = 0; /* String and StrPtr are used in getcharFromStr() */ |
Line 119 POLY stringToPOLY(s,ringp) |
|
Line 122 POLY stringToPOLY(s,ringp) |
|
Ring0 = *ringp; |
Ring0 = *ringp; |
Ring0.p = 0; |
Ring0.p = 0; |
Ring0.next = (struct ring *)NULL; |
Ring0.next = (struct ring *)NULL; |
|
#if defined(__CYGWIN__) |
|
if (sigsetjmp(EnvOfParser,1)) { |
|
#else |
if (setjmp(EnvOfParser)) { |
if (setjmp(EnvOfParser)) { |
|
#endif |
fprintf(stderr,"\nERROR: You have syntax errors in the expression: %s\n",s); |
fprintf(stderr,"\nERROR: You have syntax errors in the expression: %s\n",s); |
errorKan1("%s\n"," parser.c : Syntax error in the input polynomial."); |
errorKan1("%s\n"," parser.c : Syntax error in the input polynomial."); |
return( POLYNULL ); /* error */ |
return( POLYNULL ); /* error */ |
Line 589 static void errorParser(s) char s[]; { |
|
Line 595 static void errorParser(s) char s[]; { |
|
fprintf(Fstack,"The interpreter was looking for the label <<%s>>. It is also aborted.\n",GotoLabel); |
fprintf(Fstack,"The interpreter was looking for the label <<%s>>. It is also aborted.\n",GotoLabel); |
GotoP = 0; |
GotoP = 0; |
} |
} |
|
#if defined(__CYGWIN__) |
|
siglongjmp(EnvOfParser,1); |
|
#else |
longjmp(EnvOfParser,1); |
longjmp(EnvOfParser,1); |
|
#endif |
} |
} |
|
|