2162 char *yymsg = yymsgbuf;
2163 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2166 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2177 YYDPRINTF ((stderr,
"Starting parse\n"));
2204 if (yyss + yystacksize - 1 <= yyssp)
2207 YYSIZE_T yysize = yyssp - yyss + 1;
2221 yyoverflow (
YY_(
"memory exhausted"),
2222 &yyss1, yysize *
sizeof (*yyssp),
2223 &yyvs1, yysize *
sizeof (*yyvsp),
2230 # ifndef YYSTACK_RELOCATE
2231 goto yyexhaustedlab;
2235 goto yyexhaustedlab;
2242 union yyalloc *yyptr =
2243 (
union yyalloc *)
YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2245 goto yyexhaustedlab;
2246 YYSTACK_RELOCATE (yyss_alloc, yyss);
2247 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2248 # undef YYSTACK_RELOCATE
2255 yyssp = yyss + yysize - 1;
2256 yyvsp = yyvs + yysize - 1;
2258 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2259 (
unsigned long int) yystacksize));
2261 if (yyss + yystacksize - 1 <= yyssp)
2265 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2290 YYDPRINTF ((stderr,
"Reading a token: "));
2294 if (yychar <=
YYEOF)
2296 yychar = yytoken =
YYEOF;
2297 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2361 yyval = yyvsp[1-yylen];
2370 #line 321 "grammar.y"
2406 #line 356 "grammar.y"
2413 #line 358 "grammar.y"
2420 #line 360 "grammar.y"
2429 #line 364 "grammar.y"
2439 #line 369 "grammar.y"
2446 #line 371 "grammar.y"
2456 if ((
inerror!=3) && ((yyvsp[(1) - (2)].
i)<
UMINUS) && ((yyvsp[(1) - (2)].
i)>
' '))
2500 #line 429 "grammar.y"
2507 #line 432 "grammar.y"
2514 #line 447 "grammar.y"
2523 #line 454 "grammar.y"
2533 #line 459 "grammar.y"
2535 syMake(&(yyval.lv),(yyvsp[(1) - (1)].name));
2542 #line 463 "grammar.y"
2551 #line 467 "grammar.y"
2553 if(
iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv),
'.', &(yyvsp[(3) - (3)].lv)))
YYERROR;
2560 #line 471 "grammar.y"
2569 #line 475 "grammar.y"
2571 if ((yyvsp[(1) - (4)].lv).
next==
NULL)
2574 memcpy((yyvsp[(1) - (4)].lv).
next,&(yyvsp[(3) - (4)].lv),
sizeof(
sleftv));
2577 else if ((yyvsp[(1) - (4)].lv).rtyp==
UNKNOWN)
2588 #line 489 "grammar.y"
2592 memset(&(yyval.lv),0,
sizeof(
sleftv));
2594 leftv v = &(yyvsp[(2) - (3)].lv);
2599 memset(&tmp,0,
sizeof(tmp));
2603 pDelete((poly *)&(yyval.lv).data);
2604 (yyvsp[(2) - (3)].lv).CleanUp();
2609 (yyval.lv).data = (
void *)
pAdd((poly)(yyval.lv).data,
p);
2614 (yyvsp[(2) - (3)].lv).CleanUp();
2621 #line 517 "grammar.y"
2623 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2624 int i = atoi((yyvsp[(1) - (1)].
name));
2628 (yyval.lv).data = (
void *)(long)
i;
2631 int l = strlen((yyvsp[(1) - (1)].
name))+2;
2636 sprintf(tmp,
"%d",
i);
2637 if (strcmp(tmp,(yyvsp[(1) - (1)].
name))!=0)
2641 (yyval.lv).data = n;
2650 #line 541 "grammar.y"
2652 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2653 (yyval.lv).rtyp = (yyvsp[(1) - (1)].
i);
2654 (yyval.lv).data = (yyval.lv).Data();
2661 #line 547 "grammar.y"
2663 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
2665 (yyval.lv).data = (yyvsp[(1) - (1)].
name);
2672 #line 553 "grammar.y"
2681 #line 557 "grammar.y"
2690 #line 561 "grammar.y"
2699 #line 565 "grammar.y"
2708 #line 569 "grammar.y"
2717 #line 573 "grammar.y"
2726 #line 577 "grammar.y"
2735 #line 581 "grammar.y"
2744 #line 585 "grammar.y"
2753 #line 589 "grammar.y"
2762 #line 593 "grammar.y"
2771 #line 597 "grammar.y"
2780 #line 601 "grammar.y"
2789 #line 605 "grammar.y"
2798 #line 609 "grammar.y"
2807 #line 613 "grammar.y"
2809 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2816 #line 617 "grammar.y"
2818 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2825 #line 621 "grammar.y"
2827 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2834 #line 625 "grammar.y"
2836 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2843 #line 629 "grammar.y"
2852 #line 633 "grammar.y"
2854 int b=
iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i));
2863 #line 639 "grammar.y"
2865 if(
iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv)))
YYERROR;
2872 #line 643 "grammar.y"
2881 #line 647 "grammar.y"
2890 #line 651 "grammar.y"
2899 #line 655 "grammar.y"
2901 if (
iiARROW(&(yyval.lv),(yyvsp[(1) - (3)].name),(yyvsp[(3) - (3)].name)))
YYERROR;
2909 #line 659 "grammar.y"
2910 { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
2916 #line 664 "grammar.y"
2918 leftv v = &(yyvsp[(1) - (3)].lv);
2924 memcpy(
v->
next,&((yyvsp[(3) - (3)].lv)),
sizeof(
sleftv));
2925 (yyval.lv) = (yyvsp[(1) - (3)].lv);
2932 #line 680 "grammar.y"
2934 if(
iiExprArith3(&(yyval.lv),
'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv)))
YYERROR;
2941 #line 684 "grammar.y"
2950 #line 688 "grammar.y"
2959 #line 692 "grammar.y"
2968 #line 696 "grammar.y"
2977 #line 700 "grammar.y"
2986 #line 704 "grammar.y"
2995 #line 708 "grammar.y"
2997 if (
iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv)))
YYERROR;
3004 #line 712 "grammar.y"
3006 (yyval.lv)=(yyvsp[(2) - (3)].lv);
3013 #line 716 "grammar.y"
3018 {
if (
iiExprArith2(&(yyval.lv),&(yyvsp[(2) - (5)].lv),
'=',&(yyvsp[(4) - (5)].lv)))
YYERROR; }
3022 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3023 (yyval.lv).rtyp=
NONE;
3035 #line 733 "grammar.y"
3037 iiTestAssume(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv));
3038 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3039 (yyval.lv).rtyp=
NONE;
3046 #line 739 "grammar.y"
3057 #line 745 "grammar.y"
3060 if (
siq<=0) (yyvsp[(4) - (5)].lv).Eval();
3062 (yyval.lv)=(yyvsp[(4) - (5)].lv);
3072 #line 757 "grammar.y"
3083 #line 765 "grammar.y"
3094 #line 773 "grammar.y"
3105 #line 782 "grammar.y"
3114 #line 786 "grammar.y"
3123 #line 790 "grammar.y"
3132 #line 794 "grammar.y"
3141 #line 798 "grammar.y"
3143 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3150 #line 802 "grammar.y"
3159 #line 806 "grammar.y"
3161 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3168 #line 810 "grammar.y"
3170 if(
iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].
i),&(yyvsp[(3) - (3)].lv)))
YYERROR;
3177 #line 814 "grammar.y"
3186 #line 818 "grammar.y"
3195 #line 822 "grammar.y"
3204 #line 826 "grammar.y"
3213 #line 830 "grammar.y"
3219 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3222 (yyval.lv).data = (
void *)(long)(
i == 0 ? 1 : 0);
3230 #line 842 "grammar.y"
3239 #line 850 "grammar.y"
3241 if ((yyvsp[(1) - (2)].lv).rtyp==0)
3243 Werror(
"`%s` is undefined",(yyvsp[(1) - (2)].lv).Fullname());
3246 else if (((yyvsp[(1) - (2)].lv).rtyp==
MODUL_CMD)
3248 && ((yyvsp[(1) - (2)].lv).e!=
NULL) && ((yyvsp[(1) - (2)].lv).e->next==
NULL))
3250 MYYERROR(
"matrix must have 2 indices");
3252 (yyval.lv) = (yyvsp[(1) - (2)].lv);
3259 #line 870 "grammar.y"
3263 MYYERROR(
"string expression expected");
3265 (yyval.name) = (
char *)(yyvsp[(2) - (3)].lv).CopyD(
STRING_CMD);
3266 (yyvsp[(2) - (3)].lv).CleanUp();
3273 #line 882 "grammar.y"
3275 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3283 #line 887 "grammar.y"
3285 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3293 #line 892 "grammar.y"
3302 #line 896 "grammar.y"
3311 #line 900 "grammar.y"
3331 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),
myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
3353 #line 937 "grammar.y"
3361 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3382 #line 961 "grammar.y"
3384 int t=(yyvsp[(1) - (3)].lv).Typ();
3386 memset(&r,0,
sizeof(
sleftv));
3394 if (
iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),
myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))
3397 leftv v=&(yyvsp[(1) - (3)].lv);
3401 (yyval.lv)=(yyvsp[(1) - (3)].lv);
3408 #line 982 "grammar.y"
3410 if (
iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),
myynest,(yyvsp[(1) - (2)].
i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
3418 #line 995 "grammar.y"
3420 leftv v = &(yyvsp[(2) - (5)].lv);
3426 memcpy(
v->
next,&((yyvsp[(4) - (5)].lv)),
sizeof(
sleftv));
3427 (yyval.lv) = (yyvsp[(2) - (5)].lv);
3434 #line 1009 "grammar.y"
3444 #line 1017 "grammar.y"
3446 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3449 (*iv)[1] = (yyvsp[(1) - (1)].i);
3451 (yyval.lv).data = (
void *)iv;
3458 #line 1026 "grammar.y"
3460 memset(&(yyval.lv),0,
sizeof((yyval.lv)));
3461 leftv sl = &(yyvsp[(3) - (4)].lv);
3465 int l = 2 + slLength;
3467 (*iv)[0] = slLength;
3468 (*iv)[1] = (yyvsp[(1) - (4)].i);
3471 while ((
i<
l) && (sl!=
NULL))
3475 (*iv)[
i++] = (int)((
long)(sl->
Data()));
3484 (*iv)[
i++] = (*ivv)[ll++];
3490 (yyvsp[(3) - (4)].lv).CleanUp();
3491 MYYERROR(
"wrong type in ordering");
3496 (yyval.lv).data = (
void *)iv;
3498 (yyvsp[(3) - (4)].lv).CleanUp();
3505 #line 1072 "grammar.y"
3507 (yyval.lv) = (yyvsp[(1) - (3)].lv);
3509 memcpy((yyval.lv).next,&(yyvsp[(3) - (3)].lv),
sizeof(
sleftv));
3516 #line 1082 "grammar.y"
3518 (yyval.lv) = (yyvsp[(2) - (3)].lv);
3525 #line 1088 "grammar.y"
3534 #line 1106 "grammar.y"
3541 #line 1111 "grammar.y"
3551 #line 1116 "grammar.y"
3560 #line 1123 "grammar.y"
3570 #line 1131 "grammar.y"
3572 if (
basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
3584 #line 1143 "grammar.y"
3586 leftv v=&(yyvsp[(2) - (2)].lv);
3606 #line 1160 "grammar.y"
3608 leftv v=&(yyvsp[(3) - (3)].lv);
3628 #line 1180 "grammar.y"
3637 #line 1184 "grammar.y"
3646 #line 1188 "grammar.y"
3656 #line 1193 "grammar.y"
3665 #line 1197 "grammar.y"
3674 #line 1201 "grammar.y"
3683 #line 1205 "grammar.y"
3692 #line 1209 "grammar.y"
3694 list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),
"// ",
TRUE);
3695 (yyvsp[(3) - (4)].lv).CleanUp();
3702 #line 1214 "grammar.y"
3706 (yyvsp[(3) - (6)].lv).CleanUp();
3713 #line 1220 "grammar.y"
3717 (yyvsp[(3) - (6)].lv).CleanUp();
3724 #line 1226 "grammar.y"
3728 (yyvsp[(3) - (6)].lv).CleanUp();
3735 #line 1232 "grammar.y"
3739 (yyvsp[(3) - (6)].lv).CleanUp();
3746 #line 1238 "grammar.y"
3750 (yyvsp[(3) - (6)].lv).CleanUp();
3757 #line 1244 "grammar.y"
3761 (yyvsp[(3) - (6)].lv).CleanUp();
3768 #line 1250 "grammar.y"
3772 (yyvsp[(3) - (6)].lv).CleanUp();
3779 #line 1262 "grammar.y"
3788 #line 1268 "grammar.y"
3795 #line 1277 "grammar.y"
3797 const char *ring_name = (yyvsp[(2) - (8)].lv).
name;
3799 rInit(&(yyvsp[(4) - (8)].lv),
3800 &(yyvsp[(6) - (8)].lv),
3801 &(yyvsp[(8) - (8)].lv));
3807 &((yyvsp[(2) - (8)].lv).req_packhdl->idroot),
FALSE);
3808 (yyvsp[(2) - (8)].lv).CleanUp();
3809 if (newRingHdl!=
NULL)
3819 if (newRingHdl==
NULL)
3833 #line 1310 "grammar.y"
3835 const char *ring_name = (yyvsp[(2) - (2)].lv).
name;
3838 (yyvsp[(2) - (2)].lv).CleanUp();
3845 #line 1317 "grammar.y"
3855 #line 1322 "grammar.y"
3860 memcpy((yyvsp[(4) - (7)].lv).
next,&(yyvsp[(6) - (7)].lv),
sizeof(
sleftv));
3861 memset(&(yyvsp[(6) - (7)].lv),0,
sizeof(
sleftv));
3870 #line 1335 "grammar.y"
3880 #line 1345 "grammar.y"
3883 MYYERROR(
"only inside a proc allowed");
3884 const char * n=(yyvsp[(2) - (2)].lv).Name();
3885 if (((yyvsp[(2) - (2)].lv).Typ()==
RING_CMD)
3886 && ((yyvsp[(2) - (2)].lv).rtyp==
IDHDL))
3889 if ((yyvsp[(2) - (2)].lv).e!=
NULL)
h=
rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),
NULL);
3924 Werror(
"%s is no identifier",n);
3925 (yyvsp[(2) - (2)].lv).CleanUp();
3932 Werror(
"cannot find the name of the basering %s",n);
3933 (yyvsp[(2) - (2)].lv).CleanUp();
3936 (yyvsp[(2) - (2)].lv).CleanUp();
3940 Werror(
"%s is no name of a ring/qring",n);
3941 (yyvsp[(2) - (2)].lv).CleanUp();
3950 #line 1413 "grammar.y"
3952 type_cmd(&((yyvsp[(2) - (2)].lv)));
3959 #line 1417 "grammar.y"
3963 if ((yyvsp[(1) - (1)].lv).rtyp!=
COMMAND)
3966 if ((yyvsp[(1) - (1)].lv).Typ()==
UNKNOWN)
3968 if ((yyvsp[(1) - (1)].lv).
name!=
NULL)
3970 Werror(
"`%s` is undefined",(yyvsp[(1) - (1)].lv).
name);
3979 (yyvsp[(1) - (1)].lv).CleanUp(
currRing);
3987 #line 1446 "grammar.y"
4005 #line 1459 "grammar.y"
4027 #line 1476 "grammar.y"
4041 #line 1485 "grammar.y"
4051 #line 1490 "grammar.y"
4061 #line 1498 "grammar.y"
4064 char *
s = (
char *)
omAlloc( strlen((yyvsp[(2) - (3)].
name)) + strlen((yyvsp[(3) - (3)].
name)) + 36);
4065 sprintf(
s,
"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[(2) - (3)].
name),(yyvsp[(3) - (3)].
name));
4075 #line 1510 "grammar.y"
4079 char *
s = (
char *)
omAlloc( strlen((yyvsp[(3) - (5)].
name))+strlen((yyvsp[(4) - (5)].
name))+strlen((yyvsp[(5) - (5)].
name))+36);
4080 sprintf(
s,
"forif (!(%s)) break;\n%s%s;\ncontinue;\n "
4081 ,(yyvsp[(3) - (5)].
name),(yyvsp[(5) - (5)].
name),(yyvsp[(4) - (5)].
name));
4086 s = (
char *)
omAlloc( strlen((yyvsp[(2) - (5)].
name)) + 3);
4087 sprintf(
s,
"%s;\n",(yyvsp[(2) - (5)].
name));
4096 #line 1529 "grammar.y"
4102 sprintf(
IDPROC(
h)->data.s.body,
"parameter list #;\n%s;return();\n\n",(yyvsp[(3) - (3)].name));
4111 #line 1539 "grammar.y"
4124 IDPROC(
h)->data.s.body = (
char *)
omAlloc(strlen((yyvsp[(3) - (3)].
name))+strlen(args)+14);;
4125 sprintf(
IDPROC(
h)->data.s.body,
"%s\n%s;return();\n\n",args,(yyvsp[(3) - (3)].name));
4135 #line 1558 "grammar.y"
4150 IDPROC(
h)->data.s.body = (
char *)
omAlloc(strlen((yyvsp[(4) - (4)].
name))+strlen(args)+14);;
4151 sprintf(
IDPROC(
h)->data.s.body,
"%s\n%s;return();\n\n",args,(yyvsp[(4) - (4)].name));
4160 #line 1581 "grammar.y"
4171 #line 1587 "grammar.y"
4185 #line 1599 "grammar.y"
4188 (yyvsp[(3) - (4)].lv).CleanUp();
4196 #line 1605 "grammar.y"
4198 if ((yyvsp[(1) - (3)].
i)==
RETURN)
4210 #line 4211 "grammar.cc"
4228 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
4244 #if ! YYERROR_VERBOSE
4248 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4254 if (yymsg != yymsgbuf)
4258 yymsg_alloc = yyalloc;
4262 yymsg_alloc =
sizeof yymsgbuf;
4266 if (0 < yysize && yysize <= yymsg_alloc)
4268 (void) yysyntax_error (yymsg, yystate, yychar);
4275 goto yyexhaustedlab;
4283 if (yyerrstatus == 3)
4288 if (yychar <=
YYEOF)
4291 if (yychar ==
YYEOF)
4383 #if !defined(yyoverflow) || YYERROR_VERBOSE
4401 while (yyssp != yyss)
4412 if (yymsg != yymsgbuf)
4416 return YYID (yyresult);