Changeset db5523 in git


Ignore:
Timestamp:
Jul 16, 2008, 2:51:26 PM (16 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
2cba12d26c43550c249f3071faaa809d5347e1c3
Parents:
60bebce847a96725dbc8ec98959bc0302c17f5b5
Message:
*hannes: bigint


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

Legend:

Unmodified
Added
Removed
  • Singular/grammar.cc

    r60bebce rdb5523  
    161161#include "syz.h"
    162162#include "lists.h"
     163#include "longrat.h"
    163164#include "libparse.h"
    164165
     
    463464#if YYDEBUG != 0
    464465static const short yyrline[] = { 0,
    465    364,   366,   400,   402,   404,   406,   410,   415,   417,   465,
    466    466,   467,   468,   469,   470,   471,   472,   476,   479,   480,
    467    481,   482,   483,   484,   485,   486,   487,   490,   496,   502,
    468    506,   510,   514,   534,   562,   590,   596,   604,   616,   622,
    469    627,   628,   629,   633,   637,   641,   645,   649,   653,   657,
    470    661,   665,   669,   673,   677,   681,   685,   689,   693,   697,
    471    701,   705,   709,   713,   717,   721,   725,   729,   733,   737,
    472    741,   745,   762,   768,   780,   788,   796,   801,   805,   809,
    473    813,   817,   821,   825,   829,   833,   837,   841,   845,   852,
    474    858,   860,   872,   874,   885,   886,   890,   900,   909,   913,
    475    917,   933,   937,   957,   975,  1000,  1011,  1015,  1017,  1030,
    476   1038,  1048,  1092,  1094,  1102,  1104,  1110,  1121,  1126,  1129,
    477   1135,  1141,  1149,  1163,  1184,  1206,  1211,  1215,  1220,  1224,
    478   1228,  1232,  1236,  1240,  1245,  1254,  1263,  1272,  1281,  1290,
    479   1299,  1308,  1326,  1332,  1336,  1379,  1388,  1402,  1402,  1404,
    480   1480,  1487,  1516,  1529,  1546,  1555,  1560,  1567,  1579,  1598,
    481   1610,  1630,  1653,  1660,  1671,  1679
     466   365,   367,   401,   403,   405,   407,   411,   416,   418,   466,
     467   467,   468,   469,   470,   471,   472,   473,   477,   480,   481,
     468   482,   483,   484,   485,   486,   487,   488,   491,   497,   503,
     469   507,   511,   515,   535,   563,   587,   593,   601,   613,   619,
     470   624,   625,   626,   630,   634,   638,   642,   646,   650,   654,
     471   658,   662,   666,   670,   674,   678,   682,   686,   690,   694,
     472   698,   702,   706,   710,   714,   718,   722,   726,   730,   734,
     473   738,   742,   759,   765,   777,   785,   793,   798,   802,   806,
     474   810,   814,   818,   822,   826,   830,   834,   838,   842,   849,
     475   855,   857,   869,   871,   882,   883,   887,   897,   906,   910,
     476   914,   930,   934,   954,   972,   997,  1008,  1012,  1014,  1027,
     477  1035,  1045,  1089,  1091,  1099,  1101,  1107,  1118,  1123,  1126,
     478  1132,  1138,  1146,  1160,  1181,  1203,  1208,  1212,  1217,  1221,
     479  1225,  1229,  1233,  1237,  1242,  1251,  1260,  1269,  1278,  1287,
     480  1296,  1305,  1323,  1329,  1333,  1376,  1385,  1399,  1399,  1401,
     481  1477,  1484,  1513,  1526,  1543,  1552,  1557,  1564,  1576,  1595,
     482  1607,  1627,  1650,  1657,  1668,  1676
    482483};
    483484#endif
     
    15791580
    15801581case 2:
    1581 #line 367 "grammar.y"
     1582#line 368 "grammar.y"
    15821583{
    15831584            if (timerv)
     
    16131614    break;}
    16141615case 4:
    1615 #line 403 "grammar.y"
     1616#line 404 "grammar.y"
    16161617{currentVoice->ifsw=0;;
    16171618    break;}
    16181619case 5:
    1619 #line 405 "grammar.y"
     1620#line 406 "grammar.y"
    16201621{ yyvsp[-1].lv.CleanUp(); currentVoice->ifsw=0;;
    16211622    break;}
    16221623case 6:
    1623 #line 407 "grammar.y"
     1624#line 408 "grammar.y"
    16241625{
    16251626            YYACCEPT;
     
    16271628    break;}
    16281629case 7:
    1629 #line 411 "grammar.y"
     1630#line 412 "grammar.y"
    16301631{
    16311632            currentVoice->ifsw=0;
     
    16341635    break;}
    16351636case 8:
    1636 #line 416 "grammar.y"
     1637#line 417 "grammar.y"
    16371638{currentVoice->ifsw=0;;
    16381639    break;}
    16391640case 9:
    1640 #line 418 "grammar.y"
     1641#line 419 "grammar.y"
    16411642{
    16421643            #ifdef SIQ
     
    16861687    break;}
    16871688case 17:
    1688 #line 473 "grammar.y"
     1689#line 474 "grammar.y"
    16891690{if (currentVoice!=NULL) currentVoice->ifsw=0;;
    16901691    break;}
    16911692case 18:
    1692 #line 476 "grammar.y"
     1693#line 477 "grammar.y"
    16931694{ omFree((ADDRESS)yyvsp[0].name); ;
    16941695    break;}
    16951696case 28:
    1696 #line 491 "grammar.y"
     1697#line 492 "grammar.y"
    16971698{
    16981699            if(iiAssign(&yyvsp[-1].lv,&yyvsp[0].lv)) YYERROR;
     
    17001701    break;}
    17011702case 29:
    1702 #line 498 "grammar.y"
     1703#line 499 "grammar.y"
    17031704{
    17041705            if (currRing==NULL) MYYERROR("no ring active");
     
    17071708    break;}
    17081709case 30:
    1709 #line 503 "grammar.y"
     1710#line 504 "grammar.y"
    17101711{
    17111712            syMake(&yyval.lv,yyvsp[0].name);
     
    17131714    break;}
    17141715case 31:
    1715 #line 507 "grammar.y"
     1716#line 508 "grammar.y"
    17161717{
    17171718            if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, COLONCOLON, &yyvsp[0].lv)) YYERROR;
     
    17191720    break;}
    17201721case 32:
    1721 #line 511 "grammar.y"
     1722#line 512 "grammar.y"
    17221723{
    17231724            if(iiExprArith1(&yyval.lv,&yyvsp[-2].lv,'(')) YYERROR;
     
    17251726    break;}
    17261727case 33:
    1727 #line 515 "grammar.y"
     1728#line 516 "grammar.y"
    17281729{
    17291730            if (yyvsp[-3].lv.rtyp==LIB_CMD)
     
    17471748    break;}
    17481749case 34:
    1749 #line 535 "grammar.y"
     1750#line 536 "grammar.y"
    17501751{
    17511752            if (currRingHdl==NULL) MYYERROR("no ring active");
     
    17771778    break;}
    17781779case 35:
    1779 #line 563 "grammar.y"
     1780#line 564 "grammar.y"
    17801781{
    17811782            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    17881789            /* check: out of range input */
    17891790            int l = strlen(yyvsp[0].name)+2;
     1791            number n;
    17901792            if (l >= MAX_INT_LEN)
    17911793            {
     
    17941796              if (strcmp(tmp,yyvsp[0].name)!=0)
    17951797              {
    1796                 if (currRing==NULL)
    1797                 {
    1798                   Werror("`%s` greater than %d(max. integer representation)"
    1799                          ,yyvsp[0].name,MAX_INT_VAL);
    1800                   YYERROR;
    1801                 }
    1802                 char *t1=omStrDup(yyvsp[0].name);
    1803                 syMake(&yyval.lv,t1);
     1798                nlRead(yyvsp[0].name,&n);
     1799                yyval.lv.rtyp=BIGINT_CMD;
     1800                yyval.lv.data = n;
    18041801              }
    18051802            }
     
    18071804    break;}
    18081805case 36:
    1809 #line 591 "grammar.y"
     1806#line 588 "grammar.y"
    18101807{
    18111808            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    18151812    break;}
    18161813case 37:
    1817 #line 597 "grammar.y"
     1814#line 594 "grammar.y"
    18181815{
    18191816            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    18231820    break;}
    18241821case 38:
    1825 #line 606 "grammar.y"
     1822#line 603 "grammar.y"
    18261823{
    18271824            leftv v = &yyvsp[-2].lv;
     
    18361833    break;}
    18371834case 39:
    1838 #line 617 "grammar.y"
     1835#line 614 "grammar.y"
    18391836{
    18401837            yyval.lv = yyvsp[0].lv;
     
    18421839    break;}
    18431840case 40:
    1844 #line 623 "grammar.y"
     1841#line 620 "grammar.y"
    18451842{
    18461843            /*if ($1.typ == eunknown) YYERROR;*/
     
    18491846    break;}
    18501847case 41:
     1848#line 624 "grammar.y"
     1849{ yyval.lv = yyvsp[0].lv; ;
     1850    break;}
     1851case 42:
     1852#line 625 "grammar.y"
     1853{ yyval.lv = yyvsp[-1].lv; ;
     1854    break;}
     1855case 43:
    18511856#line 627 "grammar.y"
    1852 { yyval.lv = yyvsp[0].lv; ;
    1853     break;}
    1854 case 42:
    1855 #line 628 "grammar.y"
    1856 { yyval.lv = yyvsp[-1].lv; ;
    1857     break;}
    1858 case 43:
    1859 #line 630 "grammar.y"
    18601857{
    18611858            if(iiExprArith3(&yyval.lv,'[',&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    18631860    break;}
    18641861case 44:
    1865 #line 634 "grammar.y"
     1862#line 631 "grammar.y"
    18661863{
    18671864            if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'[',&yyvsp[-1].lv)) YYERROR;
     
    18691866    break;}
    18701867case 45:
    1871 #line 638 "grammar.y"
     1868#line 635 "grammar.y"
    18721869{
    18731870            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    18751872    break;}
    18761873case 46:
    1877 #line 642 "grammar.y"
     1874#line 639 "grammar.y"
    18781875{
    18791876            if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    18811878    break;}
    18821879case 47:
    1883 #line 646 "grammar.y"
     1880#line 643 "grammar.y"
    18841881{
    18851882            if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     
    18871884    break;}
    18881885case 48:
    1889 #line 650 "grammar.y"
     1886#line 647 "grammar.y"
    18901887{
    18911888            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    18931890    break;}
    18941891case 49:
    1895 #line 654 "grammar.y"
     1892#line 651 "grammar.y"
    18961893{
    18971894            if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    18991896    break;}
    19001897case 50:
    1901 #line 658 "grammar.y"
     1898#line 655 "grammar.y"
    19021899{
    19031900            if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     
    19051902    break;}
    19061903case 51:
    1907 #line 662 "grammar.y"
     1904#line 659 "grammar.y"
    19081905{
    19091906            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    19111908    break;}
    19121909case 52:
    1913 #line 666 "grammar.y"
     1910#line 663 "grammar.y"
    19141911{
    19151912            if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     
    19171914    break;}
    19181915case 53:
    1919 #line 670 "grammar.y"
     1916#line 667 "grammar.y"
    19201917{
    19211918            if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    19231920    break;}
    19241921case 54:
    1925 #line 674 "grammar.y"
     1922#line 671 "grammar.y"
    19261923{
    19271924            if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     
    19291926    break;}
    19301927case 55:
    1931 #line 678 "grammar.y"
     1928#line 675 "grammar.y"
    19321929{
    19331930            if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    19351932    break;}
    19361933case 56:
    1937 #line 682 "grammar.y"
     1934#line 679 "grammar.y"
    19381935{
    19391936            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    19411938    break;}
    19421939case 57:
    1943 #line 686 "grammar.y"
     1940#line 683 "grammar.y"
    19441941{
    19451942            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    19471944    break;}
    19481945case 58:
    1949 #line 690 "grammar.y"
     1946#line 687 "grammar.y"
    19501947{
    19511948            if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     
    19531950    break;}
    19541951case 59:
    1955 #line 694 "grammar.y"
     1952#line 691 "grammar.y"
    19561953{
    19571954            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    19591956    break;}
    19601957case 60:
    1961 #line 698 "grammar.y"
     1958#line 695 "grammar.y"
    19621959{
    19631960            if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     
    19651962    break;}
    19661963case 61:
    1967 #line 702 "grammar.y"
     1964#line 699 "grammar.y"
    19681965{
    19691966            if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    19711968    break;}
    19721969case 62:
    1973 #line 706 "grammar.y"
     1970#line 703 "grammar.y"
    19741971{
    19751972            if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    19771974    break;}
    19781975case 63:
    1979 #line 710 "grammar.y"
     1976#line 707 "grammar.y"
    19801977{
    19811978            if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     
    19831980    break;}
    19841981case 64:
    1985 #line 714 "grammar.y"
     1982#line 711 "grammar.y"
    19861983{
    19871984            if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     
    19891986    break;}
    19901987case 65:
    1991 #line 718 "grammar.y"
     1988#line 715 "grammar.y"
    19921989{
    19931990            if(iiExprArith3(&yyval.lv,MATRIX_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    19951992    break;}
    19961993case 66:
    1997 #line 722 "grammar.y"
     1994#line 719 "grammar.y"
    19981995{
    19991996            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MATRIX_CMD)) YYERROR;
     
    20011998    break;}
    20021999case 67:
    2003 #line 726 "grammar.y"
     2000#line 723 "grammar.y"
    20042001{
    20052002            if(iiExprArith3(&yyval.lv,INTMAT_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    20072004    break;}
    20082005case 68:
    2009 #line 730 "grammar.y"
     2006#line 727 "grammar.y"
    20102007{
    20112008            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,INTMAT_CMD)) YYERROR;
     
    20132010    break;}
    20142011case 69:
    2015 #line 734 "grammar.y"
     2012#line 731 "grammar.y"
    20162013{
    20172014            if(iiExprArith3(&yyval.lv,RING_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     
    20192016    break;}
    20202017case 70:
    2021 #line 738 "grammar.y"
     2018#line 735 "grammar.y"
    20222019{
    20232020            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,RING_CMD)) YYERROR;
     
    20252022    break;}
    20262023case 71:
    2027 #line 742 "grammar.y"
     2024#line 739 "grammar.y"
    20282025{
    20292026            yyval.lv=yyvsp[-1].lv;
     
    20312028    break;}
    20322029case 72:
    2033 #line 746 "grammar.y"
     2030#line 743 "grammar.y"
    20342031{
    20352032            #ifdef SIQ
     
    20502047    break;}
    20512048case 73:
    2052 #line 763 "grammar.y"
     2049#line 760 "grammar.y"
    20532050{
    20542051            #ifdef SIQ
     
    20582055    break;}
    20592056case 74:
    2060 #line 769 "grammar.y"
     2057#line 766 "grammar.y"
    20612058{
    20622059            #ifdef SIQ
     
    20702067    break;}
    20712068case 75:
    2072 #line 781 "grammar.y"
     2069#line 778 "grammar.y"
    20732070{
    20742071            #ifdef SIQ
     
    20782075    break;}
    20792076case 76:
    2080 #line 789 "grammar.y"
     2077#line 786 "grammar.y"
    20812078{
    20822079            #ifdef SIQ
     
    20862083    break;}
    20872084case 77:
    2088 #line 798 "grammar.y"
     2085#line 795 "grammar.y"
    20892086{
    20902087            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,PLUSPLUS)) YYERROR;
     
    20922089    break;}
    20932090case 78:
    2094 #line 802 "grammar.y"
     2091#line 799 "grammar.y"
    20952092{
    20962093            if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MINUSMINUS)) YYERROR;
     
    20982095    break;}
    20992096case 79:
    2100 #line 806 "grammar.y"
     2097#line 803 "grammar.y"
    21012098{
    21022099            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'+',&yyvsp[0].lv)) YYERROR;
     
    21042101    break;}
    21052102case 80:
    2106 #line 810 "grammar.y"
     2103#line 807 "grammar.y"
    21072104{
    21082105            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'-',&yyvsp[0].lv)) YYERROR;
     
    21102107    break;}
    21112108case 81:
    2112 #line 814 "grammar.y"
     2109#line 811 "grammar.y"
    21132110{
    21142111            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     
    21162113    break;}
    21172114case 82:
    2118 #line 818 "grammar.y"
     2115#line 815 "grammar.y"
    21192116{
    21202117            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'^',&yyvsp[0].lv)) YYERROR;
     
    21222119    break;}
    21232120case 83:
    2124 #line 822 "grammar.y"
     2121#line 819 "grammar.y"
    21252122{
    21262123            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     
    21282125    break;}
    21292126case 84:
    2130 #line 826 "grammar.y"
     2127#line 823 "grammar.y"
    21312128{
    21322129            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     
    21342131    break;}
    21352132case 85:
    2136 #line 830 "grammar.y"
     2133#line 827 "grammar.y"
    21372134{
    21382135            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,NOTEQUAL,&yyvsp[0].lv)) YYERROR;
     
    21402137    break;}
    21412138case 86:
    2142 #line 834 "grammar.y"
     2139#line 831 "grammar.y"
    21432140{
    21442141            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,EQUAL_EQUAL,&yyvsp[0].lv)) YYERROR;
     
    21462143    break;}
    21472144case 87:
    2148 #line 838 "grammar.y"
     2145#line 835 "grammar.y"
    21492146{
    21502147            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,DOTDOT,&yyvsp[0].lv)) YYERROR;
     
    21522149    break;}
    21532150case 88:
    2154 #line 842 "grammar.y"
     2151#line 839 "grammar.y"
    21552152{
    21562153            if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,':',&yyvsp[0].lv)) YYERROR;
     
    21582155    break;}
    21592156case 89:
    2160 #line 846 "grammar.y"
     2157#line 843 "grammar.y"
    21612158{
    21622159            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    21672164    break;}
    21682165case 90:
    2169 #line 853 "grammar.y"
     2166#line 850 "grammar.y"
    21702167{
    21712168            if(iiExprArith1(&yyval.lv,&yyvsp[0].lv,'-')) YYERROR;
     
    21732170    break;}
    21742171case 91:
    2175 #line 859 "grammar.y"
     2172#line 856 "grammar.y"
    21762173{ yyval.lv = yyvsp[-1].lv; ;
    21772174    break;}
    21782175case 92:
    2179 #line 861 "grammar.y"
     2176#line 858 "grammar.y"
    21802177{
    21812178            if (yyvsp[-1].lv.rtyp==0)
     
    21882185    break;}
    21892186case 94:
    2190 #line 875 "grammar.y"
     2187#line 872 "grammar.y"
    21912188{
    21922189            if (yyvsp[-1].lv.Typ()!=STRING_CMD)
     
    21992196    break;}
    22002197case 97:
    2201 #line 892 "grammar.y"
     2198#line 889 "grammar.y"
    22022199{
    22032200            #ifdef HAVE_NS
     
    22102207    break;}
    22112208case 98:
    2212 #line 901 "grammar.y"
     2209#line 898 "grammar.y"
    22132210{
    22142211            #ifdef HAVE_NS
     
    22212218    break;}
    22222219case 99:
    2223 #line 910 "grammar.y"
     2220#line 907 "grammar.y"
    22242221{
    22252222            if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
     
    22272224    break;}
    22282225case 100:
    2229 #line 914 "grammar.y"
     2226#line 911 "grammar.y"
    22302227{
    22312228            if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
     
    22332230    break;}
    22342231case 101:
    2235 #line 918 "grammar.y"
     2232#line 915 "grammar.y"
    22362233{
    22372234            if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(currRing->idroot), TRUE)) YYERROR;
     
    22512248    break;}
    22522249case 102:
    2253 #line 934 "grammar.y"
     2250#line 931 "grammar.y"
    22542251{
    22552252            if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
     
    22572254    break;}
    22582255case 103:
    2259 #line 938 "grammar.y"
     2256#line 935 "grammar.y"
    22602257{
    22612258            int r; TESTSETINT(yyvsp[-4].lv,r);
     
    22792276    break;}
    22802277case 104:
    2281 #line 958 "grammar.y"
     2278#line 955 "grammar.y"
    22822279{
    22832280            #ifdef HAVE_NS
     
    22992296    break;}
    23002297case 105:
    2301 #line 976 "grammar.y"
     2298#line 973 "grammar.y"
    23022299{
    23032300            int t=yyvsp[-2].lv.Typ();
     
    23262323    break;}
    23272324case 106:
    2328 #line 1001 "grammar.y"
     2325#line 998 "grammar.y"
    23292326{
    23302327            #ifdef HAVE_NS
     
    23372334    break;}
    23382335case 109:
    2339 #line 1018 "grammar.y"
     2336#line 1015 "grammar.y"
    23402337{
    23412338            leftv v = &yyvsp[-3].lv;
     
    23502347    break;}
    23512348case 110:
    2352 #line 1032 "grammar.y"
     2349#line 1029 "grammar.y"
    23532350{
    23542351          // let rInit take care of any errors
     
    23572354    break;}
    23582355case 111:
    2359 #line 1040 "grammar.y"
     2356#line 1037 "grammar.y"
    23602357{
    23612358            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    23682365    break;}
    23692366case 112:
    2370 #line 1049 "grammar.y"
     2367#line 1046 "grammar.y"
    23712368{
    23722369            memset(&yyval.lv,0,sizeof(yyval.lv));
     
    24122409    break;}
    24132410case 114:
    2414 #line 1095 "grammar.y"
     2411#line 1092 "grammar.y"
    24152412{
    24162413            yyval.lv = yyvsp[-2].lv;
     
    24202417    break;}
    24212418case 116:
    2422 #line 1105 "grammar.y"
     2419#line 1102 "grammar.y"
    24232420{
    24242421            yyval.lv = yyvsp[-1].lv;
     
    24262423    break;}
    24272424case 117:
    2428 #line 1111 "grammar.y"
     2425#line 1108 "grammar.y"
    24292426{
    24302427            expected_parms = TRUE;
     
    24322429    break;}
    24332430case 118:
    2434 #line 1123 "grammar.y"
     2431#line 1120 "grammar.y"
    24352432{ if (yyvsp[-1].i != '<') YYERROR;
    24362433            if((feFilePending=feFopen(yyvsp[0].name,"r",NULL,TRUE))==NULL) YYERROR; ;
    24372434    break;}
    24382435case 119:
    2439 #line 1126 "grammar.y"
     2436#line 1123 "grammar.y"
    24402437{ newFile(yyvsp[-2].name,feFilePending); ;
    24412438    break;}
    24422439case 120:
    2443 #line 1131 "grammar.y"
     2440#line 1128 "grammar.y"
    24442441{
    24452442            feHelp(yyvsp[-1].name);
     
    24482445    break;}
    24492446case 121:
    2450 #line 1136 "grammar.y"
     2447#line 1133 "grammar.y"
    24512448{
    24522449            feHelp(NULL);
     
    24542451    break;}
    24552452case 122:
    2456 #line 1143 "grammar.y"
     2453#line 1140 "grammar.y"
    24572454{
    24582455            singular_example(yyvsp[-1].name);
     
    24612458    break;}
    24622459case 123:
    2463 #line 1151 "grammar.y"
     2460#line 1148 "grammar.y"
    24642461{
    24652462#ifdef HAVE_NS
     
    24742471    break;}
    24752472case 124:
    2476 #line 1165 "grammar.y"
     2473#line 1162 "grammar.y"
    24772474{
    24782475          leftv v=&yyvsp[0].lv;
     
    24962493    break;}
    24972494case 125:
    2498 #line 1185 "grammar.y"
     2495#line 1182 "grammar.y"
    24992496{
    25002497          leftv v=&yyvsp[0].lv;
     
    25182515    break;}
    25192516case 126:
    2520 #line 1208 "grammar.y"
     2517#line 1205 "grammar.y"
    25212518{
    25222519            list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     
    25242521    break;}
    25252522case 127:
    2526 #line 1212 "grammar.y"
     2523#line 1209 "grammar.y"
    25272524{
    25282525            list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     
    25302527    break;}
    25312528case 128:
    2532 #line 1216 "grammar.y"
     2529#line 1213 "grammar.y"
    25332530{
    25342531            if (yyvsp[-1].i==QRING_CMD) yyvsp[-1].i=RING_CMD;
     
    25372534    break;}
    25382535case 129:
    2539 #line 1221 "grammar.y"
     2536#line 1218 "grammar.y"
    25402537{
    25412538            list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     
    25432540    break;}
    25442541case 130:
    2545 #line 1225 "grammar.y"
     2542#line 1222 "grammar.y"
    25462543{
    25472544            list_cmd(RING_CMD,NULL,"// ",TRUE);
     
    25492546    break;}
    25502547case 131:
    2551 #line 1229 "grammar.y"
     2548#line 1226 "grammar.y"
    25522549{
    25532550            list_cmd(MATRIX_CMD,NULL,"// ",TRUE);
     
    25552552    break;}
    25562553case 132:
    2557 #line 1233 "grammar.y"
     2554#line 1230 "grammar.y"
    25582555{
    25592556            list_cmd(INTMAT_CMD,NULL,"// ",TRUE);
     
    25612558    break;}
    25622559case 133:
    2563 #line 1237 "grammar.y"
     2560#line 1234 "grammar.y"
    25642561{
    25652562            list_cmd(PROC_CMD,NULL,"// ",TRUE);
     
    25672564    break;}
    25682565case 134:
    2569 #line 1241 "grammar.y"
     2566#line 1238 "grammar.y"
    25702567{
    25712568            list_cmd(0,yyvsp[-1].lv.Fullname(),"// ",TRUE);
     
    25742571    break;}
    25752572case 135:
    2576 #line 1246 "grammar.y"
     2573#line 1243 "grammar.y"
    25772574{
    25782575#ifdef HAVE_NS
     
    25852582    break;}
    25862583case 136:
    2587 #line 1255 "grammar.y"
     2584#line 1252 "grammar.y"
    25882585{
    25892586#ifdef HAVE_NS
     
    25962593    break;}
    25972594case 137:
    2598 #line 1264 "grammar.y"
     2595#line 1261 "grammar.y"
    25992596{
    26002597#ifdef HAVE_NS
     
    26072604    break;}
    26082605case 138:
    2609 #line 1273 "grammar.y"
     2606#line 1270 "grammar.y"
    26102607{
    26112608#ifdef HAVE_NS
     
    26182615    break;}
    26192616case 139:
    2620 #line 1282 "grammar.y"
     2617#line 1279 "grammar.y"
    26212618{
    26222619#ifdef HAVE_NS
     
    26292626    break;}
    26302627case 140:
    2631 #line 1291 "grammar.y"
     2628#line 1288 "grammar.y"
    26322629{
    26332630#ifdef HAVE_NS
     
    26402637    break;}
    26412638case 141:
    2642 #line 1300 "grammar.y"
     2639#line 1297 "grammar.y"
    26432640{
    26442641#ifdef HAVE_NS
     
    26512648    break;}
    26522649case 142:
    2653 #line 1309 "grammar.y"
     2650#line 1306 "grammar.y"
    26542651{
    26552652#ifdef HAVE_NS
     
    26622659    break;}
    26632660case 143:
    2664 #line 1327 "grammar.y"
     2661#line 1324 "grammar.y"
    26652662{
    26662663            list_cmd(-1,NULL,"// ",TRUE);
     
    26682665    break;}
    26692666case 144:
    2670 #line 1333 "grammar.y"
     2667#line 1330 "grammar.y"
    26712668{ yyInRingConstruction = TRUE; ;
    26722669    break;}
    26732670case 145:
    2674 #line 1342 "grammar.y"
     2671#line 1339 "grammar.y"
    26752672{
    26762673            const char *ring_name = yyvsp[-6].lv.name;
     
    27122709    break;}
    27132710case 146:
    2714 #line 1380 "grammar.y"
     2711#line 1377 "grammar.y"
    27152712{
    27162713            const char *ring_name = yyvsp[0].lv.name;
     
    27212718    break;}
    27222719case 147:
    2723 #line 1390 "grammar.y"
     2720#line 1387 "grammar.y"
    27242721{
    27252722            if ((yyvsp[-1].i!=LIB_CMD)||(iiLibCmd(yyvsp[0].name,TRUE,TRUE,TRUE)))
     
    27342731    break;}
    27352732case 150:
    2736 #line 1406 "grammar.y"
     2733#line 1403 "grammar.y"
    27372734{
    27382735            if ((yyvsp[-1].i==KEEPRING_CMD) && (myynest==0))
     
    28092806    break;}
    28102807case 151:
    2811 #line 1482 "grammar.y"
     2808#line 1479 "grammar.y"
    28122809{
    28132810            if (yyvsp[0].lv.rtyp!=IDHDL) MYYERROR("identifier expected");
     
    28172814    break;}
    28182815case 152:
    2819 #line 1488 "grammar.y"
     2816#line 1485 "grammar.y"
    28202817{
    28212818            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
     
    28422839    break;}
    28432840case 153:
    2844 #line 1517 "grammar.y"
     2841#line 1514 "grammar.y"
    28452842{
    28462843            int i; TESTSETINT(yyvsp[-2].lv,i);
     
    28572854    break;}
    28582855case 154:
    2859 #line 1530 "grammar.y"
     2856#line 1527 "grammar.y"
    28602857{
    28612858            if (currentVoice->ifsw==1)
     
    28762873    break;}
    28772874case 155:
    2878 #line 1547 "grammar.y"
     2875#line 1544 "grammar.y"
    28792876{
    28802877            int i; TESTSETINT(yyvsp[-2].lv,i);
     
    28872884    break;}
    28882885case 156:
    2889 #line 1556 "grammar.y"
     2886#line 1553 "grammar.y"
    28902887{
    28912888            if (exitBuffer(BT_break)) YYERROR;
     
    28942891    break;}
    28952892case 157:
    2896 #line 1561 "grammar.y"
     2893#line 1558 "grammar.y"
    28972894{
    28982895            if (contBuffer(BT_break)) YYERROR;
     
    29012898    break;}
    29022899case 158:
    2903 #line 1569 "grammar.y"
     2900#line 1566 "grammar.y"
    29042901{
    29052902            /* -> if(!$2) break; $3; continue;*/
     
    29122909    break;}
    29132910case 159:
    2914 #line 1581 "grammar.y"
     2911#line 1578 "grammar.y"
    29152912{
    29162913            /* $2 */
     
    29302927    break;}
    29312928case 160:
    2932 #line 1600 "grammar.y"
     2929#line 1597 "grammar.y"
    29332930{
    29342931            procinfov pi;
     
    29432940    break;}
    29442941case 161:
    2945 #line 1611 "grammar.y"
     2942#line 1608 "grammar.y"
    29462943{
    29472944            idhdl h = enterid(yyvsp[-2].name,myynest,PROC_CMD,&IDROOT,TRUE);
     
    29652962    break;}
    29662963case 162:
    2967 #line 1631 "grammar.y"
     2964#line 1628 "grammar.y"
    29682965{
    29692966            omFree((ADDRESS)yyvsp[-1].name);
     
    29882985    break;}
    29892986case 163:
    2990 #line 1655 "grammar.y"
     2987#line 1652 "grammar.y"
    29912988{
    29922989            //Print("par:%s, %d\n",$2.Name(),$2.Typ());
     
    29962993    break;}
    29972994case 164:
    2998 #line 1661 "grammar.y"
     2995#line 1658 "grammar.y"
    29992996{
    30002997            //Print("par:%s, %d\n",$2.Name(),$2.Typ());
     
    30073004    break;}
    30083005case 165:
    3009 #line 1673 "grammar.y"
     3006#line 1670 "grammar.y"
    30103007{
    30113008            if(iiRETURNEXPR==NULL) YYERROR;
     
    30163013    break;}
    30173014case 166:
    3018 #line 1680 "grammar.y"
     3015#line 1677 "grammar.y"
    30193016{
    30203017            if (yyvsp[-2].i==RETURN)
     
    32503247  return 1;
    32513248}
    3252 #line 1690 "grammar.y"
     3249#line 1687 "grammar.y"
  • Singular/grammar.y

    r60bebce rdb5523  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: grammar.y,v 1.126 2008-03-28 15:58:30 Singular Exp $ */
     4/* $Id: grammar.y,v 1.127 2008-07-16 12:51:26 Singular Exp $ */
    55/*
    66* ABSTRACT: SINGULAR shell grammatik
     
    3838#include "syz.h"
    3939#include "lists.h"
     40#include "longrat.h"
    4041#include "libparse.h"
    4142
     
    571572            /* check: out of range input */
    572573            int l = strlen($1)+2;
     574            number n;
    573575            if (l >= MAX_INT_LEN)
    574576            {
     
    577579              if (strcmp(tmp,$1)!=0)
    578580              {
    579                 if (currRing==NULL)
    580                 {
    581                   Werror("`%s` greater than %d(max. integer representation)"
    582                          ,$1,MAX_INT_VAL);
    583                   YYERROR;
    584                 }
    585                 char *t1=omStrDup($1);
    586                 syMake(&$$,t1);
     581                nlRead($1,&n);
     582                $$.rtyp=BIGINT_CMD;
     583                $$.data = n;
    587584              }
    588585            }
  • Singular/ipconv.cc

    r60bebce rdb5523  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ipconv.cc,v 1.38 2008-07-16 12:41:32 wienand Exp $ */
     4/* $Id: ipconv.cc,v 1.39 2008-07-16 12:51:26 Singular Exp $ */
    55/*
    66* ABSTRACT: automatic type conversions
     
    5050}
    5151
     52static void * iiBI2N(void *data);
     53static void * iiBI2P(void *data)
     54{
     55  number n=(number)iiBI2N(data);
     56  nlDelete((number *)&data,NULL);
     57  poly p=pNSet(n);
     58  return (void *)p;
     59}
     60
    5261static void * iiI2V(void *data)
    5362{
    5463  poly p=pISet((int)(long)data);
     64  if (p!=NULL) pSetComp(p,1);
     65  return (void *)p;
     66}
     67
     68static void * iiBI2V(void *data)
     69{
     70  number n=(number)iiBI2N(data);
     71  nlDelete((number *)&data,NULL);
     72  poly p=pNSet(n);
    5573  if (p!=NULL) pSetComp(p,1);
    5674  return (void *)p;
     
    6482}
    6583
     84static void * iiBI2Id(void *data)
     85{
     86  ideal I=idInit(1,1);
     87  number n=(number)iiBI2N(data);
     88  nlDelete((number *)&data,NULL);
     89  poly p=pNSet(n);
     90  I->m[0]=p;
     91  return (void *)I;
     92}
    6693static void * iiP2V(void *data)
    6794{
     
    246273//  int -> number
    247274   { INT_CMD,         NUMBER_CMD,     iiI2N , NULL },
     275   { BIGINT_CMD,      NUMBER_CMD,     iiBI2N , NULL },
    248276//  int -> poly
    249277   { INT_CMD,         POLY_CMD,       iiI2P , NULL },
     278   { BIGINT_CMD,      POLY_CMD,       iiBI2P , NULL },
    250279//  int -> vector
    251280   { INT_CMD,         VECTOR_CMD,     iiI2V , NULL },
     281   { BIGINT_CMD,      VECTOR_CMD,     iiBI2V , NULL },
    252282//  int -> ideal
    253283   { INT_CMD,         IDEAL_CMD,      iiI2Id , NULL },
     284   { BIGINT_CMD,      IDEAL_CMD,      iiBI2Id , NULL },
    254285//  int -> matrix
    255286   { INT_CMD,         MATRIX_CMD,     iiI2Id , NULL },
     287   { BIGINT_CMD,      MATRIX_CMD,     iiBI2Id , NULL },
    256288//  int -> intvec
    257289   { INT_CMD,         INTVEC_CMD,     iiI2Iv , NULL },
    258 //  bigint -> number
    259    { BIGINT_CMD,      NUMBER_CMD,     iiBI2N , NULL },
    260290//  intvec -> intmat
    261291   { INTVEC_CMD,      INTMAT_CMD,     iiDummy, NULL },
  • Singular/scanner.cc

    r60bebce rdb5523  
    22
    33/* Scanner skeleton version:
    4  * $Header: /exports/cvsroot-2/cvsroot/Singular/scanner.cc,v 1.3 2008-03-19 17:51:43 Singular Exp $
     4 * $Header: /exports/cvsroot-2/cvsroot/Singular/scanner.cc,v 1.4 2008-07-16 12:51:26 Singular Exp $
    55 */
    66
     
    558558*  Computer Algebra System SINGULAR     *
    559559****************************************/
    560 /* $Id: scanner.cc,v 1.3 2008-03-19 17:51:43 Singular Exp $ */
     560/* $Id: scanner.cc,v 1.4 2008-07-16 12:51:26 Singular Exp $ */
    561561#include <stdio.h>
    562562#include <string.h>
     
    667667#define asstring 7
    668668
    669 #line 670 "lex.yy.c"
    670669
    671670/* Macros after this point can all be overridden by user definitions in
     
    823822#line 120 "scanner.l"
    824823
    825 #line 826 "lex.yy.c"
    826824
    827825        if ( yy_init )
     
    13031301{
    13041302                           lvalp->name = (char *)yytext;
    1305                            if ((currRing!=NULL)
    1306                            && (strlen(lvalp->name)>MAX_INT_LEN))
    1307                              return RINGVAR;
    1308                            else
    1309                              return INT_CONST;
     1303                           return INT_CONST;
    13101304                         }
    13111305        YY_BREAK
    13121306case 57:
    13131307YY_RULE_SETUP
    1314 #line 300 "scanner.l"
     1308#line 296 "scanner.l"
    13151309{
    13161310                           lvalp->name = (char *)yytext;
     
    13201314case 58:
    13211315YY_RULE_SETUP
    1322 #line 304 "scanner.l"
     1316#line 300 "scanner.l"
    13231317{
    13241318                           m2_end(-1);
     
    13271321case 59:
    13281322YY_RULE_SETUP
    1329 #line 307 "scanner.l"
     1323#line 303 "scanner.l"
    13301324{
    13311325                           #ifdef MM_STAT
     
    13421336case 60:
    13431337YY_RULE_SETUP
    1344 #line 319 "scanner.l"
     1338#line 315 "scanner.l"
    13451339{
    13461340                           lvalp->name = (char *)yytext;
     
    13501344case 61:
    13511345YY_RULE_SETUP
    1352 #line 323 "scanner.l"
     1346#line 319 "scanner.l"
    13531347{
    13541348                           lvalp->name = (char *)yytext;
     
    13611355YY_DO_BEFORE_ACTION; /* set up yytext again */
    13621356YY_RULE_SETUP
    1363 #line 327 "scanner.l"
     1357#line 323 "scanner.l"
    13641358{
    13651359                           lvalp->name = (char *)yytext;
     
    13691363case 63:
    13701364YY_RULE_SETUP
    1371 #line 332 "scanner.l"
     1365#line 328 "scanner.l"
    13721366{
    13731367                           /* {name} */
     
    13881382case 64:
    13891383YY_RULE_SETUP
    1390 #line 348 "scanner.l"
     1384#line 344 "scanner.l"
    13911385{
    13921386                           /*if (*yytext == '\n') REJECT;*/
     
    14131407case 65:
    14141408YY_RULE_SETUP
    1415 #line 369 "scanner.l"
    1416 ECHO;
    1417         YY_BREAK
    1418 #line 1419 "lex.yy.c"
     1409#line 365 "scanner.l"
     1410YY_FATAL_ERROR( "flex scanner jammed" );
     1411        YY_BREAK
    14191412case YY_STATE_EOF(INITIAL):
    14201413case YY_STATE_EOF(string):
     
    23112304        }
    23122305#endif
    2313 #line 369 "scanner.l"
     2306#line 365 "scanner.l"
    23142307
    23152308
  • Singular/scanner.l

    r60bebce rdb5523  
    33*  Computer Algebra System SINGULAR     *
    44****************************************/
    5 /* $Id: scanner.l,v 1.32 2006-04-27 11:37:35 Singular Exp $ */
     5/* $Id: scanner.l,v 1.33 2008-07-16 12:51:26 Singular Exp $ */
    66#include <stdio.h>
    77#include <string.h>
     
    292292{integer}                {
    293293                           lvalp->name = (char *)yytext;
    294                            if ((currRing!=NULL)
    295                            && (strlen(lvalp->name)>MAX_INT_LEN))
    296                              return RINGVAR;
    297                            else
    298                              return INT_CONST;
     294                           return INT_CONST;
    299295                         }
    300296{integer}\/{integer}     {
Note: See TracChangeset for help on using the changeset viewer.