Changeset 37dc41 in git


Ignore:
Timestamp:
Dec 13, 2010, 12:10:06 PM (14 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '8c6038b526213d378981739e978a9f7b485dab94')
Children:
af8213cb14d06cdaf573ec4f5c60ed3dc2f4dcdb
Parents:
4d1104a6829259bb5e2850963b9408eaffa71c61
Message:
x(i)(j) fixed

git-svn-id: file:///usr/local/Singular/svn/trunk@13757 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/grammar.cc

    r4d1104a r37dc41  
    907907     409,   460,   461,   462,   463,   464,   465,   466,   467,   471,
    908908     474,   475,   476,   477,   478,   479,   480,   481,   482,   485,
    909      492,   497,   501,   505,   509,   515,   543,   567,   573,   582,
    910      593,   599,   604,   605,   606,   610,   614,   618,   622,   626,
    911      630,   634,   638,   642,   646,   650,   654,   658,   662,   666,
    912      670,   674,   678,   682,   686,   690,   694,   698,   702,   706,
    913      710,   714,   718,   722,   740,   739,   757,   765,   774,   778,
    914      782,   786,   790,   794,   798,   802,   806,   810,   814,   818,
    915      822,   829,   836,   837,   856,   857,   869,   869,   874,   879,
    916      884,   888,   892,   908,   912,   928,   942,   963,   971,   975,
    917      976,   990,   998,  1007,  1052,  1053,  1062,  1063,  1069,  1082,
    918     1081,  1089,  1094,  1101,  1109,  1121,  1137,  1156,  1160,  1164,
    919     1169,  1173,  1177,  1181,  1185,  1189,  1194,  1200,  1206,  1212,
    920     1218,  1224,  1230,  1236,  1248,  1255,  1259,  1297,  1307,  1320,
    921     1320,  1323,  1395,  1401,  1430,  1443,  1460,  1469,  1474,  1482,
    922     1494,  1513,  1524,  1544,  1568,  1574,  1586,  1593
     909     492,   497,   501,   505,   509,   522,   550,   574,   580,   589,
     910     600,   606,   611,   612,   613,   617,   621,   625,   629,   633,
     911     637,   641,   645,   649,   653,   657,   661,   665,   669,   673,
     912     677,   681,   685,   689,   693,   697,   701,   705,   709,   713,
     913     717,   721,   725,   729,   747,   746,   764,   772,   781,   785,
     914     789,   793,   797,   801,   805,   809,   813,   817,   821,   825,
     915     829,   836,   843,   844,   863,   864,   876,   876,   881,   886,
     916     891,   895,   899,   915,   919,   935,   949,   970,   978,   982,
     917     983,   997,  1005,  1014,  1059,  1060,  1069,  1070,  1076,  1089,
     918    1088,  1096,  1101,  1108,  1116,  1128,  1144,  1163,  1167,  1171,
     919    1176,  1180,  1184,  1188,  1192,  1196,  1201,  1207,  1213,  1219,
     920    1225,  1231,  1237,  1243,  1255,  1262,  1266,  1304,  1314,  1327,
     921    1327,  1330,  1402,  1408,  1437,  1450,  1467,  1476,  1481,  1489,
     922    1501,  1520,  1531,  1551,  1575,  1581,  1593,  1600
    923923};
    924924#endif
     
    25362536#line 510 "grammar.y"
    25372537    {
    2538             (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
    2539             memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
    2540             if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
     2538            if ((yyvsp[(1) - (4)].lv).Typ()==UNKNOWN)
     2539            { // for x(i)(j)
     2540              if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;
     2541            }
     2542            else
     2543            {
     2544              (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
     2545              memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
     2546              if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
     2547            }
    25412548          ;}
    25422549    break;
    25432550
    25442551  case 35:
    2545 #line 516 "grammar.y"
     2552#line 523 "grammar.y"
    25462553    {
    25472554            if (currRingHdl==NULL) MYYERROR("no ring active");
     
    25742581
    25752582  case 36:
    2576 #line 544 "grammar.y"
     2583#line 551 "grammar.y"
    25772584    {
    25782585            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26012608
    26022609  case 37:
    2603 #line 568 "grammar.y"
     2610#line 575 "grammar.y"
    26042611    {
    26052612            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26102617
    26112618  case 38:
    2612 #line 574 "grammar.y"
     2619#line 581 "grammar.y"
    26132620    {
    26142621            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    26192626
    26202627  case 39:
    2621 #line 583 "grammar.y"
     2628#line 590 "grammar.y"
    26222629    {
    26232630            leftv v = &(yyvsp[(1) - (3)].lv);
     
    26332640
    26342641  case 40:
    2635 #line 594 "grammar.y"
     2642#line 601 "grammar.y"
    26362643    {
    26372644            (yyval.lv) = (yyvsp[(1) - (1)].lv);
     
    26402647
    26412648  case 41:
    2642 #line 600 "grammar.y"
     2649#line 607 "grammar.y"
    26432650    {
    26442651            /*if ($1.typ == eunknown) YYERROR;*/
     
    26482655
    26492656  case 42:
    2650 #line 604 "grammar.y"
     2657#line 611 "grammar.y"
    26512658    { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
    26522659    break;
    26532660
    26542661  case 43:
    2655 #line 605 "grammar.y"
     2662#line 612 "grammar.y"
    26562663    { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
    26572664    break;
    26582665
    26592666  case 44:
    2660 #line 607 "grammar.y"
     2667#line 614 "grammar.y"
    26612668    {
    26622669            if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;
     
    26652672
    26662673  case 45:
    2667 #line 611 "grammar.y"
     2674#line 618 "grammar.y"
    26682675    {
    26692676            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;
     
    26722679
    26732680  case 46:
    2674 #line 615 "grammar.y"
     2681#line 622 "grammar.y"
    26752682    {
    26762683            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26792686
    26802687  case 47:
    2681 #line 619 "grammar.y"
     2688#line 626 "grammar.y"
    26822689    {
    26832690            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    26862693
    26872694  case 48:
    2688 #line 623 "grammar.y"
     2695#line 630 "grammar.y"
    26892696    {
    26902697            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    26932700
    26942701  case 49:
    2695 #line 627 "grammar.y"
     2702#line 634 "grammar.y"
    26962703    {
    26972704            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27002707
    27012708  case 50:
    2702 #line 631 "grammar.y"
     2709#line 638 "grammar.y"
    27032710    {
    27042711            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27072714
    27082715  case 51:
    2709 #line 635 "grammar.y"
     2716#line 642 "grammar.y"
    27102717    {
    27112718            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    27142721
    27152722  case 52:
    2716 #line 639 "grammar.y"
     2723#line 646 "grammar.y"
    27172724    {
    27182725            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27212728
    27222729  case 53:
    2723 #line 643 "grammar.y"
     2730#line 650 "grammar.y"
    27242731    {
    27252732            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27282735
    27292736  case 54:
    2730 #line 647 "grammar.y"
     2737#line 654 "grammar.y"
    27312738    {
    27322739            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    27352742
    27362743  case 55:
    2737 #line 651 "grammar.y"
     2744#line 658 "grammar.y"
    27382745    {
    27392746            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27422749
    27432750  case 56:
    2744 #line 655 "grammar.y"
     2751#line 662 "grammar.y"
    27452752    {
    27462753            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    27492756
    27502757  case 57:
    2751 #line 659 "grammar.y"
     2758#line 666 "grammar.y"
    27522759    {
    27532760            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27562763
    27572764  case 58:
    2758 #line 663 "grammar.y"
     2765#line 670 "grammar.y"
    27592766    {
    27602767            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27632770
    27642771  case 59:
    2765 #line 667 "grammar.y"
     2772#line 674 "grammar.y"
    27662773    {
    27672774            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27702777
    27712778  case 60:
    2772 #line 671 "grammar.y"
     2779#line 678 "grammar.y"
    27732780    {
    27742781            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    27772784
    27782785  case 61:
    2779 #line 675 "grammar.y"
     2786#line 682 "grammar.y"
    27802787    {
    27812788            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
     
    27842791
    27852792  case 62:
    2786 #line 679 "grammar.y"
     2793#line 686 "grammar.y"
    27872794    {
    27882795            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    27912798
    27922799  case 63:
    2793 #line 683 "grammar.y"
     2800#line 690 "grammar.y"
    27942801    {
    27952802            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    27982805
    27992806  case 64:
    2800 #line 687 "grammar.y"
     2807#line 694 "grammar.y"
    28012808    {
    28022809            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
     
    28052812
    28062813  case 65:
    2807 #line 691 "grammar.y"
     2814#line 698 "grammar.y"
    28082815    {
    28092816            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
     
    28122819
    28132820  case 66:
    2814 #line 695 "grammar.y"
     2821#line 702 "grammar.y"
    28152822    {
    28162823            if(iiExprArith3(&(yyval.lv),MATRIX_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28192826
    28202827  case 67:
    2821 #line 699 "grammar.y"
     2828#line 706 "grammar.y"
    28222829    {
    28232830            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),MATRIX_CMD)) YYERROR;
     
    28262833
    28272834  case 68:
    2828 #line 703 "grammar.y"
     2835#line 710 "grammar.y"
    28292836    {
    28302837            if(iiExprArith3(&(yyval.lv),INTMAT_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28332840
    28342841  case 69:
    2835 #line 707 "grammar.y"
     2842#line 714 "grammar.y"
    28362843    {
    28372844            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),INTMAT_CMD)) YYERROR;
     
    28402847
    28412848  case 70:
    2842 #line 711 "grammar.y"
     2849#line 718 "grammar.y"
    28432850    {
    28442851            if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
     
    28472854
    28482855  case 71:
    2849 #line 715 "grammar.y"
     2856#line 722 "grammar.y"
    28502857    {
    28512858            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;
     
    28542861
    28552862  case 72:
    2856 #line 719 "grammar.y"
     2863#line 726 "grammar.y"
    28572864    {
    28582865            (yyval.lv)=(yyvsp[(2) - (3)].lv);
     
    28612868
    28622869  case 73:
    2863 #line 723 "grammar.y"
     2870#line 730 "grammar.y"
    28642871    {
    28652872            #ifdef SIQ
     
    28812888
    28822889  case 74:
    2883 #line 740 "grammar.y"
     2890#line 747 "grammar.y"
    28842891    {
    28852892            #ifdef SIQ
     
    28902897
    28912898  case 75:
    2892 #line 746 "grammar.y"
     2899#line 753 "grammar.y"
    28932900    {
    28942901            #ifdef SIQ
     
    29032910
    29042911  case 76:
    2905 #line 758 "grammar.y"
     2912#line 765 "grammar.y"
    29062913    {
    29072914            #ifdef SIQ
     
    29122919
    29132920  case 77:
    2914 #line 766 "grammar.y"
     2921#line 773 "grammar.y"
    29152922    {
    29162923            #ifdef SIQ
     
    29212928
    29222929  case 78:
    2923 #line 775 "grammar.y"
     2930#line 782 "grammar.y"
    29242931    {
    29252932            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;
     
    29282935
    29292936  case 79:
    2930 #line 779 "grammar.y"
     2937#line 786 "grammar.y"
    29312938    {
    29322939            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;
     
    29352942
    29362943  case 80:
    2937 #line 783 "grammar.y"
     2944#line 790 "grammar.y"
    29382945    {
    29392946            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29422949
    29432950  case 81:
    2944 #line 787 "grammar.y"
     2951#line 794 "grammar.y"
    29452952    {
    29462953            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29492956
    29502957  case 82:
    2951 #line 791 "grammar.y"
     2958#line 798 "grammar.y"
    29522959    {
    29532960            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29562963
    29572964  case 83:
    2958 #line 795 "grammar.y"
     2965#line 802 "grammar.y"
    29592966    {
    29602967            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29632970
    29642971  case 84:
    2965 #line 799 "grammar.y"
     2972#line 806 "grammar.y"
    29662973    {
    29672974            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29702977
    29712978  case 85:
    2972 #line 803 "grammar.y"
     2979#line 810 "grammar.y"
    29732980    {
    29742981            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29772984
    29782985  case 86:
    2979 #line 807 "grammar.y"
     2986#line 814 "grammar.y"
    29802987    {
    29812988            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29842991
    29852992  case 87:
    2986 #line 811 "grammar.y"
     2993#line 818 "grammar.y"
    29872994    {
    29882995            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29912998
    29922999  case 88:
    2993 #line 815 "grammar.y"
     3000#line 822 "grammar.y"
    29943001    {
    29953002            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    29983005
    29993006  case 89:
    3000 #line 819 "grammar.y"
     3007#line 826 "grammar.y"
    30013008    {
    30023009            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;
     
    30053012
    30063013  case 90:
    3007 #line 823 "grammar.y"
     3014#line 830 "grammar.y"
    30083015    {
    30093016            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    30153022
    30163023  case 91:
    3017 #line 830 "grammar.y"
     3024#line 837 "grammar.y"
    30183025    {
    30193026            if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;
     
    30223029
    30233030  case 92:
    3024 #line 836 "grammar.y"
     3031#line 843 "grammar.y"
    30253032    { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
    30263033    break;
    30273034
    30283035  case 93:
    3029 #line 838 "grammar.y"
     3036#line 845 "grammar.y"
    30303037    {
    30313038            if ((yyvsp[(1) - (2)].lv).rtyp==0)
     
    30453052
    30463053  case 95:
    3047 #line 858 "grammar.y"
     3054#line 865 "grammar.y"
    30483055    {
    30493056            if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)
     
    30573064
    30583065  case 98:
    3059 #line 875 "grammar.y"
     3066#line 882 "grammar.y"
    30603067    {
    30613068            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    30653072
    30663073  case 99:
    3067 #line 880 "grammar.y"
     3074#line 887 "grammar.y"
    30683075    {
    30693076            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    30733080
    30743081  case 100:
    3075 #line 885 "grammar.y"
     3082#line 892 "grammar.y"
    30763083    {
    30773084            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    30803087
    30813088  case 101:
    3082 #line 889 "grammar.y"
     3089#line 896 "grammar.y"
    30833090    {
    30843091            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    30873094
    30883095  case 102:
    3089 #line 893 "grammar.y"
     3096#line 900 "grammar.y"
    30903097    {
    30913098            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    31063113
    31073114  case 103:
    3108 #line 909 "grammar.y"
     3115#line 916 "grammar.y"
    31093116    {
    31103117            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     
    31133120
    31143121  case 104:
    3115 #line 913 "grammar.y"
     3122#line 920 "grammar.y"
    31163123    {
    31173124            int r; TESTSETINT((yyvsp[(4) - (8)].lv),r);
     
    31323139
    31333140  case 105:
    3134 #line 929 "grammar.y"
     3141#line 936 "grammar.y"
    31353142    {
    31363143            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    31493156
    31503157  case 106:
    3151 #line 943 "grammar.y"
     3158#line 950 "grammar.y"
    31523159    {
    31533160            int t=(yyvsp[(1) - (3)].lv).Typ();
     
    31733180
    31743181  case 107:
    3175 #line 964 "grammar.y"
     3182#line 971 "grammar.y"
    31763183    {
    31773184            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     
    31813188
    31823189  case 110:
    3183 #line 977 "grammar.y"
     3190#line 984 "grammar.y"
    31843191    {
    31853192            leftv v = &(yyvsp[(2) - (5)].lv);
     
    31953202
    31963203  case 111:
    3197 #line 991 "grammar.y"
     3204#line 998 "grammar.y"
    31983205    {
    31993206          // let rInit take care of any errors
     
    32033210
    32043211  case 112:
    3205 #line 999 "grammar.y"
     3212#line 1006 "grammar.y"
    32063213    {
    32073214            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    32153222
    32163223  case 113:
    3217 #line 1008 "grammar.y"
     3224#line 1015 "grammar.y"
    32183225    {
    32193226            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     
    32603267
    32613268  case 115:
    3262 #line 1054 "grammar.y"
     3269#line 1061 "grammar.y"
    32633270    {
    32643271            (yyval.lv) = (yyvsp[(1) - (3)].lv);
     
    32693276
    32703277  case 117:
    3271 #line 1064 "grammar.y"
     3278#line 1071 "grammar.y"
    32723279    {
    32733280            (yyval.lv) = (yyvsp[(2) - (3)].lv);
     
    32763283
    32773284  case 118:
    3278 #line 1070 "grammar.y"
     3285#line 1077 "grammar.y"
    32793286    {
    32803287            expected_parms = TRUE;
     
    32833290
    32843291  case 119:
    3285 #line 1082 "grammar.y"
     3292#line 1089 "grammar.y"
    32863293    { if ((yyvsp[(1) - (2)].i) != '<') YYERROR;
    32873294            if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}
     
    32893296
    32903297  case 120:
    3291 #line 1085 "grammar.y"
     3298#line 1092 "grammar.y"
    32923299    { newFile((yyvsp[(2) - (4)].name),feFilePending); ;}
    32933300    break;
    32943301
    32953302  case 121:
    3296 #line 1090 "grammar.y"
     3303#line 1097 "grammar.y"
    32973304    {
    32983305            feHelp((yyvsp[(2) - (3)].name));
     
    33023309
    33033310  case 122:
    3304 #line 1095 "grammar.y"
     3311#line 1102 "grammar.y"
    33053312    {
    33063313            feHelp(NULL);
     
    33093316
    33103317  case 123:
    3311 #line 1102 "grammar.y"
     3318#line 1109 "grammar.y"
    33123319    {
    33133320            singular_example((yyvsp[(2) - (3)].name));
     
    33173324
    33183325  case 124:
    3319 #line 1110 "grammar.y"
     3326#line 1117 "grammar.y"
    33203327    {
    33213328          if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
     
    33293336
    33303337  case 125:
    3331 #line 1122 "grammar.y"
     3338#line 1129 "grammar.y"
    33323339    {
    33333340          leftv v=&(yyvsp[(2) - (2)].lv);
     
    33483355
    33493356  case 126:
    3350 #line 1138 "grammar.y"
     3357#line 1145 "grammar.y"
    33513358    {
    33523359          leftv v=&(yyvsp[(3) - (3)].lv);
     
    33673374
    33683375  case 127:
    3369 #line 1157 "grammar.y"
     3376#line 1164 "grammar.y"
    33703377    {
    33713378            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    33743381
    33753382  case 128:
    3376 #line 1161 "grammar.y"
     3383#line 1168 "grammar.y"
    33773384    {
    33783385            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    33813388
    33823389  case 129:
    3383 #line 1165 "grammar.y"
     3390#line 1172 "grammar.y"
    33843391    {
    33853392            if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;
     
    33893396
    33903397  case 130:
    3391 #line 1170 "grammar.y"
     3398#line 1177 "grammar.y"
    33923399    {
    33933400            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     
    33963403
    33973404  case 131:
    3398 #line 1174 "grammar.y"
     3405#line 1181 "grammar.y"
    33993406    {
    34003407            list_cmd(RING_CMD,NULL,"// ",TRUE);
     
    34033410
    34043411  case 132:
    3405 #line 1178 "grammar.y"
     3412#line 1185 "grammar.y"
    34063413    {
    34073414            list_cmd(MATRIX_CMD,NULL,"// ",TRUE);
     
    34103417
    34113418  case 133:
    3412 #line 1182 "grammar.y"
     3419#line 1189 "grammar.y"
    34133420    {
    34143421            list_cmd(INTMAT_CMD,NULL,"// ",TRUE);
     
    34173424
    34183425  case 134:
    3419 #line 1186 "grammar.y"
     3426#line 1193 "grammar.y"
    34203427    {
    34213428            list_cmd(PROC_CMD,NULL,"// ",TRUE);
     
    34243431
    34253432  case 135:
    3426 #line 1190 "grammar.y"
     3433#line 1197 "grammar.y"
    34273434    {
    34283435            list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);
     
    34323439
    34333440  case 136:
    3434 #line 1195 "grammar.y"
     3441#line 1202 "grammar.y"
    34353442    {
    34363443            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34413448
    34423449  case 137:
    3443 #line 1201 "grammar.y"
     3450#line 1208 "grammar.y"
    34443451    {
    34453452            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34503457
    34513458  case 138:
    3452 #line 1207 "grammar.y"
     3459#line 1214 "grammar.y"
    34533460    {
    34543461            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34593466
    34603467  case 139:
    3461 #line 1213 "grammar.y"
     3468#line 1220 "grammar.y"
    34623469    {
    34633470            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34683475
    34693476  case 140:
    3470 #line 1219 "grammar.y"
     3477#line 1226 "grammar.y"
    34713478    {
    34723479            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34773484
    34783485  case 141:
    3479 #line 1225 "grammar.y"
     3486#line 1232 "grammar.y"
    34803487    {
    34813488            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34863493
    34873494  case 142:
    3488 #line 1231 "grammar.y"
     3495#line 1238 "grammar.y"
    34893496    {
    34903497            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    34953502
    34963503  case 143:
    3497 #line 1237 "grammar.y"
     3504#line 1244 "grammar.y"
    34983505    {
    34993506            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     
    35043511
    35053512  case 144:
    3506 #line 1249 "grammar.y"
     3513#line 1256 "grammar.y"
    35073514    {
    35083515            list_cmd(-1,NULL,"// ",TRUE);
     
    35113518
    35123519  case 145:
    3513 #line 1255 "grammar.y"
     3520#line 1262 "grammar.y"
    35143521    { yyInRingConstruction = TRUE; ;}
    35153522    break;
    35163523
    35173524  case 146:
    3518 #line 1264 "grammar.y"
     3525#line 1271 "grammar.y"
    35193526    {
    35203527            const char *ring_name = (yyvsp[(2) - (8)].lv).name;
     
    35533560
    35543561  case 147:
    3555 #line 1298 "grammar.y"
     3562#line 1305 "grammar.y"
    35563563    {
    35573564            const char *ring_name = (yyvsp[(2) - (2)].lv).name;
     
    35633570
    35643571  case 148:
    3565 #line 1308 "grammar.y"
     3572#line 1315 "grammar.y"
    35663573    {
    35673574            if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(iiLibCmd((yyvsp[(2) - (2)].name),TRUE,TRUE,TRUE)))
     
    35773584
    35783585  case 151:
    3579 #line 1324 "grammar.y"
     3586#line 1331 "grammar.y"
    35803587    {
    35813588            if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))
     
    36493656
    36503657  case 152:
    3651 #line 1396 "grammar.y"
     3658#line 1403 "grammar.y"
    36523659    {
    36533660            if ((yyvsp[(2) - (2)].lv).rtyp!=IDHDL) MYYERROR("identifier expected");
     
    36583665
    36593666  case 153:
    3660 #line 1402 "grammar.y"
     3667#line 1409 "grammar.y"
    36613668    {
    36623669            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
     
    36843691
    36853692  case 154:
    3686 #line 1431 "grammar.y"
     3693#line 1438 "grammar.y"
    36873694    {
    36883695            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     
    37003707
    37013708  case 155:
    3702 #line 1444 "grammar.y"
     3709#line 1451 "grammar.y"
    37033710    {
    37043711            if (currentVoice->ifsw==1)
     
    37203727
    37213728  case 156:
    3722 #line 1461 "grammar.y"
     3729#line 1468 "grammar.y"
    37233730    {
    37243731            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     
    37323739
    37333740  case 157:
    3734 #line 1470 "grammar.y"
     3741#line 1477 "grammar.y"
    37353742    {
    37363743            if (exitBuffer(BT_break)) YYERROR;
     
    37403747
    37413748  case 158:
    3742 #line 1475 "grammar.y"
     3749#line 1482 "grammar.y"
    37433750    {
    37443751            if (contBuffer(BT_break)) YYERROR;
     
    37483755
    37493756  case 159:
    3750 #line 1483 "grammar.y"
     3757#line 1490 "grammar.y"
    37513758    {
    37523759            /* -> if(!$2) break; $3; continue;*/
     
    37603767
    37613768  case 160:
    3762 #line 1495 "grammar.y"
     3769#line 1502 "grammar.y"
    37633770    {
    37643771            /* $2 */
     
    37793786
    37803787  case 161:
    3781 #line 1514 "grammar.y"
     3788#line 1521 "grammar.y"
    37823789    {
    37833790            procinfov pi;
     
    37933800
    37943801  case 162:
    3795 #line 1525 "grammar.y"
     3802#line 1532 "grammar.y"
    37963803    {
    37973804            idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     
    38163823
    38173824  case 163:
    3818 #line 1545 "grammar.y"
     3825#line 1552 "grammar.y"
    38193826    {
    38203827            omFree((ADDRESS)(yyvsp[(3) - (4)].name));
     
    38403847
    38413848  case 164:
    3842 #line 1569 "grammar.y"
     3849#line 1576 "grammar.y"
    38433850    {
    38443851            // decl. of type proc p(int i)
     
    38493856
    38503857  case 165:
    3851 #line 1575 "grammar.y"
     3858#line 1582 "grammar.y"
    38523859    {
    38533860            // decl. of type proc p(i)
     
    38613868
    38623869  case 166:
    3863 #line 1587 "grammar.y"
     3870#line 1594 "grammar.y"
    38643871    {
    38653872            if(iiRETURNEXPR==NULL) YYERROR;
     
    38713878
    38723879  case 167:
    3873 #line 1594 "grammar.y"
     3880#line 1601 "grammar.y"
    38743881    {
    38753882            if ((yyvsp[(1) - (3)].i)==RETURN)
     
    38853892
    38863893/* Line 1267 of yacc.c.  */
    3887 #line 3885 "grammar.cc"
     3894#line 3892 "grammar.cc"
    38883895      default: break;
    38893896    }
  • Singular/grammar.y

    r4d1104a r37dc41  
    509509        | elemexpr '(' exprlist ')'
    510510          {
    511             $1.next=(leftv)omAllocBin(sleftv_bin);
    512             memcpy($1.next,&$3,sizeof(sleftv));
    513             if(iiExprArithM(&$$,&$1,'(')) YYERROR;
     511            if ($1.Typ()==UNKNOWN)
     512            { // for x(i)(j)
     513              if(iiExprArith2(&$$,&$1,'(',&$3)) YYERROR;
     514            }
     515            else
     516            {
     517              $1.next=(leftv)omAllocBin(sleftv_bin);
     518              memcpy($1.next,&$3,sizeof(sleftv));
     519              if(iiExprArithM(&$$,&$1,'(')) YYERROR;
     520            }
    514521          }
    515522        | '[' exprlist ']'
Note: See TracChangeset for help on using the changeset viewer.