2160 char *yymsg = yymsgbuf;
2161 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2164 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2175 YYDPRINTF ((stderr,
"Starting parse\n"));
2202 if (yyss + yystacksize - 1 <= yyssp)
2205 YYSIZE_T yysize = yyssp - yyss + 1;
2219 yyoverflow (
YY_(
"memory exhausted"),
2220 &yyss1, yysize *
sizeof (*yyssp),
2221 &yyvs1, yysize *
sizeof (*yyvsp),
2228 # ifndef YYSTACK_RELOCATE
2229 goto yyexhaustedlab;
2233 goto yyexhaustedlab;
2240 union yyalloc *yyptr =
2241 (
union yyalloc *)
YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2243 goto yyexhaustedlab;
2244 YYSTACK_RELOCATE (yyss_alloc, yyss);
2245 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2246 # undef YYSTACK_RELOCATE
2253 yyssp = yyss + yysize - 1;
2254 yyvsp = yyvs + yysize - 1;
2256 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2257 (
unsigned long int) yystacksize));
2259 if (yyss + yystacksize - 1 <= yyssp)
2263 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2288 YYDPRINTF ((stderr,
"Reading a token: "));
2292 if (yychar <=
YYEOF)
2294 yychar = yytoken =
YYEOF;
2295 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2359 yyval = yyvsp[1-yylen];
2368 #line 319 "grammar.y"
2404 #line 354 "grammar.y"
2411 #line 356 "grammar.y"
2418 #line 358 "grammar.y"
2427 #line 362 "grammar.y"
2437 #line 367 "grammar.y"
2444 #line 369 "grammar.y"
2454 if ((
inerror!=3) && ((yyvsp[(1) - (2)].
i)<
UMINUS) && ((yyvsp[(1) - (2)].
i)>
' '))
2498 #line 427 "grammar.y"
2505 #line 430 "grammar.y"
2512 #line 445 "grammar.y"
2521 #line 452 "grammar.y"
2531 #line 457 "grammar.y"
2533 syMake(&(yyval.lv),(yyvsp[(1) - (1)].name));
2540 #line 461 "grammar.y"
2549 #line 465 "grammar.y"
2551 if(
iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv),
'.', &(yyvsp[(3) - (3)].lv)))
YYERROR;
2558 #line 469 "grammar.y"
2567 #line 473 "grammar.y"
2569 if ((yyvsp[(1) - (4)].lv).
next==
NULL)
2572 memcpy((yyvsp[(1) - (4)].lv).
next,&(yyvsp[(3) - (4)].lv),
sizeof(
sleftv));
2575 else if ((yyvsp[(1) - (4)].lv).rtyp==
UNKNOWN)
2586 #line 487 "grammar.y"
2590 memset(&(yyval.lv),0,
sizeof(
sleftv));
2592 leftv v = &(yyvsp[(2) - (3)].lv);
2597 memset(&tmp,0,
sizeof(tmp));
2601 pDelete((poly *)&(yyval.lv).data);
2602 (yyvsp[(2) - (3)].lv).CleanUp();
2607 (yyval.lv).data = (
void *)
pAdd((poly)(yyval.lv).data,
p);
2612 (yyvsp[(2) - (3)].lv).CleanUp();
2619 #line 515 "grammar.y"
2621 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2622 int i = atoi((yyvsp[(1) - (1)].
name));
2626 (yyval.lv).data = (
void *)(long)
i;
2629 int l = strlen((yyvsp[(1) - (1)].
name))+2;
2634 sprintf(tmp,
"%d",
i);
2635 if (strcmp(tmp,(yyvsp[(1) - (1)].
name))!=0)
2639 (yyval.lv).data = n;
2648 #line 539 "grammar.y"
2650 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2651 (yyval.lv).rtyp = (yyvsp[(1) - (1)].
i);
2652 (yyval.lv).data = (yyval.lv).Data();
2659 #line 545 "grammar.y"
2661 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2663 (yyval.lv).data = (yyvsp[(1) - (1)].
name);
2670 #line 551 "grammar.y"
2679 #line 555 "grammar.y"
2688 #line 559 "grammar.y"
2697 #line 563 "grammar.y"
2706 #line 567 "grammar.y"
2715 #line 571 "grammar.y"
2724 #line 575 "grammar.y"
2733 #line 579 "grammar.y"
2742 #line 583 "grammar.y"
2751 #line 587 "grammar.y"
2760 #line 591 "grammar.y"
2769 #line 595 "grammar.y"
2778 #line 599 "grammar.y"
2787 #line 603 "grammar.y"
2796 #line 607 "grammar.y"
2805 #line 611 "grammar.y"
2807 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2814 #line 615 "grammar.y"
2816 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2823 #line 619 "grammar.y"
2825 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2832 #line 623 "grammar.y"
2834 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2841 #line 627 "grammar.y"
2850 #line 631 "grammar.y"
2852 int b=
iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i));
2861 #line 637 "grammar.y"
2863 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2870 #line 641 "grammar.y"
2879 #line 645 "grammar.y"
2888 #line 649 "grammar.y"
2897 #line 653 "grammar.y"
2899 if (
iiARROW(&(yyval.lv),(yyvsp[(1) - (3)].name),(yyvsp[(3) - (3)].name)))
YYERROR;
2907 #line 657 "grammar.y"
2908 { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
2914 #line 662 "grammar.y"
2916 leftv v = &(yyvsp[(1) - (3)].lv);
2922 memcpy(
v->
next,&((yyvsp[(3) - (3)].lv)),
sizeof(
sleftv));
2923 (yyval.lv) = (yyvsp[(1) - (3)].lv);
2930 #line 673 "grammar.y"
2932 (yyval.lv) = (yyvsp[(1) - (1)].lv);
2939 #line 679 "grammar.y"
2942 (yyval.lv) = (yyvsp[(1) - (1)].lv);
2949 #line 683 "grammar.y"
2950 { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
2956 #line 685 "grammar.y"
2958 if(
iiExprArith3(&(yyval.lv),
'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv)))
YYERROR;
2965 #line 689 "grammar.y"
2974 #line 693 "grammar.y"
2983 #line 697 "grammar.y"
2992 #line 701 "grammar.y"
3001 #line 705 "grammar.y"
3010 #line 709 "grammar.y"
3019 #line 713 "grammar.y"
3021 if (
iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv)))
YYERROR;
3028 #line 717 "grammar.y"
3030 (yyval.lv)=(yyvsp[(2) - (3)].lv);
3037 #line 721 "grammar.y"
3042 {
if (
iiExprArith2(&(yyval.lv),&(yyvsp[(2) - (5)].lv),
'=',&(yyvsp[(4) - (5)].lv)))
YYERROR; }
3046 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3047 (yyval.lv).rtyp=
NONE;
3059 #line 738 "grammar.y"
3061 iiTestAssume(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv));
3062 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3063 (yyval.lv).rtyp=
NONE;
3070 #line 744 "grammar.y"
3081 #line 750 "grammar.y"
3084 if (
siq<=0) (yyvsp[(4) - (5)].lv).Eval();
3086 (yyval.lv)=(yyvsp[(4) - (5)].lv);
3096 #line 762 "grammar.y"
3107 #line 770 "grammar.y"
3118 #line 778 "grammar.y"
3129 #line 787 "grammar.y"
3138 #line 791 "grammar.y"
3147 #line 795 "grammar.y"
3156 #line 799 "grammar.y"
3165 #line 803 "grammar.y"
3167 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3174 #line 807 "grammar.y"
3183 #line 811 "grammar.y"
3185 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3192 #line 815 "grammar.y"
3194 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3201 #line 819 "grammar.y"
3210 #line 823 "grammar.y"
3219 #line 827 "grammar.y"
3228 #line 831 "grammar.y"
3237 #line 835 "grammar.y"
3243 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3246 (yyval.lv).data = (
void *)(long)(
i == 0 ? 1 : 0);
3254 #line 847 "grammar.y"
3263 #line 853 "grammar.y"
3264 { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
3270 #line 855 "grammar.y"
3272 if ((yyvsp[(1) - (2)].lv).rtyp==0)
3274 Werror(
"`%s` is undefined",(yyvsp[(1) - (2)].lv).Fullname());
3277 else if (((yyvsp[(1) - (2)].lv).rtyp==
MODUL_CMD)
3279 && ((yyvsp[(1) - (2)].lv).e!=
NULL) && ((yyvsp[(1) - (2)].lv).e->next==
NULL))
3281 MYYERROR(
"matrix must have 2 indices");
3283 (yyval.lv) = (yyvsp[(1) - (2)].lv);
3290 #line 875 "grammar.y"
3294 MYYERROR(
"string expression expected");
3296 (yyval.name) = (
char *)(yyvsp[(2) - (3)].lv).CopyD(
STRING_CMD);
3297 (yyvsp[(2) - (3)].lv).CleanUp();
3304 #line 887 "grammar.y"
3306 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3314 #line 892 "grammar.y"
3316 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3324 #line 897 "grammar.y"
3333 #line 901 "grammar.y"
3342 #line 905 "grammar.y"
3359 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),
myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
3369 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),
myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
3383 #line 941 "grammar.y"
3391 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3405 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3414 #line 967 "grammar.y"
3416 int t=(yyvsp[(1) - (3)].lv).Typ();
3418 memset(&r,0,
sizeof(
sleftv));
3426 if (
iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),
myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))
3429 leftv v=&(yyvsp[(1) - (3)].lv);
3433 (yyval.lv)=(yyvsp[(1) - (3)].lv);
3440 #line 988 "grammar.y"
3442 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3450 #line 1001 "grammar.y"
3452 leftv v = &(yyvsp[(2) - (5)].lv);
3458 memcpy(
v->
next,&((yyvsp[(4) - (5)].lv)),
sizeof(
sleftv));
3459 (yyval.lv) = (yyvsp[(2) - (5)].lv);
3466 #line 1015 "grammar.y"
3476 #line 1023 "grammar.y"
3478 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3481 (*iv)[1] = (yyvsp[(1) - (1)].i);
3483 (yyval.lv).data = (
void *)iv;
3490 #line 1032 "grammar.y"
3492 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3493 leftv sl = &(yyvsp[(3) - (4)].lv);
3497 int l = 2 + slLength;
3499 (*iv)[0] = slLength;
3500 (*iv)[1] = (yyvsp[(1) - (4)].i);
3503 while ((
i<
l) && (sl!=
NULL))
3507 (*iv)[
i++] = (int)((
long)(sl->
Data()));
3516 (*iv)[
i++] = (*ivv)[ll++];
3522 (yyvsp[(3) - (4)].lv).CleanUp();
3523 MYYERROR(
"wrong type in ordering");
3528 (yyval.lv).data = (
void *)iv;
3530 (yyvsp[(3) - (4)].lv).CleanUp();
3537 #line 1078 "grammar.y"
3539 (yyval.lv) = (yyvsp[(1) - (3)].lv);
3541 memcpy((yyval.lv).next,&(yyvsp[(3) - (3)].lv),
sizeof(
sleftv));
3548 #line 1088 "grammar.y"
3550 (yyval.lv) = (yyvsp[(2) - (3)].lv);
3557 #line 1094 "grammar.y"
3566 #line 1101 "grammar.y"
3567 { (yyval.i) = (yyvsp[(1) - (1)].
i); ;}
3573 #line 1103 "grammar.y"
3574 { (yyval.i) = (yyvsp[(1) - (1)].
i); ;}
3580 #line 1105 "grammar.y"
3581 { (yyval.i) = (yyvsp[(1) - (1)].
i); ;}
3587 #line 1114 "grammar.y"
3594 #line 1119 "grammar.y"
3604 #line 1124 "grammar.y"
3613 #line 1131 "grammar.y"
3623 #line 1139 "grammar.y"
3625 if (
basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
3637 #line 1151 "grammar.y"
3639 leftv v=&(yyvsp[(2) - (2)].lv);
3659 #line 1168 "grammar.y"
3661 leftv v=&(yyvsp[(3) - (3)].lv);
3681 #line 1188 "grammar.y"
3690 #line 1192 "grammar.y"
3699 #line 1196 "grammar.y"
3709 #line 1201 "grammar.y"
3718 #line 1205 "grammar.y"
3727 #line 1209 "grammar.y"
3736 #line 1213 "grammar.y"
3745 #line 1217 "grammar.y"
3747 list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),
"// ",
TRUE);
3748 (yyvsp[(3) - (4)].lv).CleanUp();
3755 #line 1222 "grammar.y"
3759 (yyvsp[(3) - (6)].lv).CleanUp();
3766 #line 1228 "grammar.y"
3770 (yyvsp[(3) - (6)].lv).CleanUp();
3777 #line 1234 "grammar.y"
3781 (yyvsp[(3) - (6)].lv).CleanUp();
3788 #line 1240 "grammar.y"
3792 (yyvsp[(3) - (6)].lv).CleanUp();
3799 #line 1246 "grammar.y"
3803 (yyvsp[(3) - (6)].lv).CleanUp();
3810 #line 1252 "grammar.y"
3814 (yyvsp[(3) - (6)].lv).CleanUp();
3821 #line 1258 "grammar.y"
3825 (yyvsp[(3) - (6)].lv).CleanUp();
3832 #line 1270 "grammar.y"
3841 #line 1276 "grammar.y"
3848 #line 1285 "grammar.y"
3850 const char *ring_name = (yyvsp[(2) - (8)].lv).
name;
3852 rInit(&(yyvsp[(4) - (8)].lv),
3853 &(yyvsp[(6) - (8)].lv),
3854 &(yyvsp[(8) - (8)].lv));
3860 &((yyvsp[(2) - (8)].lv).req_packhdl->idroot),
FALSE);
3861 (yyvsp[(2) - (8)].lv).CleanUp();
3862 if (newRingHdl!=
NULL)
3872 if (newRingHdl==
NULL)
3886 #line 1318 "grammar.y"
3888 const char *ring_name = (yyvsp[(2) - (2)].lv).
name;
3891 (yyvsp[(2) - (2)].lv).CleanUp();
3898 #line 1325 "grammar.y"
3908 #line 1330 "grammar.y"
3913 memcpy((yyvsp[(4) - (7)].lv).
next,&(yyvsp[(6) - (7)].lv),
sizeof(
sleftv));
3914 memset(&(yyvsp[(6) - (7)].lv),0,
sizeof(
sleftv));
3923 #line 1343 "grammar.y"
3933 #line 1353 "grammar.y"
3936 MYYERROR(
"only inside a proc allowed");
3937 const char * n=(yyvsp[(2) - (2)].lv).Name();
3938 if (((yyvsp[(2) - (2)].lv).Typ()==
RING_CMD)
3939 && ((yyvsp[(2) - (2)].lv).rtyp==
IDHDL))
3942 if ((yyvsp[(2) - (2)].lv).e!=
NULL)
h=
rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),
NULL);
3977 Werror(
"%s is no identifier",n);
3978 (yyvsp[(2) - (2)].lv).CleanUp();
3985 Werror(
"cannot find the name of the basering %s",n);
3986 (yyvsp[(2) - (2)].lv).CleanUp();
3989 (yyvsp[(2) - (2)].lv).CleanUp();
3993 Werror(
"%s is no name of a ring/qring",n);
3994 (yyvsp[(2) - (2)].lv).CleanUp();
4003 #line 1421 "grammar.y"
4005 type_cmd(&((yyvsp[(2) - (2)].lv)));
4012 #line 1425 "grammar.y"
4016 if ((yyvsp[(1) - (1)].lv).rtyp!=
COMMAND)
4019 if ((yyvsp[(1) - (1)].lv).Typ()==
UNKNOWN)
4021 if ((yyvsp[(1) - (1)].lv).
name!=
NULL)
4023 Werror(
"`%s` is undefined",(yyvsp[(1) - (1)].lv).
name);
4032 (yyvsp[(1) - (1)].lv).CleanUp(
currRing);
4040 #line 1454 "grammar.y"
4058 #line 1467 "grammar.y"
4080 #line 1484 "grammar.y"
4094 #line 1493 "grammar.y"
4104 #line 1498 "grammar.y"
4114 #line 1506 "grammar.y"
4117 char *
s = (
char *)
omAlloc( strlen((yyvsp[(2) - (3)].
name)) + strlen((yyvsp[(3) - (3)].
name)) + 36);
4118 sprintf(
s,
"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[(2) - (3)].
name),(yyvsp[(3) - (3)].
name));
4128 #line 1518 "grammar.y"
4132 char *
s = (
char *)
omAlloc( strlen((yyvsp[(3) - (5)].
name))+strlen((yyvsp[(4) - (5)].
name))+strlen((yyvsp[(5) - (5)].
name))+36);
4133 sprintf(
s,
"forif (!(%s)) break;\n%s%s;\ncontinue;\n "
4134 ,(yyvsp[(3) - (5)].
name),(yyvsp[(5) - (5)].
name),(yyvsp[(4) - (5)].
name));
4139 s = (
char *)
omAlloc( strlen((yyvsp[(2) - (5)].
name)) + 3);
4140 sprintf(
s,
"%s;\n",(yyvsp[(2) - (5)].
name));
4149 #line 1537 "grammar.y"
4155 sprintf(
IDPROC(
h)->data.s.body,
"parameter list #;\n%s;return();\n\n",(yyvsp[(3) - (3)].name));
4164 #line 1547 "grammar.y"
4177 IDPROC(
h)->data.s.body = (
char *)
omAlloc(strlen((yyvsp[(3) - (3)].
name))+strlen(args)+14);;
4178 sprintf(
IDPROC(
h)->data.s.body,
"%s\n%s;return();\n\n",args,(yyvsp[(3) - (3)].name));
4188 #line 1566 "grammar.y"
4203 IDPROC(
h)->data.s.body = (
char *)
omAlloc(strlen((yyvsp[(4) - (4)].
name))+strlen(args)+14);;
4204 sprintf(
IDPROC(
h)->data.s.body,
"%s\n%s;return();\n\n",args,(yyvsp[(4) - (4)].name));
4213 #line 1589 "grammar.y"
4224 #line 1595 "grammar.y"
4238 #line 1607 "grammar.y"
4241 (yyvsp[(3) - (4)].lv).CleanUp();
4249 #line 1613 "grammar.y"
4251 if ((yyvsp[(1) - (3)].
i)==
RETURN)
4263 #line 4264 "grammar.cc"
4281 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
4297 #if ! YYERROR_VERBOSE
4301 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4307 if (yymsg != yymsgbuf)
4311 yymsg_alloc = yyalloc;
4315 yymsg_alloc =
sizeof yymsgbuf;
4319 if (0 < yysize && yysize <= yymsg_alloc)
4321 (void) yysyntax_error (yymsg, yystate, yychar);
4328 goto yyexhaustedlab;
4336 if (yyerrstatus == 3)
4341 if (yychar <=
YYEOF)
4344 if (yychar ==
YYEOF)
4436 #if !defined(yyoverflow) || YYERROR_VERBOSE
4454 while (yyssp != yyss)
4465 if (yymsg != yymsgbuf)
4469 return YYID (yyresult);