Changeset e4292e in git for Singular


Ignore:
Timestamp:
Nov 11, 2016, 10:27:05 AM (7 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
efa10ebfde9d0d8b803d967717c55c8e53d04eed
Parents:
f263b50b6da7890379e3cf2bc8468359e3e7334c
Message:
add: multi-indices p(1,1,2,3,4) (p2)
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/grammar.cc

    rf263b5 re4292e  
    744744     368,   419,   420,   421,   422,   423,   424,   425,   426,   430,
    745745     433,   434,   435,   436,   437,   438,   439,   440,   441,   444,
    746      451,   456,   460,   464,   468,   472,   478,   506,   530,   536,
    747      542,   546,   550,   554,   558,   562,   566,   570,   574,   578,
    748      582,   586,   590,   594,   598,   602,   606,   610,   614,   618,
    749      622,   628,   632,   636,   640,   644,   648,   652,   663,   669,
    750      674,   675,   679,   683,   687,   691,   695,   699,   703,   707,
    751      711,   728,   735,   734,   752,   760,   768,   777,   781,   785,
    752      789,   793,   797,   801,   805,   809,   813,   817,   821,   825,
    753      837,   844,   845,   864,   865,   877,   882,   887,   891,   895,
    754      931,   957,   978,   986,   990,   991,  1005,  1013,  1022,  1067,
    755     1068,  1077,  1078,  1084,  1091,  1093,  1095,  1105,  1104,  1112,
    756     1117,  1124,  1132,  1144,  1160,  1179,  1183,  1187,  1192,  1196,
    757     1200,  1204,  1208,  1213,  1219,  1225,  1231,  1237,  1243,  1249,
    758     1261,  1268,  1272,  1309,  1316,  1321,  1338,  1344,  1344,  1347,
    759     1415,  1419,  1448,  1461,  1478,  1487,  1492,  1500,  1512,  1531,
    760     1541,  1560,  1583,  1589,  1601,  1607
     746     451,   456,   460,   464,   468,   472,   486,   514,   538,   544,
     747     550,   554,   558,   562,   566,   570,   574,   578,   582,   586,
     748     590,   594,   598,   602,   606,   610,   614,   618,   622,   626,
     749     630,   636,   640,   644,   648,   652,   656,   660,   671,   677,
     750     682,   683,   687,   691,   695,   699,   703,   707,   711,   715,
     751     719,   736,   743,   742,   760,   768,   776,   785,   789,   793,
     752     797,   801,   805,   809,   813,   817,   821,   825,   829,   833,
     753     845,   852,   853,   872,   873,   885,   890,   895,   899,   903,
     754     939,   965,   986,   994,   998,   999,  1013,  1021,  1030,  1075,
     755    1076,  1085,  1086,  1092,  1099,  1101,  1103,  1113,  1112,  1120,
     756    1125,  1132,  1140,  1152,  1168,  1187,  1191,  1195,  1200,  1204,
     757    1208,  1212,  1216,  1221,  1227,  1233,  1239,  1245,  1251,  1257,
     758    1269,  1276,  1280,  1317,  1324,  1329,  1346,  1352,  1352,  1355,
     759    1423,  1427,  1456,  1469,  1486,  1495,  1500,  1508,  1520,  1539,
     760    1549,  1568,  1591,  1597,  1609,  1615
    761761};
    762762#endif
     
    25612561#line 473 "grammar.y"
    25622562    {
    2563             (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
    2564             memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
    2565             if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
     2563            if ((yyvsp[(1) - (4)].lv).next==NULL)
     2564            {
     2565              (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
     2566              memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
     2567              if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
     2568            }
     2569            else if ((yyvsp[(1) - (4)].lv).rtyp==UNKNOWN)
     2570            { // for x(i)(j)
     2571              if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;
     2572            }
     2573            else YYERROR;
    25662574          ;}
    25672575    break;
     
    25702578
    25712579/* Line 1464 of yacc.c  */
    2572 #line 479 "grammar.y"
     2580#line 487 "grammar.y"
    25732581    {
    25742582            if (currRingHdl==NULL) MYYERROR("no ring active");
     
    26032611
    26042612/* Line 1464 of yacc.c  */
    2605 #line 507 "grammar.y"
     2613#line 515 "grammar.y"
    26062614    {
    26072615            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26322640
    26332641/* Line 1464 of yacc.c  */
    2634 #line 531 "grammar.y"
     2642#line 539 "grammar.y"
    26352643    {
    26362644            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26432651
    26442652/* Line 1464 of yacc.c  */
    2645 #line 537 "grammar.y"
     2653#line 545 "grammar.y"
    26462654    {
    26472655            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26542662
    26552663/* Line 1464 of yacc.c  */
    2656 #line 543 "grammar.y"
     2664#line 551 "grammar.y"
    26572665    {
    26582666            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26632671
    26642672/* Line 1464 of yacc.c  */
    2665 #line 547 "grammar.y"
     2673#line 555 "grammar.y"
    26662674    {
    26672675            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26722680
    26732681/* Line 1464 of yacc.c  */
    2674 #line 551 "grammar.y"
     2682#line 559 "grammar.y"
    26752683    {
    26762684            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26812689
    26822690/* Line 1464 of yacc.c  */
    2683 #line 555 "grammar.y"
     2691#line 563 "grammar.y"
    26842692    {
    26852693            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    26902698
    26912699/* Line 1464 of yacc.c  */
    2692 #line 559 "grammar.y"
     2700#line 567 "grammar.y"
    26932701    {
    26942702            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26992707
    27002708/* Line 1464 of yacc.c  */
    2701 #line 563 "grammar.y"
     2709#line 571 "grammar.y"
    27022710    {
    27032711            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27082716
    27092717/* Line 1464 of yacc.c  */
    2710 #line 567 "grammar.y"
     2718#line 575 "grammar.y"
    27112719    {
    27122720            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    27172725
    27182726/* Line 1464 of yacc.c  */
    2719 #line 571 "grammar.y"
     2727#line 579 "grammar.y"
    27202728    {
    27212729            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27262734
    27272735/* Line 1464 of yacc.c  */
    2728 #line 575 "grammar.y"
     2736#line 583 "grammar.y"
    27292737    {
    27302738            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27352743
    27362744/* Line 1464 of yacc.c  */
    2737 #line 579 "grammar.y"
     2745#line 587 "grammar.y"
    27382746    {
    27392747            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27442752
    27452753/* Line 1464 of yacc.c  */
    2746 #line 583 "grammar.y"
     2754#line 591 "grammar.y"
    27472755    {
    27482756            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27532761
    27542762/* Line 1464 of yacc.c  */
    2755 #line 587 "grammar.y"
     2763#line 595 "grammar.y"
    27562764    {
    27572765            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27622770
    27632771/* Line 1464 of yacc.c  */
    2764 #line 591 "grammar.y"
     2772#line 599 "grammar.y"
    27652773    {
    27662774            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27712779
    27722780/* Line 1464 of yacc.c  */
    2773 #line 595 "grammar.y"
     2781#line 603 "grammar.y"
    27742782    {
    27752783            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27802788
    27812789/* Line 1464 of yacc.c  */
    2782 #line 599 "grammar.y"
     2790#line 607 "grammar.y"
    27832791    {
    27842792            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27892797
    27902798/* Line 1464 of yacc.c  */
    2791 #line 603 "grammar.y"
     2799#line 611 "grammar.y"
    27922800    {
    27932801            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    27982806
    27992807/* Line 1464 of yacc.c  */
    2800 #line 607 "grammar.y"
     2808#line 615 "grammar.y"
    28012809    {
    28022810            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28072815
    28082816/* Line 1464 of yacc.c  */
    2809 #line 611 "grammar.y"
     2817#line 619 "grammar.y"
    28102818    {
    28112819            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28162824
    28172825/* Line 1464 of yacc.c  */
    2818 #line 615 "grammar.y"
     2826#line 623 "grammar.y"
    28192827    {
    28202828            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28252833
    28262834/* Line 1464 of yacc.c  */
    2827 #line 619 "grammar.y"
     2835#line 627 "grammar.y"
    28282836    {
    28292837            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    28342842
    28352843/* Line 1464 of yacc.c  */
    2836 #line 623 "grammar.y"
     2844#line 631 "grammar.y"
    28372845    {
    28382846            int b=iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i)); // handle branchTo
     
    28452853
    28462854/* Line 1464 of yacc.c  */
    2847 #line 629 "grammar.y"
     2855#line 637 "grammar.y"
    28482856    {
    28492857            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28542862
    28552863/* Line 1464 of yacc.c  */
    2856 #line 633 "grammar.y"
     2864#line 641 "grammar.y"
    28572865    {
    28582866            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    28632871
    28642872/* Line 1464 of yacc.c  */
    2865 #line 637 "grammar.y"
     2873#line 645 "grammar.y"
    28662874    {
    28672875            if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28722880
    28732881/* Line 1464 of yacc.c  */
    2874 #line 641 "grammar.y"
     2882#line 649 "grammar.y"
    28752883    {
    28762884            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;
     
    28812889
    28822890/* Line 1464 of yacc.c  */
    2883 #line 645 "grammar.y"
     2891#line 653 "grammar.y"
    28842892    {
    28852893            if (iiARROW(&(yyval.lv),(yyvsp[(1) - (3)].name),(yyvsp[(3) - (3)].name))) YYERROR;
     
    28902898
    28912899/* Line 1464 of yacc.c  */
    2892 #line 648 "grammar.y"
     2900#line 656 "grammar.y"
    28932901    { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
    28942902    break;
     
    28972905
    28982906/* Line 1464 of yacc.c  */
    2899 #line 653 "grammar.y"
     2907#line 661 "grammar.y"
    29002908    {
    29012909            leftv v = &(yyvsp[(1) - (3)].lv);
     
    29132921
    29142922/* Line 1464 of yacc.c  */
    2915 #line 664 "grammar.y"
     2923#line 672 "grammar.y"
    29162924    {
    29172925            (yyval.lv) = (yyvsp[(1) - (1)].lv);
     
    29222930
    29232931/* Line 1464 of yacc.c  */
    2924 #line 670 "grammar.y"
     2932#line 678 "grammar.y"
    29252933    {
    29262934            /*if ($1.typ == eunknown) YYERROR;*/
     
    29322940
    29332941/* Line 1464 of yacc.c  */
    2934 #line 674 "grammar.y"
     2942#line 682 "grammar.y"
    29352943    { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
    29362944    break;
     
    29392947
    29402948/* Line 1464 of yacc.c  */
    2941 #line 676 "grammar.y"
     2949#line 684 "grammar.y"
    29422950    {
    29432951            if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;
     
    29482956
    29492957/* Line 1464 of yacc.c  */
    2950 #line 680 "grammar.y"
     2958#line 688 "grammar.y"
    29512959    {
    29522960            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;
     
    29572965
    29582966/* Line 1464 of yacc.c  */
    2959 #line 684 "grammar.y"
     2967#line 692 "grammar.y"
    29602968    {
    29612969            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     
    29662974
    29672975/* Line 1464 of yacc.c  */
    2968 #line 688 "grammar.y"
     2976#line 696 "grammar.y"
    29692977    {
    29702978            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     
    29752983
    29762984/* Line 1464 of yacc.c  */
    2977 #line 692 "grammar.y"
     2985#line 700 "grammar.y"
    29782986    {
    29792987            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     
    29842992
    29852993/* Line 1464 of yacc.c  */
    2986 #line 696 "grammar.y"
     2994#line 704 "grammar.y"
    29872995    {
    29882996            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     
    29933001
    29943002/* Line 1464 of yacc.c  */
    2995 #line 700 "grammar.y"
     3003#line 708 "grammar.y"
    29963004    {
    29973005            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     
    30023010
    30033011/* Line 1464 of yacc.c  */
    3004 #line 704 "grammar.y"
     3012#line 712 "grammar.y"
    30053013    {
    30063014            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv))) YYERROR;
     
    30113019
    30123020/* Line 1464 of yacc.c  */
    3013 #line 708 "grammar.y"
     3021#line 716 "grammar.y"
    30143022    {
    30153023            (yyval.lv)=(yyvsp[(2) - (3)].lv);
     
    30203028
    30213029/* Line 1464 of yacc.c  */
    3022 #line 712 "grammar.y"
     3030#line 720 "grammar.y"
    30233031    {
    30243032            #ifdef SIQ
     
    30423050
    30433051/* Line 1464 of yacc.c  */
    3044 #line 729 "grammar.y"
     3052#line 737 "grammar.y"
    30453053    {
    30463054            iiTestAssume(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv));
     
    30533061
    30543062/* Line 1464 of yacc.c  */
    3055 #line 735 "grammar.y"
     3063#line 743 "grammar.y"
    30563064    {
    30573065            #ifdef SIQ
     
    30643072
    30653073/* Line 1464 of yacc.c  */
    3066 #line 741 "grammar.y"
     3074#line 749 "grammar.y"
    30673075    {
    30683076            #ifdef SIQ
     
    30793087
    30803088/* Line 1464 of yacc.c  */
    3081 #line 753 "grammar.y"
     3089#line 761 "grammar.y"
    30823090    {
    30833091            #ifdef SIQ
     
    30903098
    30913099/* Line 1464 of yacc.c  */
    3092 #line 761 "grammar.y"
     3100#line 769 "grammar.y"
    30933101    {
    30943102            #ifdef SIQ
     
    31013109
    31023110/* Line 1464 of yacc.c  */
    3103 #line 769 "grammar.y"
     3111#line 777 "grammar.y"
    31043112    {
    31053113            #ifdef SIQ
     
    31123120
    31133121/* Line 1464 of yacc.c  */
    3114 #line 778 "grammar.y"
     3122#line 786 "grammar.y"
    31153123    {
    31163124            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;
     
    31213129
    31223130/* Line 1464 of yacc.c  */
    3123 #line 782 "grammar.y"
     3131#line 790 "grammar.y"
    31243132    {
    31253133            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;
     
    31303138
    31313139/* Line 1464 of yacc.c  */
    3132 #line 786 "grammar.y"
     3140#line 794 "grammar.y"
    31333141    {
    31343142            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31393147
    31403148/* Line 1464 of yacc.c  */
    3141 #line 790 "grammar.y"
     3149#line 798 "grammar.y"
    31423150    {
    31433151            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31483156
    31493157/* Line 1464 of yacc.c  */
    3150 #line 794 "grammar.y"
     3158#line 802 "grammar.y"
    31513159    {
    31523160            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31573165
    31583166/* Line 1464 of yacc.c  */
    3159 #line 798 "grammar.y"
     3167#line 806 "grammar.y"
    31603168    {
    31613169            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31663174
    31673175/* Line 1464 of yacc.c  */
    3168 #line 802 "grammar.y"
     3176#line 810 "grammar.y"
    31693177    {
    31703178            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31753183
    31763184/* Line 1464 of yacc.c  */
    3177 #line 806 "grammar.y"
     3185#line 814 "grammar.y"
    31783186    {
    31793187            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31843192
    31853193/* Line 1464 of yacc.c  */
    3186 #line 810 "grammar.y"
     3194#line 818 "grammar.y"
    31873195    {
    31883196            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    31933201
    31943202/* Line 1464 of yacc.c  */
    3195 #line 814 "grammar.y"
     3203#line 822 "grammar.y"
    31963204    {
    31973205            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    32023210
    32033211/* Line 1464 of yacc.c  */
    3204 #line 818 "grammar.y"
     3212#line 826 "grammar.y"
    32053213    {
    32063214            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    32113219
    32123220/* Line 1464 of yacc.c  */
    3213 #line 822 "grammar.y"
     3221#line 830 "grammar.y"
    32143222    {
    32153223            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    32203228
    32213229/* Line 1464 of yacc.c  */
    3222 #line 826 "grammar.y"
     3230#line 834 "grammar.y"
    32233231    {
    32243232            if (siq>0)
     
    32373245
    32383246/* Line 1464 of yacc.c  */
    3239 #line 838 "grammar.y"
     3247#line 846 "grammar.y"
    32403248    {
    32413249            if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;
     
    32463254
    32473255/* Line 1464 of yacc.c  */
    3248 #line 844 "grammar.y"
     3256#line 852 "grammar.y"
    32493257    { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
    32503258    break;
     
    32533261
    32543262/* Line 1464 of yacc.c  */
    3255 #line 846 "grammar.y"
     3263#line 854 "grammar.y"
    32563264    {
    32573265            if ((yyvsp[(1) - (2)].lv).rtyp==0)
     
    32733281
    32743282/* Line 1464 of yacc.c  */
    3275 #line 866 "grammar.y"
     3283#line 874 "grammar.y"
    32763284    {
    32773285            if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)
     
    32873295
    32883296/* Line 1464 of yacc.c  */
    3289 #line 878 "grammar.y"
     3297#line 886 "grammar.y"
    32903298    {
    32913299            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    32973305
    32983306/* Line 1464 of yacc.c  */
    3299 #line 883 "grammar.y"
     3307#line 891 "grammar.y"
    33003308    {
    33013309            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    33073315
    33083316/* Line 1464 of yacc.c  */
    3309 #line 888 "grammar.y"
     3317#line 896 "grammar.y"
    33103318    {
    33113319            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    33163324
    33173325/* Line 1464 of yacc.c  */
    3318 #line 892 "grammar.y"
     3326#line 900 "grammar.y"
    33193327    {
    33203328            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    33253333
    33263334/* Line 1464 of yacc.c  */
    3327 #line 896 "grammar.y"
     3335#line 904 "grammar.y"
    33283336    {
    33293337            int r; TESTSETINT((yyvsp[(4) - (8)].lv),r);
     
    33663374
    33673375/* Line 1464 of yacc.c  */
    3368 #line 932 "grammar.y"
     3376#line 940 "grammar.y"
    33693377    {
    33703378            if ((yyvsp[(1) - (2)].i) == MATRIX_CMD)
     
    33973405
    33983406/* Line 1464 of yacc.c  */
    3399 #line 958 "grammar.y"
     3407#line 966 "grammar.y"
    34003408    {
    34013409            int t=(yyvsp[(1) - (3)].lv).Typ();
     
    34233431
    34243432/* Line 1464 of yacc.c  */
    3425 #line 979 "grammar.y"
     3433#line 987 "grammar.y"
    34263434    {
    34273435            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    34333441
    34343442/* Line 1464 of yacc.c  */
    3435 #line 992 "grammar.y"
     3443#line 1000 "grammar.y"
    34363444    {
    34373445            leftv v = &(yyvsp[(2) - (5)].lv);
     
    34493457
    34503458/* Line 1464 of yacc.c  */
    3451 #line 1006 "grammar.y"
     3459#line 1014 "grammar.y"
    34523460    {
    34533461          // let rInit take care of any errors
     
    34593467
    34603468/* Line 1464 of yacc.c  */
    3461 #line 1014 "grammar.y"
     3469#line 1022 "grammar.y"
    34623470    {
    34633471            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    34733481
    34743482/* Line 1464 of yacc.c  */
    3475 #line 1023 "grammar.y"
     3483#line 1031 "grammar.y"
    34763484    {
    34773485            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    35203528
    35213529/* Line 1464 of yacc.c  */
    3522 #line 1069 "grammar.y"
     3530#line 1077 "grammar.y"
    35233531    {
    35243532            (yyval.lv) = (yyvsp[(1) - (3)].lv);
     
    35313539
    35323540/* Line 1464 of yacc.c  */
    3533 #line 1079 "grammar.y"
     3541#line 1087 "grammar.y"
    35343542    {
    35353543            (yyval.lv) = (yyvsp[(2) - (3)].lv);
     
    35403548
    35413549/* Line 1464 of yacc.c  */
    3542 #line 1085 "grammar.y"
     3550#line 1093 "grammar.y"
    35433551    {
    35443552            expected_parms = TRUE;
     
    35493557
    35503558/* Line 1464 of yacc.c  */
    3551 #line 1092 "grammar.y"
     3559#line 1100 "grammar.y"
    35523560    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
    35533561    break;
     
    35563564
    35573565/* Line 1464 of yacc.c  */
    3558 #line 1094 "grammar.y"
     3566#line 1102 "grammar.y"
    35593567    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
    35603568    break;
     
    35633571
    35643572/* Line 1464 of yacc.c  */
    3565 #line 1096 "grammar.y"
     3573#line 1104 "grammar.y"
    35663574    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
    35673575    break;
     
    35703578
    35713579/* Line 1464 of yacc.c  */
    3572 #line 1105 "grammar.y"
     3580#line 1113 "grammar.y"
    35733581    { if ((yyvsp[(1) - (2)].i) != '<') YYERROR;
    35743582            if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}
     
    35783586
    35793587/* Line 1464 of yacc.c  */
    3580 #line 1108 "grammar.y"
     3588#line 1116 "grammar.y"
    35813589    { newFile((yyvsp[(2) - (4)].name),feFilePending); ;}
    35823590    break;
     
    35853593
    35863594/* Line 1464 of yacc.c  */
    3587 #line 1113 "grammar.y"
     3595#line 1121 "grammar.y"
    35883596    {
    35893597            feHelp((yyvsp[(2) - (3)].name));
     
    35953603
    35963604/* Line 1464 of yacc.c  */
    3597 #line 1118 "grammar.y"
     3605#line 1126 "grammar.y"
    35983606    {
    35993607            feHelp(NULL);
     
    36043612
    36053613/* Line 1464 of yacc.c  */
    3606 #line 1125 "grammar.y"
     3614#line 1133 "grammar.y"
    36073615    {
    36083616            singular_example((yyvsp[(2) - (3)].name));
     
    36143622
    36153623/* Line 1464 of yacc.c  */
    3616 #line 1133 "grammar.y"
     3624#line 1141 "grammar.y"
    36173625    {
    36183626          if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
     
    36283636
    36293637/* Line 1464 of yacc.c  */
    3630 #line 1145 "grammar.y"
     3638#line 1153 "grammar.y"
    36313639    {
    36323640          leftv v=&(yyvsp[(2) - (2)].lv);
     
    36493657
    36503658/* Line 1464 of yacc.c  */
    3651 #line 1161 "grammar.y"
     3659#line 1169 "grammar.y"
    36523660    {
    36533661          leftv v=&(yyvsp[(3) - (3)].lv);
     
    36703678
    36713679/* Line 1464 of yacc.c  */
    3672 #line 1180 "grammar.y"
     3680#line 1188 "grammar.y"
    36733681    {
    36743682            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    36793687
    36803688/* Line 1464 of yacc.c  */
    3681 #line 1184 "grammar.y"
     3689#line 1192 "grammar.y"
    36823690    {
    36833691            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    36883696
    36893697/* Line 1464 of yacc.c  */
    3690 #line 1188 "grammar.y"
     3698#line 1196 "grammar.y"
    36913699    {
    36923700            if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;
     
    36983706
    36993707/* Line 1464 of yacc.c  */
    3700 #line 1193 "grammar.y"
     3708#line 1201 "grammar.y"
    37013709    {
    37023710            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    37073715
    37083716/* Line 1464 of yacc.c  */
    3709 #line 1197 "grammar.y"
     3717#line 1205 "grammar.y"
    37103718    {
    37113719            list_cmd(RING_CMD,NULL,"// ",TRUE);
     
    37163724
    37173725/* Line 1464 of yacc.c  */
    3718 #line 1201 "grammar.y"
     3726#line 1209 "grammar.y"
    37193727    {
    37203728            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    37253733
    37263734/* Line 1464 of yacc.c  */
    3727 #line 1205 "grammar.y"
     3735#line 1213 "grammar.y"
    37283736    {
    37293737            list_cmd(PROC_CMD,NULL,"// ",TRUE);
     
    37343742
    37353743/* Line 1464 of yacc.c  */
    3736 #line 1209 "grammar.y"
     3744#line 1217 "grammar.y"
    37373745    {
    37383746            list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);
     
    37443752
    37453753/* Line 1464 of yacc.c  */
    3746 #line 1214 "grammar.y"
     3754#line 1222 "grammar.y"
    37473755    {
    37483756            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    37553763
    37563764/* Line 1464 of yacc.c  */
    3757 #line 1220 "grammar.y"
     3765#line 1228 "grammar.y"
    37583766    {
    37593767            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    37663774
    37673775/* Line 1464 of yacc.c  */
    3768 #line 1226 "grammar.y"
     3776#line 1234 "grammar.y"
    37693777    {
    37703778            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    37773785
    37783786/* Line 1464 of yacc.c  */
    3779 #line 1232 "grammar.y"
     3787#line 1240 "grammar.y"
    37803788    {
    37813789            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    37883796
    37893797/* Line 1464 of yacc.c  */
    3790 #line 1238 "grammar.y"
     3798#line 1246 "grammar.y"
    37913799    {
    37923800            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    37993807
    38003808/* Line 1464 of yacc.c  */
    3801 #line 1244 "grammar.y"
     3809#line 1252 "grammar.y"
    38023810    {
    38033811            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    38103818
    38113819/* Line 1464 of yacc.c  */
    3812 #line 1250 "grammar.y"
     3820#line 1258 "grammar.y"
    38133821    {
    38143822            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    38213829
    38223830/* Line 1464 of yacc.c  */
    3823 #line 1262 "grammar.y"
     3831#line 1270 "grammar.y"
    38243832    {
    38253833            list_cmd(-1,NULL,"// ",TRUE);
     
    38303838
    38313839/* Line 1464 of yacc.c  */
    3832 #line 1268 "grammar.y"
     3840#line 1276 "grammar.y"
    38333841    { yyInRingConstruction = TRUE; ;}
    38343842    break;
     
    38373845
    38383846/* Line 1464 of yacc.c  */
    3839 #line 1277 "grammar.y"
     3847#line 1285 "grammar.y"
    38403848    {
    38413849            const char *ring_name = (yyvsp[(2) - (8)].lv).name;
     
    38753883
    38763884/* Line 1464 of yacc.c  */
    3877 #line 1310 "grammar.y"
     3885#line 1318 "grammar.y"
    38783886    {
    38793887            const char *ring_name = (yyvsp[(2) - (2)].lv).name;
     
    38873895
    38883896/* Line 1464 of yacc.c  */
    3889 #line 1317 "grammar.y"
     3897#line 1325 "grammar.y"
    38903898    {
    38913899            yyInRingConstruction = FALSE;
     
    38973905
    38983906/* Line 1464 of yacc.c  */
    3899 #line 1322 "grammar.y"
     3907#line 1330 "grammar.y"
    39003908    {
    39013909          #ifdef SINGULAR_4_1
     
    39163924
    39173925/* Line 1464 of yacc.c  */
    3918 #line 1339 "grammar.y"
     3926#line 1347 "grammar.y"
    39193927    {
    39203928            if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(jjLOAD((yyvsp[(2) - (2)].name),TRUE))) YYERROR;
     
    39253933
    39263934/* Line 1464 of yacc.c  */
    3927 #line 1348 "grammar.y"
     3935#line 1356 "grammar.y"
    39283936    {
    39293937            if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))
     
    39954003
    39964004/* Line 1464 of yacc.c  */
    3997 #line 1416 "grammar.y"
     4005#line 1424 "grammar.y"
    39984006    {
    39994007            type_cmd(&((yyvsp[(2) - (2)].lv)));
     
    40044012
    40054013/* Line 1464 of yacc.c  */
    4006 #line 1420 "grammar.y"
     4014#line 1428 "grammar.y"
    40074015    {
    40084016            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
     
    40324040
    40334041/* Line 1464 of yacc.c  */
    4034 #line 1449 "grammar.y"
     4042#line 1457 "grammar.y"
    40354043    {
    40364044            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     
    40504058
    40514059/* Line 1464 of yacc.c  */
    4052 #line 1462 "grammar.y"
     4060#line 1470 "grammar.y"
    40534061    {
    40544062            if (currentVoice->ifsw==1)
     
    40724080
    40734081/* Line 1464 of yacc.c  */
    4074 #line 1479 "grammar.y"
     4082#line 1487 "grammar.y"
    40754083    {
    40764084            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     
    40864094
    40874095/* Line 1464 of yacc.c  */
    4088 #line 1488 "grammar.y"
     4096#line 1496 "grammar.y"
    40894097    {
    40904098            if (exitBuffer(BT_break)) YYERROR;
     
    40964104
    40974105/* Line 1464 of yacc.c  */
    4098 #line 1493 "grammar.y"
     4106#line 1501 "grammar.y"
    40994107    {
    41004108            if (contBuffer(BT_break)) YYERROR;
     
    41064114
    41074115/* Line 1464 of yacc.c  */
    4108 #line 1501 "grammar.y"
     4116#line 1509 "grammar.y"
    41094117    {
    41104118            /* -> if(!$2) break; $3; continue;*/
     
    41204128
    41214129/* Line 1464 of yacc.c  */
    4122 #line 1513 "grammar.y"
     4130#line 1521 "grammar.y"
    41234131    {
    41244132            /* $2 */
     
    41414149
    41424150/* Line 1464 of yacc.c  */
    4143 #line 1532 "grammar.y"
     4151#line 1540 "grammar.y"
    41444152    {
    41454153            idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     
    41564164
    41574165/* Line 1464 of yacc.c  */
    4158 #line 1542 "grammar.y"
     4166#line 1550 "grammar.y"
    41594167    {
    41604168            idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     
    41804188
    41814189/* Line 1464 of yacc.c  */
    4182 #line 1561 "grammar.y"
     4190#line 1569 "grammar.y"
    41834191    {
    41844192            omFree((ADDRESS)(yyvsp[(3) - (4)].name));
     
    42054213
    42064214/* Line 1464 of yacc.c  */
    4207 #line 1584 "grammar.y"
     4215#line 1592 "grammar.y"
    42084216    {
    42094217            // decl. of type proc p(int i)
     
    42164224
    42174225/* Line 1464 of yacc.c  */
    4218 #line 1590 "grammar.y"
     4226#line 1598 "grammar.y"
    42194227    {
    42204228            // decl. of type proc p(i)
     
    42304238
    42314239/* Line 1464 of yacc.c  */
    4232 #line 1602 "grammar.y"
     4240#line 1610 "grammar.y"
    42334241    {
    42344242            iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv));
     
    42414249
    42424250/* Line 1464 of yacc.c  */
    4243 #line 1608 "grammar.y"
     4251#line 1616 "grammar.y"
    42444252    {
    42454253            if ((yyvsp[(1) - (3)].i)==RETURN)
     
    42554263
    42564264/* Line 1464 of yacc.c  */
    4257 #line 4256 "grammar.cc"
     4265#line 4264 "grammar.cc"
    42584266      default: break;
    42594267    }
  • Singular/grammar.y

    rf263b5 re4292e  
    472472        | elemexpr '(' exprlist ')'
    473473          {
    474             $1.next=(leftv)omAllocBin(sleftv_bin);
    475             memcpy($1.next,&$3,sizeof(sleftv));
    476             if(iiExprArithM(&$$,&$1,'(')) YYERROR;
     474            if ($1.next==NULL)
     475            {
     476              $1.next=(leftv)omAllocBin(sleftv_bin);
     477              memcpy($1.next,&$3,sizeof(sleftv));
     478              if(iiExprArithM(&$$,&$1,'(')) YYERROR;
     479            }
     480            else if ($1.rtyp==UNKNOWN)
     481            { // for x(i)(j)
     482              if(iiExprArith2(&$$,&$1,'(',&$3)) YYERROR;
     483            }
     484            else YYERROR;
    477485          }
    478486        | '[' exprlist ']'
Note: See TracChangeset for help on using the changeset viewer.