Changeset a5a8a1 in git
- Timestamp:
- Jun 6, 2011, 12:05:51 PM (12 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- 8cae101f1cd4eb08cf93bb18d27343afa20fb82f
- Parents:
- d80a1affe5140fcac28532ccf3a3ad97b41ee6ee
- Location:
- Singular
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/grammar.cc
rd80a1a ra5a8a1 1 /* A Bison parser, made by GNU Bison 2.3. */ 2 3 /* Skeleton implementation for Bison's Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6 Free Software Foundation, Inc. 1 /* A Bison parser, made by GNU Bison 1.875d. */ 2 3 /* Skeleton parser for Yacc-like parsing with Bison, 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 7 5 8 6 This program is free software; you can redistribute it and/or modify … … 18 16 You should have received a copy of the GNU General Public License 19 17 along with this program; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 Boston, MA 02110-1301, USA. */ 22 23 /* As a special exception, you may create a larger work that contains 24 part or all of the Bison parser skeleton and distribute that work 25 under terms of your choice, so long as that work isn't itself a 26 parser generator using the skeleton or a modified version thereof 27 as a parser skeleton. Alternatively, if you modify or redistribute 28 the parser skeleton itself, you may (at your option) remove this 29 special exception, which will cause the skeleton and the resulting 30 Bison output files to be licensed under the GNU General Public 31 License without this special exception. 32 33 This special exception was added by the Free Software Foundation in 34 version 2.2 of Bison. */ 35 36 /* C LALR(1) parser skeleton written by Richard Stallman, by 37 simplifying the original so-called "semantic" parser. */ 18 Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 20 21 /* As a special exception, when this file is copied by Bison into a 22 Bison output file, you may use that output file without restriction. 23 This special exception was added by the Free Software Foundation 24 in version 1.24 of Bison. */ 25 26 /* Written by Richard Stallman by simplifying the original so called 27 ``semantic'' parser. */ 38 28 39 29 /* All symbols defined below should begin with yy or YY, to avoid … … 46 36 /* Identify Bison output. */ 47 37 #define YYBISON 1 48 49 /* Bison version. */50 #define YYBISON_VERSION "2.3"51 38 52 39 /* Skeleton name. */ … … 193 180 }; 194 181 #endif 195 /* Tokens. */196 182 #define DOTDOT 258 197 183 #define EQUAL_EQUAL 259 … … 508 494 #endif 509 495 510 /* Enabling the token table. */ 511 #ifndef YYTOKEN_TABLE 512 # define YYTOKEN_TABLE 0 513 #endif 514 515 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 496 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 516 497 typedef int YYSTYPE; 517 498 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ … … 525 506 526 507 527 /* Line 216 of yacc.c. */ 528 #line 529 "grammar.cc" 529 530 #ifdef short 531 # undef short 532 #endif 533 534 #ifdef YYTYPE_UINT8 535 typedef YYTYPE_UINT8 yytype_uint8; 536 #else 537 typedef unsigned char yytype_uint8; 538 #endif 539 540 #ifdef YYTYPE_INT8 541 typedef YYTYPE_INT8 yytype_int8; 542 #elif (defined __STDC__ || defined __C99__FUNC__ \ 543 || defined __cplusplus || defined _MSC_VER) 544 typedef signed char yytype_int8; 545 #else 546 typedef short int yytype_int8; 547 #endif 548 549 #ifdef YYTYPE_UINT16 550 typedef YYTYPE_UINT16 yytype_uint16; 551 #else 552 typedef unsigned short int yytype_uint16; 553 #endif 554 555 #ifdef YYTYPE_INT16 556 typedef YYTYPE_INT16 yytype_int16; 557 #else 558 typedef short int yytype_int16; 559 #endif 560 561 #ifndef YYSIZE_T 562 # ifdef __SIZE_TYPE__ 563 # define YYSIZE_T __SIZE_TYPE__ 564 # elif defined size_t 565 # define YYSIZE_T size_t 566 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 567 || defined __cplusplus || defined _MSC_VER) 568 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 569 # define YYSIZE_T size_t 570 # else 571 # define YYSIZE_T unsigned int 508 /* Line 214 of yacc.c. */ 509 #line 510 "grammar.cc" 510 511 #if ! defined (yyoverflow) || YYERROR_VERBOSE 512 513 # ifndef YYFREE 514 # define YYFREE free 572 515 # endif 573 #endif 574 575 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 576 577 #ifndef YY_ 578 # if YYENABLE_NLS 579 # if ENABLE_NLS 580 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 581 # define YY_(msgid) dgettext ("bison-runtime", msgid) 582 # endif 516 # ifndef YYMALLOC 517 # define YYMALLOC malloc 583 518 # endif 584 # ifndef YY_585 # define YY_(msgid) msgid586 # endif587 #endif588 589 /* Suppress unused-variable warnings by "using" E. */590 #if ! defined lint || defined __GNUC__591 # define YYUSE(e) ((void) (e))592 #else593 # define YYUSE(e) /* empty */594 #endif595 596 /* Identity function, used to suppress warnings about constant conditions. */597 #ifndef lint598 # define YYID(n) (n)599 #else600 #if (defined __STDC__ || defined __C99__FUNC__ \601 || defined __cplusplus || defined _MSC_VER)602 static int603 YYID (int i)604 #else605 static int606 YYID (i)607 int i;608 #endif609 {610 return i;611 }612 #endif613 614 #if ! defined yyoverflow || YYERROR_VERBOSE615 519 616 520 /* The parser invokes alloca or malloc; define the necessary symbols. */ … … 618 522 # ifdef YYSTACK_USE_ALLOCA 619 523 # if YYSTACK_USE_ALLOCA 524 # define YYSTACK_ALLOC alloca 525 # endif 526 # else 527 # if defined (alloca) || defined (_ALLOCA_H) 528 # define YYSTACK_ALLOC alloca 529 # else 620 530 # ifdef __GNUC__ 621 531 # define YYSTACK_ALLOC __builtin_alloca 622 # elif defined __BUILTIN_VA_ARG_INCR623 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */624 # elif defined _AIX625 # define YYSTACK_ALLOC __alloca626 # elif defined _MSC_VER627 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */628 # define alloca _alloca629 # else630 # define YYSTACK_ALLOC alloca631 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \632 || defined __cplusplus || defined _MSC_VER)633 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */634 # ifndef _STDLIB_H635 # define _STDLIB_H 1636 # endif637 # endif638 532 # endif 639 533 # endif … … 641 535 642 536 # ifdef YYSTACK_ALLOC 643 /* Pacify GCC's `empty if-body' warning. */ 644 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 645 # ifndef YYSTACK_ALLOC_MAXIMUM 646 /* The OS might guarantee only one guard page at the bottom of the stack, 647 and a page size can be as small as 4096 bytes. So we cannot safely 648 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 649 to allow for a few compiler-allocated temporary stack slots. */ 650 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 537 /* Pacify GCC's `empty if-body' warning. */ 538 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 539 # else 540 # if defined (__STDC__) || defined (__cplusplus) 541 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 542 # define YYSIZE_T size_t 651 543 # endif 652 # else653 544 # define YYSTACK_ALLOC YYMALLOC 654 545 # define YYSTACK_FREE YYFREE 655 # ifndef YYSTACK_ALLOC_MAXIMUM656 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM657 # endif658 # if (defined __cplusplus && ! defined _STDLIB_H \659 && ! ((defined YYMALLOC || defined malloc) \660 && (defined YYFREE || defined free)))661 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */662 # ifndef _STDLIB_H663 # define _STDLIB_H 1664 # endif665 # endif666 # ifndef YYMALLOC667 # define YYMALLOC malloc668 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \669 || defined __cplusplus || defined _MSC_VER)670 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */671 # endif672 # endif673 # ifndef YYFREE674 # define YYFREE free675 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \676 || defined __cplusplus || defined _MSC_VER)677 void free (void *); /* INFRINGES ON USER NAME SPACE */678 # endif679 # endif680 546 # endif 681 #endif /* ! defined yyoverflow|| YYERROR_VERBOSE */682 683 684 #if (! defined yyoverflow\685 && (! defined __cplusplus\686 || (defined YYSTYPE_IS_TRIVIAL&& YYSTYPE_IS_TRIVIAL)))547 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ 548 549 550 #if (! defined (yyoverflow) \ 551 && (! defined (__cplusplus) \ 552 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) 687 553 688 554 /* A type that is properly aligned for any stack member. */ 689 555 union yyalloc 690 556 { 691 yytype_int16yyss;557 short int yyss; 692 558 YYSTYPE yyvs; 693 559 }; … … 699 565 N elements. */ 700 566 # define YYSTACK_BYTES(N) \ 701 ((N) * (sizeof ( yytype_int16) + sizeof (YYSTYPE))\567 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ 702 568 + YYSTACK_GAP_MAXIMUM) 703 569 … … 705 571 not overlap. */ 706 572 # ifndef YYCOPY 707 # if defined __GNUC__&& 1 < __GNUC__573 # if defined (__GNUC__) && 1 < __GNUC__ 708 574 # define YYCOPY(To, From, Count) \ 709 575 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) … … 712 578 do \ 713 579 { \ 714 YYSIZE_T yyi;\580 register YYSIZE_T yyi; \ 715 581 for (yyi = 0; yyi < (Count); yyi++) \ 716 582 (To)[yyi] = (From)[yyi]; \ 717 583 } \ 718 while ( YYID (0))584 while (0) 719 585 # endif 720 586 # endif … … 734 600 yyptr += yynewbytes / sizeof (*yyptr); \ 735 601 } \ 736 while ( YYID (0))602 while (0) 737 603 738 604 #endif 739 605 740 /* YYFINAL -- State number of the termination state. */ 606 #if defined (__STDC__) || defined (__cplusplus) 607 typedef signed char yysigned_char; 608 #else 609 typedef short int yysigned_char; 610 #endif 611 612 /* YYFINAL -- State number of the termination state. */ 741 613 #define YYFINAL 2 742 614 /* YYLAST -- Last index in YYTABLE. */ 743 615 #define YYLAST 1957 744 616 745 /* YYNTOKENS -- Number of terminals. 617 /* YYNTOKENS -- Number of terminals. */ 746 618 #define YYNTOKENS 145 747 /* YYNNTS -- Number of nonterminals. 619 /* YYNNTS -- Number of nonterminals. */ 748 620 #define YYNNTS 44 749 /* YYNRULES -- Number of rules. 621 /* YYNRULES -- Number of rules. */ 750 622 #define YYNRULES 169 751 /* YYNRULES -- Number of states. 623 /* YYNRULES -- Number of states. */ 752 624 #define YYNSTATES 375 753 625 … … 756 628 #define YYMAXUTOK 381 757 629 758 #define YYTRANSLATE(YYX) \630 #define YYTRANSLATE(YYX) \ 759 631 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 760 632 761 633 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 762 static const yytype_uint8yytranslate[] =634 static const unsigned char yytranslate[] = 763 635 { 764 636 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 806 678 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 807 679 YYRHS. */ 808 static const yytype_uint16yyprhs[] =680 static const unsigned short int yyprhs[] = 809 681 { 810 682 0, 0, 3, 4, 7, 9, 12, 15, 17, 19, … … 827 699 }; 828 700 829 /* YYRHS -- A `-1'-separated list of the rules' RHS. 830 static const yytype_int16yyrhs[] =701 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 702 static const short int yyrhs[] = 831 703 { 832 704 146, 0, -1, -1, 146, 147, -1, 148, -1, 150, … … 901 773 902 774 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 903 static const yytype_uint16yyrline[] =775 static const unsigned short int yyrline[] = 904 776 { 905 777 0, 357, 357, 359, 393, 394, 396, 398, 402, 407, … … 918 790 1175, 1179, 1184, 1188, 1192, 1196, 1200, 1204, 1209, 1215, 919 791 1221, 1227, 1233, 1239, 1245, 1251, 1263, 1270, 1274, 1312, 920 1322, 1335, 1335, 1338, 1410, 141 6, 1445, 1458, 1475, 1484,921 14 89, 1497, 1509, 1528, 1539, 1559, 1583, 1589, 1601, 1608792 1322, 1335, 1335, 1338, 1410, 1419, 1448, 1461, 1478, 1487, 793 1492, 1500, 1512, 1531, 1542, 1562, 1586, 1592, 1604, 1611 922 794 }; 923 795 #endif 924 796 925 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE926 /* YYTN AME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.927 First, the terminals, then, starting at YYNTOKENS, nonterminals. 797 #if YYDEBUG || YYERROR_VERBOSE 798 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 799 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 928 800 static const char *const yytname[] = 929 801 { … … 968 840 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 969 841 token YYLEX-NUM. */ 970 static const yytype_uint16yytoknum[] =842 static const unsigned short int yytoknum[] = 971 843 { 972 844 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, … … 989 861 990 862 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 991 static const yytype_uint8yyr1[] =863 static const unsigned char yyr1[] = 992 864 { 993 865 0, 145, 146, 146, 147, 147, 147, 147, 147, 147, … … 1011 883 1012 884 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 1013 static const yytype_uint8yyr2[] =885 static const unsigned char yyr2[] = 1014 886 { 1015 887 0, 2, 0, 2, 1, 2, 2, 1, 1, 1, … … 1035 907 STATE-NUM when YYTABLE doesn't specify something else to do. Zero 1036 908 means the default is an error. */ 1037 static const yytype_uint8yydefact[] =909 static const unsigned char yydefact[] = 1038 910 { 1039 911 2, 0, 1, 0, 0, 0, 0, 147, 98, 0, … … 1077 949 }; 1078 950 1079 /* YYDEFGOTO[NTERM-NUM]. 1080 static const yytype_int16yydefgoto[] =951 /* YYDEFGOTO[NTERM-NUM]. */ 952 static const short int yydefgoto[] = 1081 953 { 1082 954 -1, 1, 53, 54, 55, 56, 57, 58, 142, 60, … … 1090 962 STATE-NUM. */ 1091 963 #define YYPACT_NINF -327 1092 static const yytype_int16yypact[] =964 static const short int yypact[] = 1093 965 { 1094 966 -327, 283, -327, -79, 1263, 957, 1010, -126, -327, 1747, … … 1133 1005 1134 1006 /* YYPGOTO[NTERM-NUM]. */ 1135 static const yytype_int16yypgoto[] =1007 static const short int yypgoto[] = 1136 1008 { 1137 1009 -327, -327, -327, -327, -327, -327, -327, 72, -1, 18, … … 1147 1019 If YYTABLE_NINF, syntax error. */ 1148 1020 #define YYTABLE_NINF -1 1149 static const yytype_int16yytable[] =1021 static const short int yytable[] = 1150 1022 { 1151 1023 59, 119, 120, 303, 304, 305, 345, 8, 65, 306, … … 1347 1219 }; 1348 1220 1349 static const yytype_int16yycheck[] =1221 static const short int yycheck[] = 1350 1222 { 1351 1223 1, 108, 109, 13, 14, 15, 111, 17, 1, 19, … … 1549 1421 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1550 1422 symbol of state STATE-NUM. */ 1551 static const yytype_uint8yystos[] =1423 static const unsigned char yystos[] = 1552 1424 { 1553 1425 0, 146, 0, 1, 8, 13, 14, 15, 17, 19, … … 1591 1463 }; 1592 1464 1465 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) 1466 # define YYSIZE_T __SIZE_TYPE__ 1467 #endif 1468 #if ! defined (YYSIZE_T) && defined (size_t) 1469 # define YYSIZE_T size_t 1470 #endif 1471 #if ! defined (YYSIZE_T) 1472 # if defined (__STDC__) || defined (__cplusplus) 1473 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 1474 # define YYSIZE_T size_t 1475 # endif 1476 #endif 1477 #if ! defined (YYSIZE_T) 1478 # define YYSIZE_T unsigned int 1479 #endif 1480 1593 1481 #define yyerrok (yyerrstatus = 0) 1594 1482 #define yyclearin (yychar = YYEMPTY) … … 1616 1504 yylval = (Value); \ 1617 1505 yytoken = YYTRANSLATE (yychar); \ 1618 YYPOPSTACK (1); \1506 YYPOPSTACK; \ 1619 1507 goto yybackup; \ 1620 1508 } \ 1621 1509 else \ 1622 { \1623 yyerror ( YY_("syntax error: cannot back up"));\1510 { \ 1511 yyerror ("syntax error: cannot back up");\ 1624 1512 YYERROR; \ 1625 1513 } \ 1626 while (YYID (0)) 1627 1514 while (0) 1628 1515 1629 1516 #define YYTERROR 1 1630 1517 #define YYERRCODE 256 1631 1518 1632 1633 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1634 If N is 0, then set CURRENT to the empty location which ends 1635 the previous symbol: RHS[0] (always defined). */ 1636 1637 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1519 /* YYLLOC_DEFAULT -- Compute the default location (before the actions 1520 are run). */ 1521 1638 1522 #ifndef YYLLOC_DEFAULT 1639 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 1640 do \ 1641 if (YYID (N)) \ 1642 { \ 1643 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1644 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1645 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1646 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1647 } \ 1648 else \ 1649 { \ 1650 (Current).first_line = (Current).last_line = \ 1651 YYRHSLOC (Rhs, 0).last_line; \ 1652 (Current).first_column = (Current).last_column = \ 1653 YYRHSLOC (Rhs, 0).last_column; \ 1654 } \ 1655 while (YYID (0)) 1523 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 1524 ((Current).first_line = (Rhs)[1].first_line, \ 1525 (Current).first_column = (Rhs)[1].first_column, \ 1526 (Current).last_line = (Rhs)[N].last_line, \ 1527 (Current).last_column = (Rhs)[N].last_column) 1656 1528 #endif 1657 1658 1659 /* YY_LOCATION_PRINT -- Print the location on the stream.1660 This macro was not mandated originally: define only if we know1661 we won't break user code: when these are the locations we know. */1662 1663 #ifndef YY_LOCATION_PRINT1664 # if YYLTYPE_IS_TRIVIAL1665 # define YY_LOCATION_PRINT(File, Loc) \1666 fprintf (File, "%d.%d-%d.%d", \1667 (Loc).first_line, (Loc).first_column, \1668 (Loc).last_line, (Loc).last_column)1669 # else1670 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)1671 # endif1672 #endif1673 1674 1529 1675 1530 /* YYLEX -- calling `yylex' with the right arguments. */ … … 1693 1548 if (yydebug) \ 1694 1549 YYFPRINTF Args; \ 1695 } while (YYID (0)) 1696 1697 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1698 do { \ 1699 if (yydebug) \ 1700 { \ 1701 YYFPRINTF (stderr, "%s ", Title); \ 1702 yy_symbol_print (stderr, \ 1703 Type, Value); \ 1704 YYFPRINTF (stderr, "\n"); \ 1705 } \ 1706 } while (YYID (0)) 1707 1708 1709 /*--------------------------------. 1710 | Print this symbol on YYOUTPUT. | 1711 `--------------------------------*/ 1712 1713 /*ARGSUSED*/ 1714 #if (defined __STDC__ || defined __C99__FUNC__ \ 1715 || defined __cplusplus || defined _MSC_VER) 1716 static void 1717 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1718 #else 1719 static void 1720 yy_symbol_value_print (yyoutput, yytype, yyvaluep) 1721 FILE *yyoutput; 1722 int yytype; 1723 YYSTYPE const * const yyvaluep; 1724 #endif 1725 { 1726 if (!yyvaluep) 1727 return; 1728 # ifdef YYPRINT 1729 if (yytype < YYNTOKENS) 1730 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1731 # else 1732 YYUSE (yyoutput); 1733 # endif 1734 switch (yytype) 1735 { 1736 default: 1737 break; 1738 } 1739 } 1740 1741 1742 /*--------------------------------. 1743 | Print this symbol on YYOUTPUT. | 1744 `--------------------------------*/ 1745 1746 #if (defined __STDC__ || defined __C99__FUNC__ \ 1747 || defined __cplusplus || defined _MSC_VER) 1748 static void 1749 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1750 #else 1751 static void 1752 yy_symbol_print (yyoutput, yytype, yyvaluep) 1753 FILE *yyoutput; 1754 int yytype; 1755 YYSTYPE const * const yyvaluep; 1756 #endif 1757 { 1758 if (yytype < YYNTOKENS) 1759 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1760 else 1761 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1762 1763 yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1764 YYFPRINTF (yyoutput, ")"); 1765 } 1550 } while (0) 1551 1552 # define YYDSYMPRINT(Args) \ 1553 do { \ 1554 if (yydebug) \ 1555 yysymprint Args; \ 1556 } while (0) 1557 1558 # define YYDSYMPRINTF(Title, Token, Value, Location) \ 1559 do { \ 1560 if (yydebug) \ 1561 { \ 1562 YYFPRINTF (stderr, "%s ", Title); \ 1563 yysymprint (stderr, \ 1564 Token, Value); \ 1565 YYFPRINTF (stderr, "\n"); \ 1566 } \ 1567 } while (0) 1766 1568 1767 1569 /*------------------------------------------------------------------. … … 1770 1572 `------------------------------------------------------------------*/ 1771 1573 1772 #if (defined __STDC__ || defined __C99__FUNC__ \ 1773 || defined __cplusplus || defined _MSC_VER) 1574 #if defined (__STDC__) || defined (__cplusplus) 1774 1575 static void 1775 yy_stack_print ( yytype_int16 *bottom, yytype_int16*top)1576 yy_stack_print (short int *bottom, short int *top) 1776 1577 #else 1777 1578 static void 1778 1579 yy_stack_print (bottom, top) 1779 yytype_int16*bottom;1780 yytype_int16*top;1580 short int *bottom; 1581 short int *top; 1781 1582 #endif 1782 1583 { 1783 1584 YYFPRINTF (stderr, "Stack now"); 1784 for ( ; bottom <= top; ++bottom)1585 for (/* Nothing. */; bottom <= top; ++bottom) 1785 1586 YYFPRINTF (stderr, " %d", *bottom); 1786 1587 YYFPRINTF (stderr, "\n"); … … 1791 1592 if (yydebug) \ 1792 1593 yy_stack_print ((Bottom), (Top)); \ 1793 } while ( YYID (0))1594 } while (0) 1794 1595 1795 1596 … … 1798 1599 `------------------------------------------------*/ 1799 1600 1800 #if (defined __STDC__ || defined __C99__FUNC__ \ 1801 || defined __cplusplus || defined _MSC_VER) 1601 #if defined (__STDC__) || defined (__cplusplus) 1802 1602 static void 1803 yy_reduce_print ( YYSTYPE *yyvsp,int yyrule)1603 yy_reduce_print (int yyrule) 1804 1604 #else 1805 1605 static void 1806 yy_reduce_print (yyvsp, yyrule) 1807 YYSTYPE *yyvsp; 1606 yy_reduce_print (yyrule) 1808 1607 int yyrule; 1809 1608 #endif 1810 1609 { 1811 int yynrhs = yyr2[yyrule];1812 1610 int yyi; 1813 unsigned long int yylno = yyrline[yyrule]; 1814 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1815 yyrule - 1, yylno); 1816 /* The symbols being reduced. */ 1817 for (yyi = 0; yyi < yynrhs; yyi++) 1818 { 1819 fprintf (stderr, " $%d = ", yyi + 1); 1820 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1821 &(yyvsp[(yyi + 1) - (yynrhs)]) 1822 ); 1823 fprintf (stderr, "\n"); 1824 } 1611 unsigned int yylno = yyrline[yyrule]; 1612 YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", 1613 yyrule - 1, yylno); 1614 /* Print the symbols being reduced, and their result. */ 1615 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) 1616 YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); 1617 YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); 1825 1618 } 1826 1619 … … 1828 1621 do { \ 1829 1622 if (yydebug) \ 1830 yy_reduce_print ( yyvsp, Rule);\1831 } while ( YYID (0))1623 yy_reduce_print (Rule); \ 1624 } while (0) 1832 1625 1833 1626 /* Nonzero means print parse trace. It is left uninitialized so that … … 1836 1629 #else /* !YYDEBUG */ 1837 1630 # define YYDPRINTF(Args) 1838 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1631 # define YYDSYMPRINT(Args) 1632 # define YYDSYMPRINTF(Title, Token, Value, Location) 1839 1633 # define YY_STACK_PRINT(Bottom, Top) 1840 1634 # define YY_REDUCE_PRINT(Rule) … … 1851 1645 1852 1646 Do not make this value too large; the results are undefined if 1853 YYSTACK_ALLOC_MAXIMUM< YYSTACK_BYTES (YYMAXDEPTH)1647 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) 1854 1648 evaluated with infinite-precision integer arithmetic. */ 1649 1650 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 1651 # undef YYMAXDEPTH 1652 #endif 1855 1653 1856 1654 #ifndef YYMAXDEPTH … … 1864 1662 1865 1663 # ifndef yystrlen 1866 # if defined __GLIBC__ && defined _STRING_H1664 # if defined (__GLIBC__) && defined (_STRING_H) 1867 1665 # define yystrlen strlen 1868 1666 # else 1869 1667 /* Return the length of YYSTR. */ 1870 #if (defined __STDC__ || defined __C99__FUNC__ \1871 || defined __cplusplus || defined _MSC_VER)1872 1668 static YYSIZE_T 1669 # if defined (__STDC__) || defined (__cplusplus) 1873 1670 yystrlen (const char *yystr) 1874 #else 1875 static YYSIZE_T 1671 # else 1876 1672 yystrlen (yystr) 1877 const char *yystr;1878 # endif1673 const char *yystr; 1674 # endif 1879 1675 { 1880 YYSIZE_T yylen; 1881 for (yylen = 0; yystr[yylen]; yylen++) 1676 register const char *yys = yystr; 1677 1678 while (*yys++ != '\0') 1882 1679 continue; 1883 return yylen; 1680 1681 return yys - yystr - 1; 1884 1682 } 1885 1683 # endif … … 1887 1685 1888 1686 # ifndef yystpcpy 1889 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE1687 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) 1890 1688 # define yystpcpy stpcpy 1891 1689 # else 1892 1690 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1893 1691 YYDEST. */ 1894 #if (defined __STDC__ || defined __C99__FUNC__ \1895 || defined __cplusplus || defined _MSC_VER)1896 1692 static char * 1693 # if defined (__STDC__) || defined (__cplusplus) 1897 1694 yystpcpy (char *yydest, const char *yysrc) 1898 #else 1899 static char * 1695 # else 1900 1696 yystpcpy (yydest, yysrc) 1901 char *yydest;1902 const char *yysrc;1903 # endif1697 char *yydest; 1698 const char *yysrc; 1699 # endif 1904 1700 { 1905 char *yyd = yydest;1906 const char *yys = yysrc;1701 register char *yyd = yydest; 1702 register const char *yys = yysrc; 1907 1703 1908 1704 while ((*yyd++ = *yys++) != '\0') … … 1914 1710 # endif 1915 1711 1916 # ifndef yytnamerr 1917 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1918 quotes and backslashes, so that it's suitable for yyerror. The 1919 heuristic is that double-quoting is unnecessary unless the string 1920 contains an apostrophe, a comma, or backslash (other than 1921 backslash-backslash). YYSTR is taken from yytname. If YYRES is 1922 null, do not copy; instead, return the length of what the result 1923 would have been. */ 1924 static YYSIZE_T 1925 yytnamerr (char *yyres, const char *yystr) 1926 { 1927 if (*yystr == '"') 1928 { 1929 YYSIZE_T yyn = 0; 1930 char const *yyp = yystr; 1931 1932 for (;;) 1933 switch (*++yyp) 1934 { 1935 case '\'': 1936 case ',': 1937 goto do_not_strip_quotes; 1938 1939 case '\\': 1940 if (*++yyp != '\\') 1941 goto do_not_strip_quotes; 1942 /* Fall through. */ 1943 default: 1944 if (yyres) 1945 yyres[yyn] = *yyp; 1946 yyn++; 1947 break; 1948 1949 case '"': 1950 if (yyres) 1951 yyres[yyn] = '\0'; 1952 return yyn; 1953 } 1954 do_not_strip_quotes: ; 1955 } 1956 1957 if (! yyres) 1958 return yystrlen (yystr); 1959 1960 return yystpcpy (yyres, yystr) - yyres; 1961 } 1962 # endif 1963 1964 /* Copy into YYRESULT an error message about the unexpected token 1965 YYCHAR while in state YYSTATE. Return the number of bytes copied, 1966 including the terminating null byte. If YYRESULT is null, do not 1967 copy anything; just return the number of bytes that would be 1968 copied. As a special case, return 0 if an ordinary "syntax error" 1969 message will do. Return YYSIZE_MAXIMUM if overflow occurs during 1970 size calculation. */ 1971 static YYSIZE_T 1972 yysyntax_error (char *yyresult, int yystate, int yychar) 1973 { 1974 int yyn = yypact[yystate]; 1975 1976 if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 1977 return 0; 1978 else 1979 { 1980 int yytype = YYTRANSLATE (yychar); 1981 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 1982 YYSIZE_T yysize = yysize0; 1983 YYSIZE_T yysize1; 1984 int yysize_overflow = 0; 1985 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1986 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1987 int yyx; 1988 1989 # if 0 1990 /* This is so xgettext sees the translatable formats that are 1991 constructed on the fly. */ 1992 YY_("syntax error, unexpected %s"); 1993 YY_("syntax error, unexpected %s, expecting %s"); 1994 YY_("syntax error, unexpected %s, expecting %s or %s"); 1995 YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 1996 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 1997 # endif 1998 char *yyfmt; 1999 char const *yyf; 2000 static char const yyunexpected[] = "syntax error, unexpected %s"; 2001 static char const yyexpecting[] = ", expecting %s"; 2002 static char const yyor[] = " or %s"; 2003 char yyformat[sizeof yyunexpected 2004 + sizeof yyexpecting - 1 2005 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 2006 * (sizeof yyor - 1))]; 2007 char const *yyprefix = yyexpecting; 2008 2009 /* Start YYX at -YYN if negative to avoid negative indexes in 2010 YYCHECK. */ 2011 int yyxbegin = yyn < 0 ? -yyn : 0; 2012 2013 /* Stay within bounds of both yycheck and yytname. */ 2014 int yychecklim = YYLAST - yyn + 1; 2015 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 2016 int yycount = 1; 2017 2018 yyarg[0] = yytname[yytype]; 2019 yyfmt = yystpcpy (yyformat, yyunexpected); 2020 2021 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 2022 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 2023 { 2024 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 2025 { 2026 yycount = 1; 2027 yysize = yysize0; 2028 yyformat[sizeof yyunexpected - 1] = '\0'; 2029 break; 2030 } 2031 yyarg[yycount++] = yytname[yyx]; 2032 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 2033 yysize_overflow |= (yysize1 < yysize); 2034 yysize = yysize1; 2035 yyfmt = yystpcpy (yyfmt, yyprefix); 2036 yyprefix = yyor; 2037 } 2038 2039 yyf = YY_(yyformat); 2040 yysize1 = yysize + yystrlen (yyf); 2041 yysize_overflow |= (yysize1 < yysize); 2042 yysize = yysize1; 2043 2044 if (yysize_overflow) 2045 return YYSIZE_MAXIMUM; 2046 2047 if (yyresult) 2048 { 2049 /* Avoid sprintf, as that infringes on the user's name space. 2050 Don't have undefined behavior even if the translation 2051 produced a string with the wrong number of "%s"s. */ 2052 char *yyp = yyresult; 2053 int yyi = 0; 2054 while ((*yyp = *yyf) != '\0') 2055 { 2056 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 2057 { 2058 yyp += yytnamerr (yyp, yyarg[yyi++]); 2059 yyf += 2; 2060 } 2061 else 2062 { 2063 yyp++; 2064 yyf++; 2065 } 2066 } 2067 } 2068 return yysize; 2069 } 2070 } 2071 #endif /* YYERROR_VERBOSE */ 2072 2073 2074 2075 /*-----------------------------------------------. 2076 | Release the memory associated to this symbol. | 2077 `-----------------------------------------------*/ 2078 2079 /*ARGSUSED*/ 2080 #if (defined __STDC__ || defined __C99__FUNC__ \ 2081 || defined __cplusplus || defined _MSC_VER) 1712 #endif /* !YYERROR_VERBOSE */ 1713 1714 1715 1716 1717 #if YYDEBUG 1718 /*--------------------------------. 1719 | Print this symbol on YYOUTPUT. | 1720 `--------------------------------*/ 1721 1722 #if defined (__STDC__) || defined (__cplusplus) 2082 1723 static void 2083 yy destruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)1724 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) 2084 1725 #else 2085 1726 static void 2086 yy destruct (yymsg, yytype, yyvaluep)2087 const char *yymsg;1727 yysymprint (yyoutput, yytype, yyvaluep) 1728 FILE *yyoutput; 2088 1729 int yytype; 2089 1730 YYSTYPE *yyvaluep; 2090 1731 #endif 2091 1732 { 2092 YYUSE (yyvaluep); 2093 2094 if (!yymsg) 2095 yymsg = "Deleting"; 2096 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1733 /* Pacify ``unused variable'' warnings. */ 1734 (void) yyvaluep; 1735 1736 if (yytype < YYNTOKENS) 1737 { 1738 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1739 # ifdef YYPRINT 1740 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1741 # endif 1742 } 1743 else 1744 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 2097 1745 2098 1746 switch (yytype) 2099 1747 { 2100 2101 1748 default: 2102 break; 1749 break; 1750 } 1751 YYFPRINTF (yyoutput, ")"); 1752 } 1753 1754 #endif /* ! YYDEBUG */ 1755 /*-----------------------------------------------. 1756 | Release the memory associated to this symbol. | 1757 `-----------------------------------------------*/ 1758 1759 #if defined (__STDC__) || defined (__cplusplus) 1760 static void 1761 yydestruct (int yytype, YYSTYPE *yyvaluep) 1762 #else 1763 static void 1764 yydestruct (yytype, yyvaluep) 1765 int yytype; 1766 YYSTYPE *yyvaluep; 1767 #endif 1768 { 1769 /* Pacify ``unused variable'' warnings. */ 1770 (void) yyvaluep; 1771 1772 switch (yytype) 1773 { 1774 1775 default: 1776 break; 2103 1777 } 2104 1778 } … … 2109 1783 2110 1784 #ifdef YYPARSE_PARAM 2111 # if defined __STDC__ || defined __cplusplus1785 # if defined (__STDC__) || defined (__cplusplus) 2112 1786 int yyparse (void *YYPARSE_PARAM); 2113 # else1787 # else 2114 1788 int yyparse (); 2115 # endif1789 # endif 2116 1790 #else /* ! YYPARSE_PARAM */ 2117 #if defined __STDC__ || defined __cplusplus1791 #if defined (__STDC__) || defined (__cplusplus) 2118 1792 int yyparse (void); 2119 1793 #else … … 2132 1806 2133 1807 #ifdef YYPARSE_PARAM 2134 #if (defined __STDC__ || defined __C99__FUNC__ \ 2135 || defined __cplusplus || defined _MSC_VER) 2136 int 2137 yyparse (void *YYPARSE_PARAM) 2138 #else 2139 int 2140 yyparse (YYPARSE_PARAM) 2141 void *YYPARSE_PARAM; 2142 #endif 1808 # if defined (__STDC__) || defined (__cplusplus) 1809 int yyparse (void *YYPARSE_PARAM) 1810 # else 1811 int yyparse (YYPARSE_PARAM) 1812 void *YYPARSE_PARAM; 1813 # endif 2143 1814 #else /* ! YYPARSE_PARAM */ 2144 #if (defined __STDC__ || defined __C99__FUNC__ \ 2145 || defined __cplusplus || defined _MSC_VER) 1815 #if defined (__STDC__) || defined (__cplusplus) 2146 1816 int 2147 1817 yyparse (void) … … 2153 1823 #endif 2154 1824 { 2155 /* The look -ahead symbol. */1825 /* The lookahead symbol. */ 2156 1826 int yychar; 2157 1827 2158 /* The semantic value of the look -ahead symbol. */1828 /* The semantic value of the lookahead symbol. */ 2159 1829 YYSTYPE yylval; 2160 1830 … … 2162 1832 int yynerrs; 2163 1833 2164 int yystate;2165 int yyn;1834 register int yystate; 1835 register int yyn; 2166 1836 int yyresult; 2167 1837 /* Number of tokens to shift before error messages enabled. */ 2168 1838 int yyerrstatus; 2169 /* Look -ahead token as an internal (translated) token number. */1839 /* Lookahead token as an internal (translated) token number. */ 2170 1840 int yytoken = 0; 2171 #if YYERROR_VERBOSE2172 /* Buffer for error messages, and its allocated size. */2173 char yymsgbuf[128];2174 char *yymsg = yymsgbuf;2175 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;2176 #endif2177 1841 2178 1842 /* Three stacks and their tools: … … 2185 1849 2186 1850 /* The state stack. */ 2187 yytype_int16yyssa[YYINITDEPTH];2188 yytype_int16*yyss = yyssa;2189 yytype_int16*yyssp;1851 short int yyssa[YYINITDEPTH]; 1852 short int *yyss = yyssa; 1853 register short int *yyssp; 2190 1854 2191 1855 /* The semantic value stack. */ 2192 1856 YYSTYPE yyvsa[YYINITDEPTH]; 2193 1857 YYSTYPE *yyvs = yyvsa; 2194 YYSTYPE *yyvsp;2195 2196 2197 2198 #define YYPOPSTACK (N) (yyvsp -= (N), yyssp -= (N))1858 register YYSTYPE *yyvsp; 1859 1860 1861 1862 #define YYPOPSTACK (yyvsp--, yyssp--) 2199 1863 2200 1864 YYSIZE_T yystacksize = YYINITDEPTH; … … 2205 1869 2206 1870 2207 /* The number of symbols on the RHS of the reduced rule.2208 Keep to zero when no symbol should be popped. */2209 int yylen = 0;1871 /* When reducing, the number of symbols on the RHS of the reduced 1872 rule. */ 1873 int yylen; 2210 1874 2211 1875 YYDPRINTF ((stderr, "Starting parse\n")); … … 2223 1887 yyssp = yyss; 2224 1888 yyvsp = yyvs; 1889 2225 1890 2226 1891 goto yysetstate; … … 2231 1896 yynewstate: 2232 1897 /* In all cases, when you get here, the value and location stacks 2233 have just been pushed. So pushing a state here evens the stacks. */ 1898 have just been pushed. so pushing a state here evens the stacks. 1899 */ 2234 1900 yyssp++; 2235 1901 … … 2244 1910 #ifdef yyoverflow 2245 1911 { 2246 /* Give user a chance to reallocate the stack. 1912 /* Give user a chance to reallocate the stack. Use copies of 2247 1913 these so that the &'s don't force the real ones into 2248 1914 memory. */ 2249 1915 YYSTYPE *yyvs1 = yyvs; 2250 yytype_int16*yyss1 = yyss;1916 short int *yyss1 = yyss; 2251 1917 2252 1918 … … 2255 1921 conditional around just the two extra args, but that might 2256 1922 be undefined if yyoverflow is a macro. */ 2257 yyoverflow ( YY_("memory exhausted"),1923 yyoverflow ("parser stack overflow", 2258 1924 &yyss1, yysize * sizeof (*yyssp), 2259 1925 &yyvs1, yysize * sizeof (*yyvsp), … … 2266 1932 #else /* no yyoverflow */ 2267 1933 # ifndef YYSTACK_RELOCATE 2268 goto yy exhaustedlab;1934 goto yyoverflowlab; 2269 1935 # else 2270 1936 /* Extend the stack our own way. */ 2271 1937 if (YYMAXDEPTH <= yystacksize) 2272 goto yy exhaustedlab;1938 goto yyoverflowlab; 2273 1939 yystacksize *= 2; 2274 1940 if (YYMAXDEPTH < yystacksize) … … 2276 1942 2277 1943 { 2278 yytype_int16*yyss1 = yyss;1944 short int *yyss1 = yyss; 2279 1945 union yyalloc *yyptr = 2280 1946 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 2281 1947 if (! yyptr) 2282 goto yy exhaustedlab;1948 goto yyoverflowlab; 2283 1949 YYSTACK_RELOCATE (yyss); 2284 1950 YYSTACK_RELOCATE (yyvs); … … 2311 1977 yybackup: 2312 1978 2313 /* Do appropriate processing given the current state. Read a 2314 look-ahead token if we need one and don't already have one. */ 2315 2316 /* First try to decide what to do without reference to look-ahead token. */ 1979 /* Do appropriate processing given the current state. */ 1980 /* Read a lookahead token if we need one and don't already have one. */ 1981 /* yyresume: */ 1982 1983 /* First try to decide what to do without reference to lookahead token. */ 1984 2317 1985 yyn = yypact[yystate]; 2318 1986 if (yyn == YYPACT_NINF) 2319 1987 goto yydefault; 2320 1988 2321 /* Not known => get a look -ahead token if don't already have one. */2322 2323 /* YYCHAR is either YYEMPTY or YYEOF or a valid look -ahead symbol. */1989 /* Not known => get a lookahead token if don't already have one. */ 1990 1991 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 2324 1992 if (yychar == YYEMPTY) 2325 1993 { … … 2336 2004 { 2337 2005 yytoken = YYTRANSLATE (yychar); 2338 YY _SYMBOL_PRINT("Next token is", yytoken, &yylval, &yylloc);2006 YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); 2339 2007 } 2340 2008 … … 2356 2024 YYACCEPT; 2357 2025 2026 /* Shift the lookahead token. */ 2027 YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); 2028 2029 /* Discard the token being shifted unless it is eof. */ 2030 if (yychar != YYEOF) 2031 yychar = YYEMPTY; 2032 2033 *++yyvsp = yylval; 2034 2035 2358 2036 /* Count tokens shifted since error; after three, turn off error 2359 2037 status. */ … … 2361 2039 yyerrstatus--; 2362 2040 2363 /* Shift the look-ahead token. */2364 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);2365 2366 /* Discard the shifted token unless it is eof. */2367 if (yychar != YYEOF)2368 yychar = YYEMPTY;2369 2370 2041 yystate = yyn; 2371 *++yyvsp = yylval;2372 2373 2042 goto yynewstate; 2374 2043 … … 2446 2115 case 6: 2447 2116 #line 397 "grammar.y" 2448 { (yyvsp[(1) - (2)].lv).CleanUp(); currentVoice->ifsw=0;;}2117 { yyvsp[-1].lv.CleanUp(); currentVoice->ifsw=0;;} 2449 2118 break; 2450 2119 … … 2480 2149 { 2481 2150 /* bison failed here*/ 2482 if ((inerror!=3) && ( (yyvsp[(1) - (2)]).i<UMINUS) && ((yyvsp[(1) - (2)]).i>' '))2151 if ((inerror!=3) && (yyvsp[-1].i<UMINUS) && (yyvsp[-1].i>' ')) 2483 2152 { 2484 2153 // 1: yyerror called … … 2486 2155 // 3: error rule put token+\n 2487 2156 inerror=3; 2488 Print(" error at token `%s`\n",iiTwoOps( (yyvsp[(1) - (2)]).i));2157 Print(" error at token `%s`\n",iiTwoOps(yyvsp[-1].i)); 2489 2158 } 2490 2159 /**/ … … 2528 2197 case 19: 2529 2198 #line 471 "grammar.y" 2530 { omFree((ADDRESS) (yyvsp[(2) - (2)].name)); ;}2199 { omFree((ADDRESS)yyvsp[0].name); ;} 2531 2200 break; 2532 2201 … … 2534 2203 #line 486 "grammar.y" 2535 2204 { 2536 if(iiAssign(& (yyvsp[(1) - (2)].lv),&(yyvsp[(2) - (2)].lv))) YYERROR;2205 if(iiAssign(&yyvsp[-1].lv,&yyvsp[0].lv)) YYERROR; 2537 2206 ;} 2538 2207 break; … … 2542 2211 { 2543 2212 if (currRing==NULL) MYYERROR("no ring active"); 2544 syMake(& (yyval.lv),omStrDup((yyvsp[(1) - (1)].name)));2213 syMake(&yyval.lv,omStrDup(yyvsp[0].name)); 2545 2214 ;} 2546 2215 break; … … 2549 2218 #line 498 "grammar.y" 2550 2219 { 2551 syMake(& (yyval.lv),(yyvsp[(1) - (1)].name));2220 syMake(&yyval.lv,yyvsp[0].name); 2552 2221 ;} 2553 2222 break; … … 2556 2225 #line 502 "grammar.y" 2557 2226 { 2558 if(iiExprArith2(& (yyval.lv), &(yyvsp[(1) - (3)].lv), COLONCOLON, &(yyvsp[(3) - (3)].lv))) YYERROR;2227 if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, COLONCOLON, &yyvsp[0].lv)) YYERROR; 2559 2228 ;} 2560 2229 break; … … 2563 2232 #line 506 "grammar.y" 2564 2233 { 2565 if(iiExprArith2(& (yyval.lv), &(yyvsp[(1) - (3)].lv), '.', &(yyvsp[(3) - (3)].lv))) YYERROR;2234 if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, '.', &yyvsp[0].lv)) YYERROR; 2566 2235 ;} 2567 2236 break; … … 2570 2239 #line 510 "grammar.y" 2571 2240 { 2572 if(iiExprArith1(& (yyval.lv),&(yyvsp[(1) - (3)].lv),'(')) YYERROR;2241 if(iiExprArith1(&yyval.lv,&yyvsp[-2].lv,'(')) YYERROR; 2573 2242 ;} 2574 2243 break; … … 2577 2246 #line 514 "grammar.y" 2578 2247 { 2579 if ( (yyvsp[(1) - (4)].lv).rtyp==UNKNOWN)2248 if (yyvsp[-3].lv.rtyp==UNKNOWN) 2580 2249 { // for x(i)(j) 2581 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;2250 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'(',&yyvsp[-1].lv)) YYERROR; 2582 2251 } 2583 2252 else 2584 2253 { 2585 (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);2586 memcpy( (yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));2587 if(iiExprArithM(& (yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;2254 yyvsp[-3].lv.next=(leftv)omAllocBin(sleftv_bin); 2255 memcpy(yyvsp[-3].lv.next,&yyvsp[-1].lv,sizeof(sleftv)); 2256 if(iiExprArithM(&yyval.lv,&yyvsp[-3].lv,'(')) YYERROR; 2588 2257 } 2589 2258 ;} … … 2595 2264 if (currRingHdl==NULL) MYYERROR("no ring active"); 2596 2265 int j = 0; 2597 memset(& (yyval.lv),0,sizeof(sleftv));2598 (yyval.lv).rtyp=VECTOR_CMD;2599 leftv v = & (yyvsp[(2) - (3)].lv);2266 memset(&yyval.lv,0,sizeof(sleftv)); 2267 yyval.lv.rtyp=VECTOR_CMD; 2268 leftv v = &yyvsp[-1].lv; 2600 2269 while (v!=NULL) 2601 2270 { … … 2606 2275 if((i==0) || (iiConvert(t /*v->Typ()*/,POLY_CMD,i,v,&tmp))) 2607 2276 { 2608 pDelete((poly *)& (yyval.lv).data);2609 (yyvsp[(2) - (3)].lv).CleanUp();2277 pDelete((poly *)&yyval.lv.data); 2278 yyvsp[-1].lv.CleanUp(); 2610 2279 MYYERROR("expected '[poly,...'"); 2611 2280 } 2612 2281 poly p = (poly)tmp.CopyD(POLY_CMD); 2613 2282 pSetCompP(p,++j); 2614 (yyval.lv).data = (void *)pAdd((poly)(yyval.lv).data,p);2283 yyval.lv.data = (void *)pAdd((poly)yyval.lv.data,p); 2615 2284 v->next=tmp.next;tmp.next=NULL; 2616 2285 tmp.CleanUp(); 2617 2286 v=v->next; 2618 2287 } 2619 (yyvsp[(2) - (3)].lv).CleanUp();2288 yyvsp[-1].lv.CleanUp(); 2620 2289 ;} 2621 2290 break; … … 2624 2293 #line 555 "grammar.y" 2625 2294 { 2626 memset(& (yyval.lv),0,sizeof((yyval.lv)));2627 int i = atoi( (yyvsp[(1) - (1)].name));2295 memset(&yyval.lv,0,sizeof(yyval.lv)); 2296 int i = atoi(yyvsp[0].name); 2628 2297 /*remember not to omFree($1) 2629 2298 *because it is a part of the scanner buffer*/ 2630 (yyval.lv).rtyp = INT_CMD;2631 (yyval.lv).data = (void *)(long)i;2299 yyval.lv.rtyp = INT_CMD; 2300 yyval.lv.data = (void *)(long)i; 2632 2301 2633 2302 /* check: out of range input */ 2634 int l = strlen( (yyvsp[(1) - (1)].name))+2;2303 int l = strlen(yyvsp[0].name)+2; 2635 2304 number n; 2636 2305 if (l >= MAX_INT_LEN) … … 2638 2307 char tmp[MAX_INT_LEN+5]; 2639 2308 sprintf(tmp,"%d",i); 2640 if (strcmp(tmp, (yyvsp[(1) - (1)].name))!=0)2309 if (strcmp(tmp,yyvsp[0].name)!=0) 2641 2310 { 2642 nlRead( (yyvsp[(1) - (1)].name),&n);2643 (yyval.lv).rtyp=BIGINT_CMD;2644 (yyval.lv).data = n;2311 nlRead(yyvsp[0].name,&n); 2312 yyval.lv.rtyp=BIGINT_CMD; 2313 yyval.lv.data = n; 2645 2314 } 2646 2315 } … … 2651 2320 #line 579 "grammar.y" 2652 2321 { 2653 memset(& (yyval.lv),0,sizeof((yyval.lv)));2654 (yyval.lv).rtyp = (yyvsp[(1) - (1)].i);2655 (yyval.lv).data = (yyval.lv).Data();2322 memset(&yyval.lv,0,sizeof(yyval.lv)); 2323 yyval.lv.rtyp = yyvsp[0].i; 2324 yyval.lv.data = yyval.lv.Data(); 2656 2325 ;} 2657 2326 break; … … 2660 2329 #line 585 "grammar.y" 2661 2330 { 2662 memset(& (yyval.lv),0,sizeof((yyval.lv)));2663 (yyval.lv).rtyp = STRING_CMD;2664 (yyval.lv).data = (yyvsp[(1) - (1)].name);2331 memset(&yyval.lv,0,sizeof(yyval.lv)); 2332 yyval.lv.rtyp = STRING_CMD; 2333 yyval.lv.data = yyvsp[0].name; 2665 2334 ;} 2666 2335 break; … … 2669 2338 #line 591 "grammar.y" 2670 2339 { 2671 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2340 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2672 2341 ;} 2673 2342 break; … … 2676 2345 #line 598 "grammar.y" 2677 2346 { 2678 leftv v = & (yyvsp[(1) - (3)].lv);2347 leftv v = &yyvsp[-2].lv; 2679 2348 while (v->next!=NULL) 2680 2349 { … … 2682 2351 } 2683 2352 v->next = (leftv)omAllocBin(sleftv_bin); 2684 memcpy(v->next,&( (yyvsp[(3) - (3)].lv)),sizeof(sleftv));2685 (yyval.lv) = (yyvsp[(1) - (3)].lv);2353 memcpy(v->next,&(yyvsp[0].lv),sizeof(sleftv)); 2354 yyval.lv = yyvsp[-2].lv; 2686 2355 ;} 2687 2356 break; … … 2690 2359 #line 609 "grammar.y" 2691 2360 { 2692 (yyval.lv) = (yyvsp[(1) - (1)].lv);2361 yyval.lv = yyvsp[0].lv; 2693 2362 ;} 2694 2363 break; … … 2698 2367 { 2699 2368 /*if ($1.typ == eunknown) YYERROR;*/ 2700 (yyval.lv) = (yyvsp[(1) - (1)].lv);2369 yyval.lv = yyvsp[0].lv; 2701 2370 ;} 2702 2371 break; … … 2704 2373 case 44: 2705 2374 #line 619 "grammar.y" 2706 { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}2375 { yyval.lv = yyvsp[0].lv; ;} 2707 2376 break; 2708 2377 2709 2378 case 45: 2710 2379 #line 620 "grammar.y" 2711 { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}2380 { yyval.lv = yyvsp[-1].lv; ;} 2712 2381 break; 2713 2382 … … 2715 2384 #line 622 "grammar.y" 2716 2385 { 2717 if(iiExprArith3(& (yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;2386 if(iiExprArith3(&yyval.lv,'[',&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2718 2387 ;} 2719 2388 break; … … 2722 2391 #line 626 "grammar.y" 2723 2392 { 2724 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;2393 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'[',&yyvsp[-1].lv)) YYERROR; 2725 2394 ;} 2726 2395 break; … … 2729 2398 #line 630 "grammar.y" 2730 2399 { 2731 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2400 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2732 2401 ;} 2733 2402 break; … … 2736 2405 #line 634 "grammar.y" 2737 2406 { 2738 if(iiExprArithM(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2407 if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2739 2408 ;} 2740 2409 break; … … 2743 2412 #line 638 "grammar.y" 2744 2413 { 2745 if(iiExprArithM(& (yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;2414 if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR; 2746 2415 ;} 2747 2416 break; … … 2750 2419 #line 642 "grammar.y" 2751 2420 { 2752 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2421 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2753 2422 ;} 2754 2423 break; … … 2757 2426 #line 646 "grammar.y" 2758 2427 { 2759 if(iiExprArithM(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2428 if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2760 2429 ;} 2761 2430 break; … … 2764 2433 #line 650 "grammar.y" 2765 2434 { 2766 if(iiExprArithM(& (yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;2435 if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR; 2767 2436 ;} 2768 2437 break; … … 2771 2440 #line 654 "grammar.y" 2772 2441 { 2773 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2442 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2774 2443 ;} 2775 2444 break; … … 2778 2447 #line 658 "grammar.y" 2779 2448 { 2780 if(iiExprArith2(& (yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;2449 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR; 2781 2450 ;} 2782 2451 break; … … 2785 2454 #line 662 "grammar.y" 2786 2455 { 2787 if(iiExprArith3(& (yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2456 if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2788 2457 ;} 2789 2458 break; … … 2792 2461 #line 666 "grammar.y" 2793 2462 { 2794 if(iiExprArith2(& (yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;2463 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR; 2795 2464 ;} 2796 2465 break; … … 2799 2468 #line 670 "grammar.y" 2800 2469 { 2801 if(iiExprArith3(& (yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2470 if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2802 2471 ;} 2803 2472 break; … … 2806 2475 #line 674 "grammar.y" 2807 2476 { 2808 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2477 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2809 2478 ;} 2810 2479 break; … … 2813 2482 #line 678 "grammar.y" 2814 2483 { 2815 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2484 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2816 2485 ;} 2817 2486 break; … … 2820 2489 #line 682 "grammar.y" 2821 2490 { 2822 if(iiExprArith2(& (yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;2491 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR; 2823 2492 ;} 2824 2493 break; … … 2827 2496 #line 686 "grammar.y" 2828 2497 { 2829 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2498 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2830 2499 ;} 2831 2500 break; … … 2834 2503 #line 690 "grammar.y" 2835 2504 { 2836 if(iiExprArith2(& (yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;2505 if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR; 2837 2506 ;} 2838 2507 break; … … 2841 2510 #line 694 "grammar.y" 2842 2511 { 2843 if(iiExprArith3(& (yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2512 if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2844 2513 ;} 2845 2514 break; … … 2848 2517 #line 698 "grammar.y" 2849 2518 { 2850 if(iiExprArith3(& (yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2519 if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2851 2520 ;} 2852 2521 break; … … 2855 2524 #line 702 "grammar.y" 2856 2525 { 2857 if(iiExprArithM(& (yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;2526 if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR; 2858 2527 ;} 2859 2528 break; … … 2862 2531 #line 706 "grammar.y" 2863 2532 { 2864 if(iiExprArithM(& (yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;2533 if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR; 2865 2534 ;} 2866 2535 break; … … 2869 2538 #line 710 "grammar.y" 2870 2539 { 2871 if(iiExprArith3(& (yyval.lv),MATRIX_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2540 if(iiExprArith3(&yyval.lv,MATRIX_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2872 2541 ;} 2873 2542 break; … … 2876 2545 #line 714 "grammar.y" 2877 2546 { 2878 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),MATRIX_CMD)) YYERROR;2547 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MATRIX_CMD)) YYERROR; 2879 2548 ;} 2880 2549 break; … … 2883 2552 #line 718 "grammar.y" 2884 2553 { 2885 if(iiExprArith3(& (yyval.lv),INTMAT_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2554 if(iiExprArith3(&yyval.lv,INTMAT_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2886 2555 ;} 2887 2556 break; … … 2890 2559 #line 722 "grammar.y" 2891 2560 { 2892 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),INTMAT_CMD)) YYERROR;2561 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,INTMAT_CMD)) YYERROR; 2893 2562 ;} 2894 2563 break; … … 2897 2566 #line 726 "grammar.y" 2898 2567 { 2899 if(iiExprArith3(& (yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;2568 if(iiExprArith3(&yyval.lv,RING_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2900 2569 ;} 2901 2570 break; … … 2904 2573 #line 730 "grammar.y" 2905 2574 { 2906 if(iiExprArith1(& (yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;2575 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,RING_CMD)) YYERROR; 2907 2576 ;} 2908 2577 break; … … 2911 2580 #line 734 "grammar.y" 2912 2581 { 2913 (yyval.lv)=(yyvsp[(2) - (3)].lv);2582 yyval.lv=yyvsp[-1].lv; 2914 2583 ;} 2915 2584 break; … … 2921 2590 siq++; 2922 2591 if (siq>0) 2923 { if (iiExprArith2(& (yyval.lv),&(yyvsp[(2) - (5)].lv),'=',&(yyvsp[(4) - (5)].lv))) YYERROR; }2592 { if (iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'=',&yyvsp[-1].lv)) YYERROR; } 2924 2593 else 2925 2594 #endif 2926 2595 { 2927 memset(& (yyval.lv),0,sizeof((yyval.lv)));2928 (yyval.lv).rtyp=NONE;2929 if (iiAssign(& (yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv))) YYERROR;2596 memset(&yyval.lv,0,sizeof(yyval.lv)); 2597 yyval.lv.rtyp=NONE; 2598 if (iiAssign(&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR; 2930 2599 } 2931 2600 #ifdef SIQ … … 2948 2617 { 2949 2618 #ifdef SIQ 2950 if (siq<=0) (yyvsp[(4) - (5)].lv).Eval();2619 if (siq<=0) yyvsp[-1].lv.Eval(); 2951 2620 #endif 2952 (yyval.lv)=(yyvsp[(4) - (5)].lv);2621 yyval.lv=yyvsp[-1].lv; 2953 2622 #ifdef SIQ 2954 2623 siq++; … … 2978 2647 #line 790 "grammar.y" 2979 2648 { 2980 if(iiExprArith1(& (yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;2649 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,PLUSPLUS)) YYERROR; 2981 2650 ;} 2982 2651 break; … … 2985 2654 #line 794 "grammar.y" 2986 2655 { 2987 if(iiExprArith1(& (yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;2656 if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MINUSMINUS)) YYERROR; 2988 2657 ;} 2989 2658 break; … … 2992 2661 #line 798 "grammar.y" 2993 2662 { 2994 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;2663 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'+',&yyvsp[0].lv)) YYERROR; 2995 2664 ;} 2996 2665 break; … … 2999 2668 #line 802 "grammar.y" 3000 2669 { 3001 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;2670 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'-',&yyvsp[0].lv)) YYERROR; 3002 2671 ;} 3003 2672 break; … … 3006 2675 #line 806 "grammar.y" 3007 2676 { 3008 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;2677 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR; 3009 2678 ;} 3010 2679 break; … … 3013 2682 #line 810 "grammar.y" 3014 2683 { 3015 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;2684 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'^',&yyvsp[0].lv)) YYERROR; 3016 2685 ;} 3017 2686 break; … … 3020 2689 #line 814 "grammar.y" 3021 2690 { 3022 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;2691 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR; 3023 2692 ;} 3024 2693 break; … … 3027 2696 #line 818 "grammar.y" 3028 2697 { 3029 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;2698 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR; 3030 2699 ;} 3031 2700 break; … … 3034 2703 #line 822 "grammar.y" 3035 2704 { 3036 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;2705 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,NOTEQUAL,&yyvsp[0].lv)) YYERROR; 3037 2706 ;} 3038 2707 break; … … 3041 2710 #line 826 "grammar.y" 3042 2711 { 3043 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;2712 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,EQUAL_EQUAL,&yyvsp[0].lv)) YYERROR; 3044 2713 ;} 3045 2714 break; … … 3048 2717 #line 830 "grammar.y" 3049 2718 { 3050 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;2719 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,DOTDOT,&yyvsp[0].lv)) YYERROR; 3051 2720 ;} 3052 2721 break; … … 3055 2724 #line 834 "grammar.y" 3056 2725 { 3057 if(iiExprArith2(& (yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;2726 if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,':',&yyvsp[0].lv)) YYERROR; 3058 2727 ;} 3059 2728 break; … … 3062 2731 #line 838 "grammar.y" 3063 2732 { 3064 memset(& (yyval.lv),0,sizeof((yyval.lv)));3065 int i; TESTSETINT( (yyvsp[(2) - (2)].lv),i);3066 (yyval.lv).rtyp = INT_CMD;3067 (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0);2733 memset(&yyval.lv,0,sizeof(yyval.lv)); 2734 int i; TESTSETINT(yyvsp[0].lv,i); 2735 yyval.lv.rtyp = INT_CMD; 2736 yyval.lv.data = (void *)(long)(i == 0 ? 1 : 0); 3068 2737 ;} 3069 2738 break; … … 3072 2741 #line 845 "grammar.y" 3073 2742 { 3074 if(iiExprArith1(& (yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;2743 if(iiExprArith1(&yyval.lv,&yyvsp[0].lv,'-')) YYERROR; 3075 2744 ;} 3076 2745 break; … … 3078 2747 case 94: 3079 2748 #line 851 "grammar.y" 3080 { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}2749 { yyval.lv = yyvsp[-1].lv; ;} 3081 2750 break; 3082 2751 … … 3084 2753 #line 853 "grammar.y" 3085 2754 { 3086 if ( (yyvsp[(1) - (2)].lv).rtyp==0)2755 if (yyvsp[-1].lv.rtyp==0) 3087 2756 { 3088 Werror("`%s` is undefined", (yyvsp[(1) - (2)].lv).Fullname());2757 Werror("`%s` is undefined",yyvsp[-1].lv.Fullname()); 3089 2758 YYERROR; 3090 2759 } 3091 else if (( (yyvsp[(1) - (2)].lv).rtyp==MODUL_CMD)2760 else if ((yyvsp[-1].lv.rtyp==MODUL_CMD) 3092 2761 // matrix m; m[2]=... 3093 && ( (yyvsp[(1) - (2)].lv).e!=NULL) && ((yyvsp[(1) - (2)].lv).e->next==NULL))2762 && (yyvsp[-1].lv.e!=NULL) && (yyvsp[-1].lv.e->next==NULL)) 3094 2763 { 3095 2764 MYYERROR("matrix must have 2 indices"); 3096 2765 } 3097 (yyval.lv) = (yyvsp[(1) - (2)].lv);2766 yyval.lv = yyvsp[-1].lv; 3098 2767 ;} 3099 2768 break; … … 3102 2771 #line 873 "grammar.y" 3103 2772 { 3104 if ( (yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)2773 if (yyvsp[-1].lv.Typ()!=STRING_CMD) 3105 2774 { 3106 2775 MYYERROR("string expression expected"); 3107 2776 } 3108 (yyval.name) = (char *)(yyvsp[(2) - (3)].lv).CopyD(STRING_CMD);3109 (yyvsp[(2) - (3)].lv).CleanUp();2777 yyval.name = (char *)yyvsp[-1].lv.CopyD(STRING_CMD); 2778 yyvsp[-1].lv.CleanUp(); 3110 2779 ;} 3111 2780 break; … … 3114 2783 #line 890 "grammar.y" 3115 2784 { 3116 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))2785 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot))) 3117 2786 YYERROR; 3118 2787 ;} … … 3122 2791 #line 895 "grammar.y" 3123 2792 { 3124 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))2793 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot))) 3125 2794 YYERROR; 3126 2795 ;} … … 3130 2799 #line 900 "grammar.y" 3131 2800 { 3132 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;2801 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR; 3133 2802 ;} 3134 2803 break; … … 3137 2806 #line 904 "grammar.y" 3138 2807 { 3139 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;2808 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR; 3140 2809 ;} 3141 2810 break; … … 3144 2813 #line 908 "grammar.y" 3145 2814 { 3146 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&(currRing->idroot), TRUE)) YYERROR;3147 int r; TESTSETINT( (yyvsp[(4) - (8)].lv),r);3148 int c; TESTSETINT( (yyvsp[(7) - (8)].lv),c);2815 if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(currRing->idroot), TRUE)) YYERROR; 2816 int r; TESTSETINT(yyvsp[-4].lv,r); 2817 int c; TESTSETINT(yyvsp[-1].lv,c); 3149 2818 if (r < 1) 3150 2819 MYYERROR("rows must be greater than 0"); 3151 2820 if (c < 0) 3152 2821 MYYERROR("cols must be greater than -1"); 3153 leftv v=& (yyval.lv);2822 leftv v=&yyval.lv; 3154 2823 //while (v->next!=NULL) { v=v->next; } 3155 2824 idhdl h=(idhdl)v->data; … … 3163 2832 #line 924 "grammar.y" 3164 2833 { 3165 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;2834 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR; 3166 2835 ;} 3167 2836 break; … … 3170 2839 #line 928 "grammar.y" 3171 2840 { 3172 int r; TESTSETINT( (yyvsp[(4) - (8)].lv),r);3173 int c; TESTSETINT( (yyvsp[(7) - (8)].lv),c);2841 int r; TESTSETINT(yyvsp[-4].lv,r); 2842 int c; TESTSETINT(yyvsp[-1].lv,c); 3174 2843 if (r < 1) 3175 2844 MYYERROR("rows must be greater than 0"); 3176 2845 if (c < 0) 3177 2846 MYYERROR("cols must be greater than -1"); 3178 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))2847 if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(yyvsp[-6].lv.req_packhdl->idroot))) 3179 2848 YYERROR; 3180 leftv v=& (yyval.lv);2849 leftv v=&yyval.lv; 3181 2850 idhdl h=(idhdl)v->data; 3182 2851 delete IDINTVEC(h); … … 3189 2858 #line 944 "grammar.y" 3190 2859 { 3191 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))2860 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot))) 3192 2861 YYERROR; 3193 leftv v=& (yyval.lv);2862 leftv v=&yyval.lv; 3194 2863 idhdl h; 3195 2864 do … … 3206 2875 #line 958 "grammar.y" 3207 2876 { 3208 int t= (yyvsp[(1) - (3)].lv).Typ();2877 int t=yyvsp[-2].lv.Typ(); 3209 2878 sleftv r; 3210 2879 memset(&r,0,sizeof(sleftv)); 3211 2880 if ((BEGIN_RING<t) && (t<END_RING)) 3212 2881 { 3213 if (iiDeclCommand(&r,& (yyvsp[(3) - (3)].lv),myynest,t,&(currRing->idroot), TRUE))2882 if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(currRing->idroot), TRUE)) 3214 2883 YYERROR; 3215 2884 } 3216 2885 else 3217 2886 { 3218 if (iiDeclCommand(&r,& (yyvsp[(3) - (3)].lv),myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))2887 if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(yyvsp[0].lv.req_packhdl->idroot))) 3219 2888 YYERROR; 3220 2889 } 3221 leftv v=& (yyvsp[(1) - (3)].lv);2890 leftv v=&yyvsp[-2].lv; 3222 2891 while (v->next!=NULL) v=v->next; 3223 2892 v->next=(leftv)omAllocBin(sleftv_bin); 3224 2893 memcpy(v->next,&r,sizeof(sleftv)); 3225 (yyval.lv)=(yyvsp[(1) - (3)].lv);2894 yyval.lv=yyvsp[-2].lv; 3226 2895 ;} 3227 2896 break; … … 3230 2899 #line 979 "grammar.y" 3231 2900 { 3232 if (iiDeclCommand(& (yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))2901 if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot))) 3233 2902 YYERROR; 3234 2903 ;} … … 3238 2907 #line 992 "grammar.y" 3239 2908 { 3240 leftv v = & (yyvsp[(2) - (5)].lv);2909 leftv v = &yyvsp[-3].lv; 3241 2910 while (v->next!=NULL) 3242 2911 { … … 3244 2913 } 3245 2914 v->next = (leftv)omAllocBin(sleftv_bin); 3246 memcpy(v->next,&( (yyvsp[(4) - (5)].lv)),sizeof(sleftv));3247 (yyval.lv) = (yyvsp[(2) - (5)].lv);2915 memcpy(v->next,&(yyvsp[-1].lv),sizeof(sleftv)); 2916 yyval.lv = yyvsp[-3].lv; 3248 2917 ;} 3249 2918 break; … … 3253 2922 { 3254 2923 // let rInit take care of any errors 3255 (yyval.i)=rOrderName((yyvsp[(1) - (1)].name));2924 yyval.i=rOrderName(yyvsp[0].name); 3256 2925 ;} 3257 2926 break; … … 3260 2929 #line 1014 "grammar.y" 3261 2930 { 3262 memset(& (yyval.lv),0,sizeof((yyval.lv)));2931 memset(&yyval.lv,0,sizeof(yyval.lv)); 3263 2932 intvec *iv = new intvec(2); 3264 2933 (*iv)[0] = 1; 3265 (*iv)[1] = (yyvsp[(1) - (1)].i);3266 (yyval.lv).rtyp = INTVEC_CMD;3267 (yyval.lv).data = (void *)iv;2934 (*iv)[1] = yyvsp[0].i; 2935 yyval.lv.rtyp = INTVEC_CMD; 2936 yyval.lv.data = (void *)iv; 3268 2937 ;} 3269 2938 break; … … 3272 2941 #line 1023 "grammar.y" 3273 2942 { 3274 memset(& (yyval.lv),0,sizeof((yyval.lv)));3275 leftv sl = & (yyvsp[(3) - (4)].lv);2943 memset(&yyval.lv,0,sizeof(yyval.lv)); 2944 leftv sl = &yyvsp[-1].lv; 3276 2945 int slLength; 3277 2946 { … … 3280 2949 intvec *iv = new intvec(l); 3281 2950 (*iv)[0] = slLength; 3282 (*iv)[1] = (yyvsp[(1) - (4)].i);2951 (*iv)[1] = yyvsp[-3].i; 3283 2952 3284 2953 int i = 2; … … 3302 2971 { 3303 2972 delete iv; 3304 (yyvsp[(3) - (4)].lv).CleanUp();2973 yyvsp[-1].lv.CleanUp(); 3305 2974 MYYERROR("wrong type in ordering"); 3306 2975 } 3307 2976 sl = sl->next; 3308 2977 } 3309 (yyval.lv).rtyp = INTVEC_CMD;3310 (yyval.lv).data = (void *)iv;2978 yyval.lv.rtyp = INTVEC_CMD; 2979 yyval.lv.data = (void *)iv; 3311 2980 } 3312 (yyvsp[(3) - (4)].lv).CleanUp();2981 yyvsp[-1].lv.CleanUp(); 3313 2982 ;} 3314 2983 break; … … 3317 2986 #line 1069 "grammar.y" 3318 2987 { 3319 (yyval.lv) = (yyvsp[(1) - (3)].lv);3320 (yyval.lv).next = (sleftv *)omAllocBin(sleftv_bin);3321 memcpy( (yyval.lv).next,&(yyvsp[(3) - (3)].lv),sizeof(sleftv));2988 yyval.lv = yyvsp[-2].lv; 2989 yyval.lv.next = (sleftv *)omAllocBin(sleftv_bin); 2990 memcpy(yyval.lv.next,&yyvsp[0].lv,sizeof(sleftv)); 3322 2991 ;} 3323 2992 break; … … 3326 2995 #line 1079 "grammar.y" 3327 2996 { 3328 (yyval.lv) = (yyvsp[(2) - (3)].lv);2997 yyval.lv = yyvsp[-1].lv; 3329 2998 ;} 3330 2999 break; … … 3339 3008 case 121: 3340 3009 #line 1097 "grammar.y" 3341 { if ( (yyvsp[(1) - (2)].i)!= '<') YYERROR;3342 if((feFilePending=feFopen( (yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}3010 { if (yyvsp[-1].i != '<') YYERROR; 3011 if((feFilePending=feFopen(yyvsp[0].name,"r",NULL,TRUE))==NULL) YYERROR; ;} 3343 3012 break; 3344 3013 3345 3014 case 122: 3346 3015 #line 1100 "grammar.y" 3347 { newFile( (yyvsp[(2) - (4)].name),feFilePending); ;}3016 { newFile(yyvsp[-2].name,feFilePending); ;} 3348 3017 break; 3349 3018 … … 3351 3020 #line 1105 "grammar.y" 3352 3021 { 3353 feHelp( (yyvsp[(2) - (3)].name));3354 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3022 feHelp(yyvsp[-1].name); 3023 omFree((ADDRESS)yyvsp[-1].name); 3355 3024 ;} 3356 3025 break; … … 3366 3035 #line 1117 "grammar.y" 3367 3036 { 3368 singular_example( (yyvsp[(2) - (3)].name));3369 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3037 singular_example(yyvsp[-1].name); 3038 omFree((ADDRESS)yyvsp[-1].name); 3370 3039 ;} 3371 3040 break; … … 3374 3043 #line 1125 "grammar.y" 3375 3044 { 3376 if (basePack!= (yyvsp[(2) - (2)].lv).req_packhdl)3045 if (basePack!=yyvsp[0].lv.req_packhdl) 3377 3046 { 3378 if(iiExport(& (yyvsp[(2) - (2)].lv),0,currPackHdl)) YYERROR;3047 if(iiExport(&yyvsp[0].lv,0,currPackHdl)) YYERROR; 3379 3048 } 3380 3049 else 3381 if (iiExport(& (yyvsp[(2) - (2)].lv),0)) YYERROR;3050 if (iiExport(&yyvsp[0].lv,0)) YYERROR; 3382 3051 ;} 3383 3052 break; … … 3386 3055 #line 1137 "grammar.y" 3387 3056 { 3388 leftv v=& (yyvsp[(2) - (2)].lv);3057 leftv v=&yyvsp[0].lv; 3389 3058 if (v->rtyp!=IDHDL) 3390 3059 { … … 3405 3074 #line 1153 "grammar.y" 3406 3075 { 3407 leftv v=& (yyvsp[(3) - (3)].lv);3076 leftv v=&yyvsp[0].lv; 3408 3077 if (v->rtyp!=IDHDL) 3409 3078 { … … 3424 3093 #line 1172 "grammar.y" 3425 3094 { 3426 list_cmd( (yyvsp[(3) - (4)].i),NULL,"// ",TRUE);3095 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3427 3096 ;} 3428 3097 break; … … 3431 3100 #line 1176 "grammar.y" 3432 3101 { 3433 list_cmd( (yyvsp[(3) - (4)].i),NULL,"// ",TRUE);3102 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3434 3103 ;} 3435 3104 break; … … 3438 3107 #line 1180 "grammar.y" 3439 3108 { 3440 if ( (yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;3441 list_cmd( (yyvsp[(3) - (4)].i),NULL,"// ",TRUE);3109 if (yyvsp[-1].i==QRING_CMD) yyvsp[-1].i=RING_CMD; 3110 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3442 3111 ;} 3443 3112 break; … … 3446 3115 #line 1185 "grammar.y" 3447 3116 { 3448 list_cmd( (yyvsp[(3) - (4)].i),NULL,"// ",TRUE);3117 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3449 3118 ;} 3450 3119 break; … … 3481 3150 #line 1205 "grammar.y" 3482 3151 { 3483 list_cmd(0, (yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);3484 (yyvsp[(3) - (4)].lv).CleanUp();3152 list_cmd(0,yyvsp[-1].lv.Fullname(),"// ",TRUE); 3153 yyvsp[-1].lv.CleanUp(); 3485 3154 ;} 3486 3155 break; … … 3489 3158 #line 1210 "grammar.y" 3490 3159 { 3491 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3492 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3493 (yyvsp[(3) - (6)].lv).CleanUp();3160 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3161 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3162 yyvsp[-3].lv.CleanUp(); 3494 3163 ;} 3495 3164 break; … … 3498 3167 #line 1216 "grammar.y" 3499 3168 { 3500 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3501 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3502 (yyvsp[(3) - (6)].lv).CleanUp();3169 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3170 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3171 yyvsp[-3].lv.CleanUp(); 3503 3172 ;} 3504 3173 break; … … 3507 3176 #line 1222 "grammar.y" 3508 3177 { 3509 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3510 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3511 (yyvsp[(3) - (6)].lv).CleanUp();3178 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3179 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3180 yyvsp[-3].lv.CleanUp(); 3512 3181 ;} 3513 3182 break; … … 3516 3185 #line 1228 "grammar.y" 3517 3186 { 3518 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3519 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3520 (yyvsp[(3) - (6)].lv).CleanUp();3187 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3188 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3189 yyvsp[-3].lv.CleanUp(); 3521 3190 ;} 3522 3191 break; … … 3525 3194 #line 1234 "grammar.y" 3526 3195 { 3527 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3528 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3529 (yyvsp[(3) - (6)].lv).CleanUp();3196 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3197 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3198 yyvsp[-3].lv.CleanUp(); 3530 3199 ;} 3531 3200 break; … … 3534 3203 #line 1240 "grammar.y" 3535 3204 { 3536 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3537 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3538 (yyvsp[(3) - (6)].lv).CleanUp();3205 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3206 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3207 yyvsp[-3].lv.CleanUp(); 3539 3208 ;} 3540 3209 break; … … 3543 3212 #line 1246 "grammar.y" 3544 3213 { 3545 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3546 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3547 (yyvsp[(3) - (6)].lv).CleanUp();3214 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3215 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3216 yyvsp[-3].lv.CleanUp(); 3548 3217 ;} 3549 3218 break; … … 3552 3221 #line 1252 "grammar.y" 3553 3222 { 3554 if( (yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)3555 list_cmd( (yyvsp[(5) - (6)].i),NULL,"// ",TRUE);3556 (yyvsp[(3) - (6)].lv).CleanUp();3223 if(yyvsp[-3].lv.Typ() == PACKAGE_CMD) 3224 list_cmd(yyvsp[-1].i,NULL,"// ",TRUE); 3225 yyvsp[-3].lv.CleanUp(); 3557 3226 ;} 3558 3227 break; … … 3573 3242 #line 1279 "grammar.y" 3574 3243 { 3575 const char *ring_name = (yyvsp[(2) - (8)].lv).name;3244 const char *ring_name = yyvsp[-6].lv.name; 3576 3245 ring b= 3577 rInit(& (yyvsp[(4) - (8)].lv), /* characteristik and list of parameters*/3578 & (yyvsp[(6) - (8)].lv), /* names of ringvariables */3579 & (yyvsp[(8) - (8)].lv)); /* ordering */3246 rInit(&yyvsp[-4].lv, /* characteristik and list of parameters*/ 3247 &yyvsp[-2].lv, /* names of ringvariables */ 3248 &yyvsp[0].lv); /* ordering */ 3580 3249 idhdl newRingHdl=NULL; 3581 3250 … … 3583 3252 { 3584 3253 newRingHdl=enterid(ring_name, myynest, RING_CMD, 3585 &( (yyvsp[(2) - (8)].lv).req_packhdl->idroot));3586 (yyvsp[(2) - (8)].lv).CleanUp();3254 &(yyvsp[-6].lv.req_packhdl->idroot)); 3255 yyvsp[-6].lv.CleanUp(); 3587 3256 if (newRingHdl!=NULL) 3588 3257 { … … 3610 3279 #line 1313 "grammar.y" 3611 3280 { 3612 const char *ring_name = (yyvsp[(2) - (2)].lv).name;3281 const char *ring_name = yyvsp[0].lv.name; 3613 3282 if (!inerror) rDefault(ring_name); 3614 3283 yyInRingConstruction = FALSE; 3615 (yyvsp[(2) - (2)].lv).CleanUp();3284 yyvsp[0].lv.CleanUp(); 3616 3285 ;} 3617 3286 break; … … 3620 3289 #line 1323 "grammar.y" 3621 3290 { 3622 if (( (yyvsp[(1) - (2)].i)!=LIB_CMD)||(iiLibCmd((yyvsp[(2) - (2)].name),TRUE,TRUE,TRUE)))3291 if ((yyvsp[-1].i!=LIB_CMD)||(iiLibCmd(yyvsp[0].name,TRUE,TRUE,TRUE))) 3623 3292 //if ($1==LIB_CMD) 3624 3293 //{ … … 3634 3303 #line 1339 "grammar.y" 3635 3304 { 3636 if (( (yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))3305 if ((yyvsp[-1].i==KEEPRING_CMD) && (myynest==0)) 3637 3306 MYYERROR("only inside a proc allowed"); 3638 const char * n= (yyvsp[(2) - (2)].lv).Name();3639 if ((( (yyvsp[(2) - (2)].lv).Typ()==RING_CMD)||((yyvsp[(2) - (2)].lv).Typ()==QRING_CMD))3640 && ( (yyvsp[(2) - (2)].lv).rtyp==IDHDL))3307 const char * n=yyvsp[0].lv.Name(); 3308 if (((yyvsp[0].lv.Typ()==RING_CMD)||(yyvsp[0].lv.Typ()==QRING_CMD)) 3309 && (yyvsp[0].lv.rtyp==IDHDL)) 3641 3310 { 3642 idhdl h=(idhdl) (yyvsp[(2) - (2)].lv).data;3643 if ( (yyvsp[(2) - (2)].lv).e!=NULL) h=rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),NULL, NULL);3311 idhdl h=(idhdl)yyvsp[0].lv.data; 3312 if (yyvsp[0].lv.e!=NULL) h=rFindHdl((ring)yyvsp[0].lv.Data(),NULL, NULL); 3644 3313 //Print("setring %s lev %d (ptr:%x)\n",IDID(h),IDLEV(h),IDRING(h)); 3645 if ( (yyvsp[(1) - (2)].i)==KEEPRING_CMD)3314 if (yyvsp[-1].i==KEEPRING_CMD) 3646 3315 { 3647 3316 if (h!=NULL) … … 3649 3318 if (IDLEV(h)!=0) 3650 3319 { 3651 if (iiExport(& (yyvsp[(2) - (2)].lv),myynest-1)) YYERROR;3320 if (iiExport(&yyvsp[0].lv,myynest-1)) YYERROR; 3652 3321 #if 1 3653 3322 idhdl p=IDRING(h)->idroot; … … 3681 3350 { 3682 3351 Werror("%s is no identifier",n); 3683 (yyvsp[(2) - (2)].lv).CleanUp();3352 yyvsp[0].lv.CleanUp(); 3684 3353 YYERROR; 3685 3354 } … … 3689 3358 { 3690 3359 Werror("cannot find the name of the basering %s",n); 3691 (yyvsp[(2) - (2)].lv).CleanUp();3360 yyvsp[0].lv.CleanUp(); 3692 3361 YYERROR; 3693 3362 } 3694 (yyvsp[(2) - (2)].lv).CleanUp();3363 yyvsp[0].lv.CleanUp(); 3695 3364 } 3696 3365 else 3697 3366 { 3698 3367 Werror("%s is no name of a ring/qring",n); 3699 (yyvsp[(2) - (2)].lv).CleanUp();3368 yyvsp[0].lv.CleanUp(); 3700 3369 YYERROR; 3701 3370 } … … 3706 3375 #line 1411 "grammar.y" 3707 3376 { 3708 if ((yyvsp[(2) - (2)].lv).rtyp!=IDHDL) MYYERROR("identifier expected"); 3709 idhdl h = (idhdl)(yyvsp[(2) - (2)].lv).data; 3710 type_cmd(h); 3377 if ((yyvsp[0].lv.e!=NULL)||(yyvsp[0].lv.rtyp!=IDHDL)) yyvsp[0].lv.Print(); 3378 else 3379 { 3380 idhdl h = (idhdl)yyvsp[0].lv.data; 3381 type_cmd(h); 3382 } 3711 3383 ;} 3712 3384 break; 3713 3385 3714 3386 case 155: 3715 #line 14 17"grammar.y"3387 #line 1420 "grammar.y" 3716 3388 { 3717 3389 //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp); 3718 3390 #ifdef SIQ 3719 if ( (yyvsp[(1) - (1)].lv).rtyp!=COMMAND)3391 if (yyvsp[0].lv.rtyp!=COMMAND) 3720 3392 { 3721 3393 #endif 3722 if ( (yyvsp[(1) - (1)].lv).Typ()==UNKNOWN)3394 if (yyvsp[0].lv.Typ()==UNKNOWN) 3723 3395 { 3724 if ( (yyvsp[(1) - (1)].lv).name!=NULL)3396 if (yyvsp[0].lv.name!=NULL) 3725 3397 { 3726 Werror("`%s` is undefined", (yyvsp[(1) - (1)].lv).name);3727 omFree((ADDRESS) (yyvsp[(1) - (1)].lv).name);3398 Werror("`%s` is undefined",yyvsp[0].lv.name); 3399 omFree((ADDRESS)yyvsp[0].lv.name); 3728 3400 } 3729 3401 YYERROR; … … 3732 3404 } 3733 3405 #endif 3734 (yyvsp[(1) - (1)].lv).Print(&sLastPrinted);3735 (yyvsp[(1) - (1)].lv).CleanUp(currRing);3406 yyvsp[0].lv.Print(&sLastPrinted); 3407 yyvsp[0].lv.CleanUp(currRing); 3736 3408 if (errorreported) YYERROR; 3737 3409 ;} … … 3739 3411 3740 3412 case 156: 3741 #line 144 6"grammar.y"3742 { 3743 int i; TESTSETINT( (yyvsp[(3) - (5)].lv),i);3413 #line 1449 "grammar.y" 3414 { 3415 int i; TESTSETINT(yyvsp[-2].lv,i); 3744 3416 if (i!=0) 3745 3417 { 3746 newBuffer( (yyvsp[(5) - (5)].name), BT_if);3418 newBuffer( yyvsp[0].name, BT_if); 3747 3419 } 3748 3420 else 3749 3421 { 3750 omFree((ADDRESS) (yyvsp[(5) - (5)].name));3422 omFree((ADDRESS)yyvsp[0].name); 3751 3423 currentVoice->ifsw=1; 3752 3424 } … … 3755 3427 3756 3428 case 157: 3757 #line 14 59"grammar.y"3429 #line 1462 "grammar.y" 3758 3430 { 3759 3431 if (currentVoice->ifsw==1) 3760 3432 { 3761 3433 currentVoice->ifsw=0; 3762 newBuffer( (yyvsp[(2) - (2)].name), BT_else);3434 newBuffer( yyvsp[0].name, BT_else); 3763 3435 } 3764 3436 else … … 3768 3440 Warn("`else` without `if` in level %d",myynest); 3769 3441 } 3770 omFree((ADDRESS) (yyvsp[(2) - (2)].name));3442 omFree((ADDRESS)yyvsp[0].name); 3771 3443 } 3772 3444 currentVoice->ifsw=0; … … 3775 3447 3776 3448 case 158: 3777 #line 147 6"grammar.y"3778 { 3779 int i; TESTSETINT( (yyvsp[(3) - (5)].lv),i);3449 #line 1479 "grammar.y" 3450 { 3451 int i; TESTSETINT(yyvsp[-2].lv,i); 3780 3452 if (i) 3781 3453 { … … 3787 3459 3788 3460 case 159: 3789 #line 148 5"grammar.y"3461 #line 1488 "grammar.y" 3790 3462 { 3791 3463 if (exitBuffer(BT_break)) YYERROR; … … 3795 3467 3796 3468 case 160: 3797 #line 149 0"grammar.y"3469 #line 1493 "grammar.y" 3798 3470 { 3799 3471 if (contBuffer(BT_break)) YYERROR; … … 3803 3475 3804 3476 case 161: 3805 #line 1 498"grammar.y"3477 #line 1501 "grammar.y" 3806 3478 { 3807 3479 /* -> if(!$2) break; $3; continue;*/ 3808 char * s = (char *)omAlloc( strlen( (yyvsp[(2) - (3)].name)) + strlen((yyvsp[(3) - (3)].name)) + 36);3809 sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " , (yyvsp[(2) - (3)].name),(yyvsp[(3) - (3)].name));3480 char * s = (char *)omAlloc( strlen(yyvsp[-1].name) + strlen(yyvsp[0].name) + 36); 3481 sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,yyvsp[-1].name,yyvsp[0].name); 3810 3482 newBuffer(s,BT_break); 3811 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3812 omFree((ADDRESS) (yyvsp[(3) - (3)].name));3483 omFree((ADDRESS)yyvsp[-1].name); 3484 omFree((ADDRESS)yyvsp[0].name); 3813 3485 ;} 3814 3486 break; 3815 3487 3816 3488 case 162: 3817 #line 151 0"grammar.y"3489 #line 1513 "grammar.y" 3818 3490 { 3819 3491 /* $2 */ 3820 3492 /* if (!$3) break; $5; $4; continue; */ 3821 char * s = (char *)omAlloc( strlen( (yyvsp[(3) - (5)].name))+strlen((yyvsp[(4) - (5)].name))+strlen((yyvsp[(5) - (5)].name))+36);3493 char * s = (char *)omAlloc( strlen(yyvsp[-2].name)+strlen(yyvsp[-1].name)+strlen(yyvsp[0].name)+36); 3822 3494 sprintf(s,"forif (!(%s)) break;\n%s%s;\ncontinue;\n " 3823 , (yyvsp[(3) - (5)].name),(yyvsp[(5) - (5)].name),(yyvsp[(4) - (5)].name));3824 omFree((ADDRESS) (yyvsp[(3) - (5)].name));3825 omFree((ADDRESS) (yyvsp[(4) - (5)].name));3826 omFree((ADDRESS) (yyvsp[(5) - (5)].name));3495 ,yyvsp[-2].name,yyvsp[0].name,yyvsp[-1].name); 3496 omFree((ADDRESS)yyvsp[-2].name); 3497 omFree((ADDRESS)yyvsp[-1].name); 3498 omFree((ADDRESS)yyvsp[0].name); 3827 3499 newBuffer(s,BT_break); 3828 s = (char *)omAlloc( strlen( (yyvsp[(2) - (5)].name)) + 3);3829 sprintf(s,"%s;\n", (yyvsp[(2) - (5)].name));3830 omFree((ADDRESS) (yyvsp[(2) - (5)].name));3500 s = (char *)omAlloc( strlen(yyvsp[-3].name) + 3); 3501 sprintf(s,"%s;\n",yyvsp[-3].name); 3502 omFree((ADDRESS)yyvsp[-3].name); 3831 3503 newBuffer(s,BT_if); 3832 3504 ;} … … 3834 3506 3835 3507 case 163: 3836 #line 15 29"grammar.y"3508 #line 1532 "grammar.y" 3837 3509 { 3838 3510 procinfov pi; 3839 idhdl h = enterid( (yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);3840 if (h==NULL) {omFree((ADDRESS) (yyvsp[(2) - (3)].name));omFree((ADDRESS)(yyvsp[(3) - (3)].name)); YYERROR;}3841 iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(2) - (3)].name), 0, 0);3842 IDPROC(h)->data.s.body = (char *)omAlloc(strlen( (yyvsp[(3) - (3)].name))+31);;3843 sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n", (yyvsp[(3) - (3)].name));3844 omFree((ADDRESS) (yyvsp[(3) - (3)].name));3845 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3511 idhdl h = enterid(yyvsp[-1].name,myynest,PROC_CMD,&IDROOT,TRUE); 3512 if (h==NULL) {omFree((ADDRESS)yyvsp[-1].name);omFree((ADDRESS)yyvsp[0].name); YYERROR;} 3513 iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-1].name, 0, 0); 3514 IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+31);; 3515 sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",yyvsp[0].name); 3516 omFree((ADDRESS)yyvsp[0].name); 3517 omFree((ADDRESS)yyvsp[-1].name); 3846 3518 ;} 3847 3519 break; 3848 3520 3849 3521 case 164: 3850 #line 154 0"grammar.y"3851 { 3852 idhdl h = enterid( (yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);3522 #line 1543 "grammar.y" 3523 { 3524 idhdl h = enterid(yyvsp[-2].name,myynest,PROC_CMD,&IDROOT,TRUE); 3853 3525 if (h==NULL) 3854 3526 { 3855 omFree((ADDRESS) (yyvsp[(1) - (3)].name));3856 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3857 omFree((ADDRESS) (yyvsp[(3) - (3)].name));3527 omFree((ADDRESS)yyvsp[-2].name); 3528 omFree((ADDRESS)yyvsp[-1].name); 3529 omFree((ADDRESS)yyvsp[0].name); 3858 3530 YYERROR; 3859 3531 } 3860 char *args=iiProcArgs( (yyvsp[(2) - (3)].name),FALSE);3861 omFree((ADDRESS) (yyvsp[(2) - (3)].name));3532 char *args=iiProcArgs(yyvsp[-1].name,FALSE); 3533 omFree((ADDRESS)yyvsp[-1].name); 3862 3534 procinfov pi; 3863 iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (3)].name), 0, 0);3864 IDPROC(h)->data.s.body = (char *)omAlloc(strlen( (yyvsp[(3) - (3)].name))+strlen(args)+14);;3865 sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args, (yyvsp[(3) - (3)].name));3535 iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-2].name, 0, 0); 3536 IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);; 3537 sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name); 3866 3538 omFree((ADDRESS)args); 3867 omFree((ADDRESS) (yyvsp[(3) - (3)].name));3868 omFree((ADDRESS) (yyvsp[(1) - (3)].name));3539 omFree((ADDRESS)yyvsp[0].name); 3540 omFree((ADDRESS)yyvsp[-2].name); 3869 3541 ;} 3870 3542 break; 3871 3543 3872 3544 case 165: 3873 #line 156 0"grammar.y"3874 { 3875 omFree((ADDRESS) (yyvsp[(3) - (4)].name));3876 idhdl h = enterid( (yyvsp[(1) - (4)].name),myynest,PROC_CMD,&IDROOT,TRUE);3545 #line 1563 "grammar.y" 3546 { 3547 omFree((ADDRESS)yyvsp[-1].name); 3548 idhdl h = enterid(yyvsp[-3].name,myynest,PROC_CMD,&IDROOT,TRUE); 3877 3549 if (h==NULL) 3878 3550 { 3879 omFree((ADDRESS) (yyvsp[(1) - (4)].name));3880 omFree((ADDRESS) (yyvsp[(2) - (4)].name));3881 omFree((ADDRESS) (yyvsp[(4) - (4)].name));3551 omFree((ADDRESS)yyvsp[-3].name); 3552 omFree((ADDRESS)yyvsp[-2].name); 3553 omFree((ADDRESS)yyvsp[0].name); 3882 3554 YYERROR; 3883 3555 } 3884 char *args=iiProcArgs( (yyvsp[(2) - (4)].name),FALSE);3885 omFree((ADDRESS) (yyvsp[(2) - (4)].name));3556 char *args=iiProcArgs(yyvsp[-2].name,FALSE); 3557 omFree((ADDRESS)yyvsp[-2].name); 3886 3558 procinfov pi; 3887 iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (4)].name), 0, 0);3888 omFree((ADDRESS) (yyvsp[(1) - (4)].name));3889 IDPROC(h)->data.s.body = (char *)omAlloc(strlen( (yyvsp[(4) - (4)].name))+strlen(args)+14);;3890 sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args, (yyvsp[(4) - (4)].name));3559 iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-3].name, 0, 0); 3560 omFree((ADDRESS)yyvsp[-3].name); 3561 IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);; 3562 sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name); 3891 3563 omFree((ADDRESS)args); 3892 omFree((ADDRESS) (yyvsp[(4) - (4)].name));3564 omFree((ADDRESS)yyvsp[0].name); 3893 3565 ;} 3894 3566 break; 3895 3567 3896 3568 case 166: 3897 #line 158 4"grammar.y"3569 #line 1587 "grammar.y" 3898 3570 { 3899 3571 // decl. of type proc p(int i) 3900 if ( (yyvsp[(1) - (2)].i)==PARAMETER) { if (iiParameter(&(yyvsp[(2) - (2)].lv))) YYERROR; }3901 else { if (iiAlias(& (yyvsp[(2) - (2)].lv))) YYERROR; }3572 if (yyvsp[-1].i==PARAMETER) { if (iiParameter(&yyvsp[0].lv)) YYERROR; } 3573 else { if (iiAlias(&yyvsp[0].lv)) YYERROR; } 3902 3574 ;} 3903 3575 break; 3904 3576 3905 3577 case 167: 3906 #line 159 0"grammar.y"3578 #line 1593 "grammar.y" 3907 3579 { 3908 3580 // decl. of type proc p(i) 3909 3581 sleftv tmp_expr; 3910 if ( (yyvsp[(1) - (2)].i)==ALIAS_CMD) MYYERROR("alias requires a type");3911 if ((iiDeclCommand(&tmp_expr,& (yyvsp[(2) - (2)].lv),myynest,DEF_CMD,&IDROOT))3582 if (yyvsp[-1].i==ALIAS_CMD) MYYERROR("alias requires a type"); 3583 if ((iiDeclCommand(&tmp_expr,&yyvsp[0].lv,myynest,DEF_CMD,&IDROOT)) 3912 3584 || (iiParameter(&tmp_expr))) 3913 3585 YYERROR; … … 3916 3588 3917 3589 case 168: 3918 #line 160 2"grammar.y"3590 #line 1605 "grammar.y" 3919 3591 { 3920 3592 if(iiRETURNEXPR==NULL) YYERROR; 3921 iiRETURNEXPR[myynest].Copy(& (yyvsp[(3) - (4)].lv));3922 (yyvsp[(3) - (4)].lv).CleanUp();3593 iiRETURNEXPR[myynest].Copy(&yyvsp[-1].lv); 3594 yyvsp[-1].lv.CleanUp(); 3923 3595 if (exitBuffer(BT_proc)) YYERROR; 3924 3596 ;} … … 3926 3598 3927 3599 case 169: 3928 #line 16 09"grammar.y"3929 { 3930 if ( (yyvsp[(1) - (3)].i)==RETURN)3600 #line 1612 "grammar.y" 3601 { 3602 if (yyvsp[-2].i==RETURN) 3931 3603 { 3932 3604 if(iiRETURNEXPR==NULL) YYERROR; … … 3939 3611 3940 3612 3941 /* Line 1267 of yacc.c. */3942 #line 3940 "grammar.cc"3943 default: break;3944 3613 } 3945 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 3946 3947 YYPOPSTACK (yylen); 3948 yylen = 0; 3614 3615 /* Line 1010 of yacc.c. */ 3616 #line 3614 "grammar.cc" 3617 3618 3619 yyvsp -= yylen; 3620 yyssp -= yylen; 3621 3622 3949 3623 YY_STACK_PRINT (yyss, yyssp); 3950 3624 … … 3975 3649 { 3976 3650 ++yynerrs; 3977 #if ! YYERROR_VERBOSE 3978 yyerror (YY_("syntax error")); 3979 #else 3980 { 3981 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 3982 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 3983 { 3984 YYSIZE_T yyalloc = 2 * yysize; 3985 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 3986 yyalloc = YYSTACK_ALLOC_MAXIMUM; 3987 if (yymsg != yymsgbuf) 3651 #if YYERROR_VERBOSE 3652 yyn = yypact[yystate]; 3653 3654 if (YYPACT_NINF < yyn && yyn < YYLAST) 3655 { 3656 YYSIZE_T yysize = 0; 3657 int yytype = YYTRANSLATE (yychar); 3658 const char* yyprefix; 3659 char *yymsg; 3660 int yyx; 3661 3662 /* Start YYX at -YYN if negative to avoid negative indexes in 3663 YYCHECK. */ 3664 int yyxbegin = yyn < 0 ? -yyn : 0; 3665 3666 /* Stay within bounds of both yycheck and yytname. */ 3667 int yychecklim = YYLAST - yyn; 3668 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 3669 int yycount = 0; 3670 3671 yyprefix = ", expecting "; 3672 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 3673 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 3674 { 3675 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); 3676 yycount += 1; 3677 if (yycount == 5) 3678 { 3679 yysize = 0; 3680 break; 3681 } 3682 } 3683 yysize += (sizeof ("syntax error, unexpected ") 3684 + yystrlen (yytname[yytype])); 3685 yymsg = (char *) YYSTACK_ALLOC (yysize); 3686 if (yymsg != 0) 3687 { 3688 char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); 3689 yyp = yystpcpy (yyp, yytname[yytype]); 3690 3691 if (yycount < 5) 3692 { 3693 yyprefix = ", expecting "; 3694 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 3695 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 3696 { 3697 yyp = yystpcpy (yyp, yyprefix); 3698 yyp = yystpcpy (yyp, yytname[yyx]); 3699 yyprefix = " or "; 3700 } 3701 } 3702 yyerror (yymsg); 3988 3703 YYSTACK_FREE (yymsg); 3989 yymsg = (char *) YYSTACK_ALLOC (yyalloc); 3990 if (yymsg) 3991 yymsg_alloc = yyalloc; 3992 else 3993 { 3994 yymsg = yymsgbuf; 3995 yymsg_alloc = sizeof yymsgbuf; 3996 } 3997 } 3998 3999 if (0 < yysize && yysize <= yymsg_alloc) 4000 { 4001 (void) yysyntax_error (yymsg, yystate, yychar); 4002 yyerror (yymsg); 4003 } 4004 else 4005 { 4006 yyerror (YY_("syntax error")); 4007 if (yysize != 0) 4008 goto yyexhaustedlab; 4009 } 4010 } 4011 #endif 4012 } 4013 4014 4015 4016 if (yyerrstatus == 3) 4017 { 4018 /* If just tried and failed to reuse look-ahead token after an 4019 error, discard it. */ 4020 4021 if (yychar <= YYEOF) 4022 { 4023 /* Return failure if at end of input. */ 4024 if (yychar == YYEOF) 4025 YYABORT; 3704 } 3705 else 3706 yyerror ("syntax error; also virtual memory exhausted"); 4026 3707 } 4027 3708 else 3709 #endif /* YYERROR_VERBOSE */ 3710 yyerror ("syntax error"); 3711 } 3712 3713 3714 3715 if (yyerrstatus == 3) 3716 { 3717 /* If just tried and failed to reuse lookahead token after an 3718 error, discard it. */ 3719 3720 if (yychar <= YYEOF) 3721 { 3722 /* If at end of input, pop the error token, 3723 then the rest of the stack, then return failure. */ 3724 if (yychar == YYEOF) 3725 for (;;) 3726 { 3727 YYPOPSTACK; 3728 if (yyssp == yyss) 3729 YYABORT; 3730 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); 3731 yydestruct (yystos[*yyssp], yyvsp); 3732 } 3733 } 3734 else 4028 3735 { 4029 yydestruct ("Error: discarding",4030 3736 YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); 3737 yydestruct (yytoken, &yylval); 4031 3738 yychar = YYEMPTY; 3739 4032 3740 } 4033 3741 } 4034 3742 4035 /* Else will try to reuse look -ahead token after shifting the error3743 /* Else will try to reuse lookahead token after shifting the error 4036 3744 token. */ 4037 3745 goto yyerrlab1; … … 4043 3751 yyerrorlab: 4044 3752 4045 /* Pacify compilers like GCC when the user code never invokes 4046 YYERROR and the label yyerrorlab therefore never appears in user4047 code. */4048 if ( /*CONSTCOND*/0)3753 #ifdef __GNUC__ 3754 /* Pacify GCC when the user code never invokes YYERROR and the label 3755 yyerrorlab therefore never appears in user code. */ 3756 if (0) 4049 3757 goto yyerrorlab; 4050 4051 /* Do not reclaim the symbols of the rule which action triggered 4052 this YYERROR. */ 4053 YYPOPSTACK (yylen); 4054 yylen = 0; 4055 YY_STACK_PRINT (yyss, yyssp); 3758 #endif 3759 3760 yyvsp -= yylen; 3761 yyssp -= yylen; 4056 3762 yystate = *yyssp; 4057 3763 goto yyerrlab1; … … 4082 3788 YYABORT; 4083 3789 4084 4085 yydestruct ("Error: popping", 4086 yystos[yystate], yyvsp); 4087 YYPOPSTACK (1); 3790 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); 3791 yydestruct (yystos[yystate], yyvsp); 3792 YYPOPSTACK; 4088 3793 yystate = *yyssp; 4089 3794 YY_STACK_PRINT (yyss, yyssp); … … 4093 3798 YYACCEPT; 4094 3799 3800 YYDPRINTF ((stderr, "Shifting error token, ")); 3801 4095 3802 *++yyvsp = yylval; 4096 3803 4097 4098 /* Shift the error token. */4099 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);4100 3804 4101 3805 yystate = yyn; … … 4118 3822 4119 3823 #ifndef yyoverflow 4120 /*---------------------------------------------- ---.4121 | yy exhaustedlab -- memory exhaustioncomes here. |4122 `---------------------------------------------- ---*/4123 yy exhaustedlab:4124 yyerror ( YY_("memory exhausted"));3824 /*----------------------------------------------. 3825 | yyoverflowlab -- parser overflow comes here. | 3826 `----------------------------------------------*/ 3827 yyoverflowlab: 3828 yyerror ("parser stack overflow"); 4125 3829 yyresult = 2; 4126 3830 /* Fall through. */ … … 4128 3832 4129 3833 yyreturn: 4130 if (yychar != YYEOF && yychar != YYEMPTY)4131 yydestruct ("Cleanup: discarding lookahead",4132 yytoken, &yylval);4133 /* Do not reclaim the symbols of the rule which action triggered4134 this YYABORT or YYACCEPT. */4135 YYPOPSTACK (yylen);4136 YY_STACK_PRINT (yyss, yyssp);4137 while (yyssp != yyss)4138 {4139 yydestruct ("Cleanup: popping",4140 yystos[*yyssp], yyvsp);4141 YYPOPSTACK (1);4142 }4143 3834 #ifndef yyoverflow 4144 3835 if (yyss != yyssa) 4145 3836 YYSTACK_FREE (yyss); 4146 3837 #endif 4147 #if YYERROR_VERBOSE 4148 if (yymsg != yymsgbuf) 4149 YYSTACK_FREE (yymsg); 4150 #endif 4151 /* Make sure YYID is used. */ 4152 return YYID (yyresult); 3838 return yyresult; 4153 3839 } 4154 3840 -
Singular/grammar.h
rd80a1a ra5a8a1 1 /* A Bison parser, made by GNU Bison 2.3. */ 2 3 /* Skeleton interface for Bison's Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6 Free Software Foundation, Inc. 1 /* A Bison parser, made by GNU Bison 1.875d. */ 2 3 /* Skeleton parser for Yacc-like parsing with Bison, 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 7 5 8 6 This program is free software; you can redistribute it and/or modify … … 18 16 You should have received a copy of the GNU General Public License 19 17 along with this program; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 Boston, MA 02110-1301, USA. */ 22 23 /* As a special exception, you may create a larger work that contains 24 part or all of the Bison parser skeleton and distribute that work 25 under terms of your choice, so long as that work isn't itself a 26 parser generator using the skeleton or a modified version thereof 27 as a parser skeleton. Alternatively, if you modify or redistribute 28 the parser skeleton itself, you may (at your option) remove this 29 special exception, which will cause the skeleton and the resulting 30 Bison output files to be licensed under the GNU General Public 31 License without this special exception. 32 33 This special exception was added by the Free Software Foundation in 34 version 2.2 of Bison. */ 18 Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 20 21 /* As a special exception, when this file is copied by Bison into a 22 Bison output file, you may use that output file without restriction. 23 This special exception was added by the Free Software Foundation 24 in version 1.24 of Bison. */ 35 25 36 26 /* Tokens. */ … … 166 156 }; 167 157 #endif 168 /* Tokens. */169 158 #define DOTDOT 258 170 159 #define EQUAL_EQUAL 259 … … 295 284 296 285 297 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED286 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 298 287 typedef int YYSTYPE; 299 288 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ … … 304 293 305 294 295 296 -
Singular/grammar.y
rd80a1a ra5a8a1 1410 1410 TYPE_CMD expr 1411 1411 { 1412 if ($2.rtyp!=IDHDL) MYYERROR("identifier expected"); 1413 idhdl h = (idhdl)$2.data; 1414 type_cmd(h); 1412 if (($2.e!=NULL)||($2.rtyp!=IDHDL)) $2.Print(); 1413 else 1414 { 1415 idhdl h = (idhdl)$2.data; 1416 type_cmd(h); 1417 } 1415 1418 } 1416 1419 | exprlist
Note: See TracChangeset
for help on using the changeset viewer.