Changeset e54c6ee in git


Ignore:
Timestamp:
Aug 16, 2016, 10:47:22 AM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '52dcfddee5ec87d404d5e0fb44f2d627608208f1')
Children:
f8735a6f0fe51d2c1c11121c35982563485c2b25
Parents:
3238c13e1d0da1d4c477894d1b70583f86f828f9
Message:
Singular_4_1: new names; Ring. Matrix, Number, construction cf[x], ....
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • Singular/gentable.cc

    r3238c1 re54c6ee  
    143143  if (tok==IDHDL) return "identifier";
    144144  #ifdef SINGULAR_4_1
    145   if (tok==CRING_CMD) return "(c)ring";
     145  if (tok==CRING_CMD) return "Ring";
    146146  #endif
    147147  // we do not blackbox objects during table generation:
  • Singular/grammar.cc

    r3238c1 re54c6ee  
    1 /* A Bison parser, made by GNU Bison 2.4.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    2009, 2010 Free Software Foundation, Inc.
     1/* A Bison parser, made by GNU Bison 3.0.4.  */
     2
     3/* Bison implementation for Yacc-like parsers in C
     4
     5   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
    76
    87   This program is free software: you can redistribute it and/or modify
     
    4645
    4746/* Bison version.  */
    48 #define YYBISON_VERSION "2.4.3"
     47#define YYBISON_VERSION "3.0.4"
    4948
    5049/* Skeleton name.  */
     
    6059#define YYPULL 1
    6160
    62 /* Using locations.  */
    63 #define YYLSP_NEEDED 0
    6461
    6562
    6663
    6764/* Copy the first part of user declarations.  */
    68 
    69 /* Line 189 of yacc.c  */
    70 #line 7 "grammar.y"
     65#line 7 "grammar.y" /* yacc.c:339  */
    7166
    7267
     
    236231
    237232
    238 
    239 /* Line 189 of yacc.c  */
    240 #line 242 "grammar.cc"
    241 
    242 /* Enabling traces.  */
    243 #ifndef YYDEBUG
    244 # define YYDEBUG 1
    245 #endif
     233#line 234 "grammar.cc" /* yacc.c:339  */
     234
     235# ifndef YY_NULLPTR
     236#  if defined __cplusplus && 201103L <= __cplusplus
     237#   define YY_NULLPTR nullptr
     238#  else
     239#   define YY_NULLPTR 0
     240#  endif
     241# endif
    246242
    247243/* Enabling verbose error messages.  */
     
    253249#endif
    254250
    255 /* Enabling the token table.  */
    256 #ifndef YYTOKEN_TABLE
    257 # define YYTOKEN_TABLE 0
     251/* In a future release of Bison, this section will be replaced
     252   by #include "grammar.hh".  */
     253#ifndef YY_YY_GRAMMAR_HH_INCLUDED
     254# define YY_YY_GRAMMAR_HH_INCLUDED
     255/* Debug traces.  */
     256#ifndef YYDEBUG
     257# define YYDEBUG 1
    258258#endif
    259 
    260 
    261 /* Tokens.  */
     259#if YYDEBUG
     260extern int yydebug;
     261#endif
     262
     263/* Token type.  */
    262264#ifndef YYTOKENTYPE
    263265# define YYTOKENTYPE
    264    /* Put the tokens into the symbol table, so that GDB and other debuggers
    265       know about them.  */
    266    enum yytokentype {
    267      DOTDOT = 258,
    268      EQUAL_EQUAL = 259,
    269      GE = 260,
    270      LE = 261,
    271      MINUSMINUS = 262,
    272      NOT = 263,
    273      NOTEQUAL = 264,
    274      PLUSPLUS = 265,
    275      COLONCOLON = 266,
    276      ARROW = 267,
    277      GRING_CMD = 268,
    278      BIGINTMAT_CMD = 269,
    279      INTMAT_CMD = 270,
    280      PROC_CMD = 271,
    281      RING_CMD = 272,
    282      BEGIN_RING = 273,
    283      IDEAL_CMD = 274,
    284      MAP_CMD = 275,
    285      MATRIX_CMD = 276,
    286      MODUL_CMD = 277,
    287      NUMBER_CMD = 278,
    288      POLY_CMD = 279,
    289      RESOLUTION_CMD = 280,
    290      VECTOR_CMD = 281,
    291      BETTI_CMD = 282,
    292      E_CMD = 283,
    293      FETCH_CMD = 284,
    294      FREEMODULE_CMD = 285,
    295      KEEPRING_CMD = 286,
    296      IMAP_CMD = 287,
    297      KOSZUL_CMD = 288,
    298      MAXID_CMD = 289,
    299      MONOM_CMD = 290,
    300      PAR_CMD = 291,
    301      PREIMAGE_CMD = 292,
    302      VAR_CMD = 293,
    303      VALTVARS = 294,
    304      VMAXDEG = 295,
    305      VMAXMULT = 296,
    306      VNOETHER = 297,
    307      VMINPOLY = 298,
    308      END_RING = 299,
    309      CMD_1 = 300,
    310      CMD_2 = 301,
    311      CMD_3 = 302,
    312      CMD_12 = 303,
    313      CMD_13 = 304,
    314      CMD_23 = 305,
    315      CMD_123 = 306,
    316      CMD_M = 307,
    317      ROOT_DECL = 308,
    318      ROOT_DECL_LIST = 309,
    319      RING_DECL = 310,
    320      RING_DECL_LIST = 311,
    321      EXAMPLE_CMD = 312,
    322      EXPORT_CMD = 313,
    323      HELP_CMD = 314,
    324      KILL_CMD = 315,
    325      LIB_CMD = 316,
    326      LISTVAR_CMD = 317,
    327      SETRING_CMD = 318,
    328      TYPE_CMD = 319,
    329      STRINGTOK = 320,
    330      BLOCKTOK = 321,
    331      INT_CONST = 322,
    332      UNKNOWN_IDENT = 323,
    333      RINGVAR = 324,
    334      PROC_DEF = 325,
    335      APPLY = 326,
    336      ASSUME_CMD = 327,
    337      BREAK_CMD = 328,
    338      CONTINUE_CMD = 329,
    339      ELSE_CMD = 330,
    340      EVAL = 331,
    341      QUOTE = 332,
    342      FOR_CMD = 333,
    343      IF_CMD = 334,
    344      SYS_BREAK = 335,
    345      WHILE_CMD = 336,
    346      RETURN = 337,
    347      PARAMETER = 338,
    348      SYSVAR = 339,
    349      UMINUS = 340
    350    };
     266  enum yytokentype
     267  {
     268    DOTDOT = 258,
     269    EQUAL_EQUAL = 259,
     270    GE = 260,
     271    LE = 261,
     272    MINUSMINUS = 262,
     273    NOT = 263,
     274    NOTEQUAL = 264,
     275    PLUSPLUS = 265,
     276    COLONCOLON = 266,
     277    ARROW = 267,
     278    GRING_CMD = 268,
     279    BIGINTMAT_CMD = 269,
     280    INTMAT_CMD = 270,
     281    PROC_CMD = 271,
     282    RING_CMD = 272,
     283    BEGIN_RING = 273,
     284    IDEAL_CMD = 274,
     285    MAP_CMD = 275,
     286    MATRIX_CMD = 276,
     287    MODUL_CMD = 277,
     288    NUMBER_CMD = 278,
     289    POLY_CMD = 279,
     290    RESOLUTION_CMD = 280,
     291    VECTOR_CMD = 281,
     292    BETTI_CMD = 282,
     293    E_CMD = 283,
     294    FETCH_CMD = 284,
     295    FREEMODULE_CMD = 285,
     296    KEEPRING_CMD = 286,
     297    IMAP_CMD = 287,
     298    KOSZUL_CMD = 288,
     299    MAXID_CMD = 289,
     300    MONOM_CMD = 290,
     301    PAR_CMD = 291,
     302    PREIMAGE_CMD = 292,
     303    VAR_CMD = 293,
     304    VALTVARS = 294,
     305    VMAXDEG = 295,
     306    VMAXMULT = 296,
     307    VNOETHER = 297,
     308    VMINPOLY = 298,
     309    END_RING = 299,
     310    CMD_1 = 300,
     311    CMD_2 = 301,
     312    CMD_3 = 302,
     313    CMD_12 = 303,
     314    CMD_13 = 304,
     315    CMD_23 = 305,
     316    CMD_123 = 306,
     317    CMD_M = 307,
     318    ROOT_DECL = 308,
     319    ROOT_DECL_LIST = 309,
     320    RING_DECL = 310,
     321    RING_DECL_LIST = 311,
     322    EXAMPLE_CMD = 312,
     323    EXPORT_CMD = 313,
     324    HELP_CMD = 314,
     325    KILL_CMD = 315,
     326    LIB_CMD = 316,
     327    LISTVAR_CMD = 317,
     328    SETRING_CMD = 318,
     329    TYPE_CMD = 319,
     330    STRINGTOK = 320,
     331    BLOCKTOK = 321,
     332    INT_CONST = 322,
     333    UNKNOWN_IDENT = 323,
     334    RINGVAR = 324,
     335    PROC_DEF = 325,
     336    APPLY = 326,
     337    ASSUME_CMD = 327,
     338    BREAK_CMD = 328,
     339    CONTINUE_CMD = 329,
     340    ELSE_CMD = 330,
     341    EVAL = 331,
     342    QUOTE = 332,
     343    FOR_CMD = 333,
     344    IF_CMD = 334,
     345    SYS_BREAK = 335,
     346    WHILE_CMD = 336,
     347    RETURN = 337,
     348    PARAMETER = 338,
     349    SYSVAR = 339,
     350    UMINUS = 340
     351  };
    351352#endif
    352353
    353 
    354 
    355 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    356 
    357 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    358 # define YYSTYPE_IS_DECLARED 1
    359 #endif
    360 
     354/* Value type.  */
     355
     356
     357
     358int yyparse (void);
     359
     360#endif /* !YY_YY_GRAMMAR_HH_INCLUDED  */
    361361
    362362/* Copy the second part of user declarations.  */
    363363
    364 
    365 /* Line 264 of yacc.c  */
    366 #line 368 "grammar.cc"
     364#line 365 "grammar.cc" /* yacc.c:358  */
    367365
    368366#ifdef short
     
    378376#ifdef YYTYPE_INT8
    379377typedef YYTYPE_INT8 yytype_int8;
    380 #elif (defined __STDC__ || defined __C99__FUNC__ \
    381      || defined __cplusplus || defined _MSC_VER)
     378#else
    382379typedef signed char yytype_int8;
    383 #else
    384 typedef short int yytype_int8;
    385380#endif
    386381
     
    402397# elif defined size_t
    403398#  define YYSIZE_T size_t
    404 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
    405      || defined __cplusplus || defined _MSC_VER)
     399# elif ! defined YYSIZE_T
    406400#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    407401#  define YYSIZE_T size_t
     
    417411#  if ENABLE_NLS
    418412#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    419 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
     413#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
    420414#  endif
    421415# endif
    422416# ifndef YY_
    423 #  define YY_(msgid) msgid
     417#  define YY_(Msgid) Msgid
    424418# endif
    425419#endif
    426420
     421#ifndef YY_ATTRIBUTE
     422# if (defined __GNUC__                                               \
     423      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
     424     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
     425#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
     426# else
     427#  define YY_ATTRIBUTE(Spec) /* empty */
     428# endif
     429#endif
     430
     431#ifndef YY_ATTRIBUTE_PURE
     432# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
     433#endif
     434
     435#ifndef YY_ATTRIBUTE_UNUSED
     436# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
     437#endif
     438
     439#if !defined _Noreturn \
     440     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
     441# if defined _MSC_VER && 1200 <= _MSC_VER
     442#  define _Noreturn __declspec (noreturn)
     443# else
     444#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
     445# endif
     446#endif
     447
    427448/* Suppress unused-variable warnings by "using" E.  */
    428449#if ! defined lint || defined __GNUC__
    429 # define YYUSE(e) ((void) (e))
     450# define YYUSE(E) ((void) (E))
    430451#else
    431 # define YYUSE(e) /* empty */
     452# define YYUSE(E) /* empty */
    432453#endif
    433454
    434 /* Identity function, used to suppress warnings about constant conditions.  */
    435 #ifndef lint
    436 # define YYID(n) (n)
     455#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
     456/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
     457# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
     458    _Pragma ("GCC diagnostic push") \
     459    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
     460    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
     461# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
     462    _Pragma ("GCC diagnostic pop")
    437463#else
    438 #if (defined __STDC__ || defined __C99__FUNC__ \
    439      || defined __cplusplus || defined _MSC_VER)
    440 static int
    441 YYID (int yyi)
    442 #else
    443 static int
    444 YYID (yyi)
    445     int yyi;
     464# define YY_INITIAL_VALUE(Value) Value
    446465#endif
    447 {
    448   return yyi;
    449 }
     466#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
     467# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
     468# define YY_IGNORE_MAYBE_UNINITIALIZED_END
    450469#endif
     470#ifndef YY_INITIAL_VALUE
     471# define YY_INITIAL_VALUE(Value) /* Nothing. */
     472#endif
     473
    451474
    452475#if ! defined yyoverflow || YYERROR_VERBOSE
     
    467490#   else
    468491#    define YYSTACK_ALLOC alloca
    469 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    470      || defined __cplusplus || defined _MSC_VER)
     492#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
    471493#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    472 #     ifndef _STDLIB_H
    473 #      define _STDLIB_H 1
     494      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
     495#     ifndef EXIT_SUCCESS
     496#      define EXIT_SUCCESS 0
    474497#     endif
    475498#    endif
     
    479502
    480503# ifdef YYSTACK_ALLOC
    481    /* Pacify GCC's `empty if-body' warning.  */
    482 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
     504   /* Pacify GCC's 'empty if-body' warning.  */
     505#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    483506#  ifndef YYSTACK_ALLOC_MAXIMUM
    484507    /* The OS might guarantee only one guard page at the bottom of the stack,
     
    494517#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
    495518#  endif
    496 #  if (defined __cplusplus && ! defined _STDLIB_H \
     519#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
    497520       && ! ((defined YYMALLOC || defined malloc) \
    498              && (defined YYFREE || defined free)))
     521             && (defined YYFREE || defined free)))
    499522#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    500 #   ifndef _STDLIB_H
    501 #    define _STDLIB_H 1
     523#   ifndef EXIT_SUCCESS
     524#    define EXIT_SUCCESS 0
    502525#   endif
    503526#  endif
    504527#  ifndef YYMALLOC
    505528#   define YYMALLOC malloc
    506 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    507      || defined __cplusplus || defined _MSC_VER)
     529#   if ! defined malloc && ! defined EXIT_SUCCESS
    508530void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    509531#   endif
     
    511533#  ifndef YYFREE
    512534#   define YYFREE free
    513 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
    514      || defined __cplusplus || defined _MSC_VER)
     535#   if ! defined free && ! defined EXIT_SUCCESS
    515536void free (void *); /* INFRINGES ON USER NAME SPACE */
    516537#   endif
     
    522543#if (! defined yyoverflow \
    523544     && (! defined __cplusplus \
    524         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
     545        || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    525546
    526547/* A type that is properly aligned for any stack member.  */
     
    540561      + YYSTACK_GAP_MAXIMUM)
    541562
    542 /* Copy COUNT objects from FROM to TO.  The source and destination do
    543    not overlap.  */
    544 # ifndef YYCOPY
    545 #  if defined __GNUC__ && 1 < __GNUC__
    546 #   define YYCOPY(To, From, Count) \
    547       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    548 #  else
    549 #   define YYCOPY(To, From, Count)              \
    550       do                                        \
    551         {                                       \
    552           YYSIZE_T yyi;                         \
    553           for (yyi = 0; yyi < (Count); yyi++)   \
    554             (To)[yyi] = (From)[yyi];            \
    555         }                                       \
    556       while (YYID (0))
    557 #  endif
    558 # endif
     563# define YYCOPY_NEEDED 1
    559564
    560565/* Relocate STACK from its old location to the new one.  The
     
    563568   stack.  Advance YYPTR to a properly aligned location for the next
    564569   stack.  */
    565 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    566     do                                                                  \
    567       {                                                                 \
    568         YYSIZE_T yynewbytes;                                            \
    569         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
    570         Stack = &yyptr->Stack_alloc;                                    \
    571         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    572         yyptr += yynewbytes / sizeof (*yyptr);                          \
    573       }                                                                 \
    574     while (YYID (0))
     570# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
     571    do                                                                  \
     572      {                                                                 \
     573        YYSIZE_T yynewbytes;                                            \
     574        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
     575        Stack = &yyptr->Stack_alloc;                                    \
     576        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
     577        yyptr += yynewbytes / sizeof (*yyptr);                          \
     578      }                                                                 \
     579    while (0)
    575580
    576581#endif
     582
     583#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
     584/* Copy COUNT objects from SRC to DST.  The source and destination do
     585   not overlap.  */
     586# ifndef YYCOPY
     587#  if defined __GNUC__ && 1 < __GNUC__
     588#   define YYCOPY(Dst, Src, Count) \
     589      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
     590#  else
     591#   define YYCOPY(Dst, Src, Count)              \
     592      do                                        \
     593        {                                       \
     594          YYSIZE_T yyi;                         \
     595          for (yyi = 0; yyi < (Count); yyi++)   \
     596            (Dst)[yyi] = (Src)[yyi];            \
     597        }                                       \
     598      while (0)
     599#  endif
     600# endif
     601#endif /* !YYCOPY_NEEDED */
    577602
    578603/* YYFINAL -- State number of the termination state.  */
    579604#define YYFINAL  2
    580605/* YYLAST -- Last index in YYTABLE.  */
    581 #define YYLAST   2549
     606#define YYLAST   2527
    582607
    583608/* YYNTOKENS -- Number of terminals.  */
     
    586611#define YYNNTS  45
    587612/* YYNRULES -- Number of rules.  */
    588 #define YYNRULES  174
    589 /* YYNRULES -- Number of states.  */
    590 #define YYNSTATES  396
    591 
    592 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     613#define YYNRULES  175
     614/* YYNSTATES -- Number of states.  */
     615#define YYNSTATES  399
     616
     617/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
     618   by yylex, with out-of-bounds checking.  */
    593619#define YYUNDEFTOK  2
    594620#define YYMAXUTOK   340
    595621
    596 #define YYTRANSLATE(YYX)                                                \
     622#define YYTRANSLATE(YYX)                                                \
    597623  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    598624
    599 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
     625/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
     626   as returned by yylex, without out-of-bounds checking.  */
    600627static const yytype_uint8 yytranslate[] =
    601628{
     
    638665
    639666#if YYDEBUG
    640 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    641    YYRHS.  */
    642 static const yytype_uint16 yyprhs[] =
    643 {
    644        0,     0,     3,     4,     7,     9,    12,    15,    17,    19,
    645       21,    24,    26,    28,    30,    32,    34,    36,    38,    40,
    646       43,    45,    47,    49,    51,    53,    55,    57,    59,    61,
    647       64,    66,    68,    72,    76,    80,    85,    89,    91,    93,
    648       95,   100,   105,   110,   114,   119,   124,   128,   133,   138,
    649      143,   148,   155,   162,   169,   176,   185,   194,   203,   212,
    650      216,   221,   230,   235,   244,   249,   253,   257,   259,   261,
    651      263,   267,   274,   279,   286,   293,   300,   307,   314,   321,
    652      325,   331,   337,   338,   344,   347,   350,   352,   355,   358,
    653      362,   366,   370,   374,   378,   382,   386,   390,   394,   398,
    654      401,   404,   407,   410,   412,   416,   419,   422,   425,   428,
    655      437,   440,   444,   447,   449,   451,   457,   459,   461,   466,
    656      468,   472,   474,   478,   480,   482,   484,   486,   487,   492,
    657      496,   499,   503,   506,   509,   513,   518,   523,   528,   533,
    658      538,   543,   548,   553,   560,   567,   574,   581,   588,   595,
    659      602,   606,   608,   617,   620,   625,   628,   630,   632,   635,
    660      638,   640,   646,   649,   655,   657,   659,   663,   669,   673,
    661      677,   682,   685,   688,   693
    662 };
    663 
    664 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
    665 static const yytype_int16 yyrhs[] =
    666 {
    667      104,     0,    -1,    -1,   104,   105,    -1,   106,    -1,   108,
    668       95,    -1,   120,    95,    -1,   147,    -1,    80,    -1,    95,
    669       -1,     1,    95,    -1,   142,    -1,   143,    -1,   107,    -1,
    670      144,    -1,   145,    -1,   129,    -1,   131,    -1,   132,    -1,
    671       57,    66,    -1,   109,    -1,   133,    -1,   134,    -1,   135,
    672       -1,   146,    -1,   137,    -1,   138,    -1,   140,    -1,   141,
    673       -1,   118,   111,    -1,    69,    -1,   119,    -1,   110,    11,
    674      110,    -1,   112,   101,   110,    -1,   110,    99,   100,    -1,
    675      110,    99,   111,   100,    -1,    91,   111,    92,    -1,    67,
    676       -1,    84,    -1,   121,    -1,    16,    99,   112,   100,    -1,
    677       53,    99,   112,   100,    -1,    54,    99,   111,   100,    -1,
    678       54,    99,   100,    -1,    55,    99,   112,   100,    -1,    56,
    679       99,   111,   100,    -1,    56,    99,   100,    -1,    45,    99,
    680      112,   100,    -1,    48,    99,   112,   100,    -1,    49,    99,
    681      112,   100,    -1,    51,    99,   112,   100,    -1,    46,    99,
    682      112,    94,   112,   100,    -1,    48,    99,   112,    94,   112,
    683      100,    -1,    50,    99,   112,    94,   112,   100,    -1,    51,
    684       99,   112,    94,   112,   100,    -1,    47,    99,   112,    94,
    685      112,    94,   112,   100,    -1,    49,    99,   112,    94,   112,
    686       94,   112,   100,    -1,    50,    99,   112,    94,   112,    94,
    687      112,   100,    -1,    51,    99,   112,    94,   112,    94,   112,
    688      100,    -1,    52,    99,   100,    -1,    52,    99,   111,   100,
    689       -1,   128,    99,   112,    94,   112,    94,   112,   100,    -1,
    690      128,    99,   112,   100,    -1,    17,    99,   122,    94,   122,
    691       94,   126,   100,    -1,    17,    99,   112,   100,    -1,   119,
    692       12,    66,    -1,   111,    94,   112,    -1,   112,    -1,   117,
    693       -1,   110,    -1,    99,   111,   100,    -1,   112,    91,   112,
    694       94,   112,    92,    -1,   112,    91,   112,    92,    -1,    71,
    695       99,   112,    94,    45,   100,    -1,    71,    99,   112,    94,
    696       48,   100,    -1,    71,    99,   112,    94,    49,   100,    -1,
    697       71,    99,   112,    94,    51,   100,    -1,    71,    99,   112,
    698       94,    52,   100,    -1,    71,    99,   112,    94,   112,   100,
    699       -1,   114,   112,   116,    -1,   114,   112,    85,   112,   116,
    700       -1,   115,   112,    94,   112,   116,    -1,    -1,    76,    99,
    701      113,   112,   100,    -1,    77,    99,    -1,    72,    99,    -1,
    702      100,    -1,   112,    10,    -1,   112,     7,    -1,   112,    88,
    703      112,    -1,   112,    89,   112,    -1,   112,    90,   112,    -1,
    704      112,    93,   112,    -1,   112,    86,   112,    -1,   112,    96,
    705      112,    -1,   112,     9,   112,    -1,   112,     4,   112,    -1,
    706      112,     3,   112,    -1,   112,    97,   112,    -1,     8,   112,
    707       -1,    89,   112,    -1,   120,   127,    -1,   111,    85,    -1,
    708       68,    -1,   102,   112,   102,    -1,    53,   110,    -1,    54,
    709      110,    -1,    55,   110,    -1,    56,   110,    -1,   128,   110,
    710       91,   112,    92,    91,   112,    92,    -1,   128,   110,    -1,
    711      120,    94,   110,    -1,    16,   110,    -1,    65,    -1,   112,
    712       -1,    99,   112,    94,   111,   100,    -1,    68,    -1,   123,
    713       -1,   123,    99,   111,   100,    -1,   124,    -1,   124,    94,
    714      125,    -1,   124,    -1,    99,   125,   100,    -1,    85,    -1,
    715       21,    -1,    15,    -1,    14,    -1,    -1,    86,   121,   130,
    716       95,    -1,    59,    65,    95,    -1,    59,    95,    -1,    57,
    717       65,    95,    -1,    58,   111,    -1,    60,   110,    -1,   134,
    718       94,   110,    -1,    62,    99,    53,   100,    -1,    62,    99,
    719       54,   100,    -1,    62,    99,    55,   100,    -1,    62,    99,
    720       56,   100,    -1,    62,    99,    17,   100,    -1,    62,    99,
    721      128,   100,    -1,    62,    99,    16,   100,    -1,    62,    99,
    722      110,   100,    -1,    62,    99,   110,    94,    53,   100,    -1,
    723       62,    99,   110,    94,    54,   100,    -1,    62,    99,   110,
    724       94,    55,   100,    -1,    62,    99,   110,    94,    56,   100,
    725       -1,    62,    99,   110,    94,    17,   100,    -1,    62,    99,
    726      110,    94,   128,   100,    -1,    62,    99,   110,    94,    16,
    727      100,    -1,    62,    99,   100,    -1,    17,    -1,   136,   110,
    728      127,   122,    94,   122,    94,   126,    -1,   136,   110,    -1,
    729      136,   110,   127,   110,    -1,    84,   121,    -1,    63,    -1,
    730       31,    -1,   139,   112,    -1,    64,   112,    -1,   111,    -1,
    731       79,    99,   112,   100,    66,    -1,    75,    66,    -1,    79,
    732       99,   112,   100,    73,    -1,    73,    -1,    74,    -1,    81,
    733       65,    66,    -1,    78,    65,    65,    65,    66,    -1,    16,
    734      119,    66,    -1,    70,    65,    66,    -1,    70,    65,    65,
    735       66,    -1,    83,   120,    -1,    83,   112,    -1,    82,    99,
    736      111,   100,    -1,    82,    99,   100,    -1
    737 };
    738 
    739 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
     667  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
    740668static const yytype_uint16 yyrline[] =
    741669{
    742        0,   317,   317,   319,   353,   354,   356,   358,   362,   367,
    743      369,   420,   421,   422,   423,   424,   425,   426,   427,   431,
    744      434,   435,   436,   437,   438,   439,   440,   441,   442,   445,
    745      452,   457,   461,   465,   469,   473,   486,   514,   538,   544,
    746      550,   554,   558,   562,   566,   570,   574,   578,   582,   586,
    747      590,   594,   598,   602,   606,   610,   614,   618,   622,   626,
    748      630,   636,   640,   644,   648,   652,   659,   670,   676,   681,
    749      682,   683,   687,   691,   695,   699,   703,   707,   711,   715,
    750      719,   736,   743,   742,   760,   768,   776,   785,   789,   793,
    751      797,   801,   805,   809,   813,   817,   821,   825,   829,   833,
    752      845,   852,   853,   872,   873,   885,   890,   895,   899,   903,
    753      939,   965,   986,   994,   998,   999,  1013,  1021,  1030,  1075,
    754     1076,  1085,  1086,  1092,  1099,  1101,  1103,  1113,  1112,  1120,
    755     1125,  1132,  1140,  1152,  1168,  1187,  1191,  1195,  1200,  1204,
    756     1208,  1212,  1216,  1221,  1227,  1233,  1239,  1245,  1251,  1257,
    757     1269,  1276,  1280,  1317,  1324,  1332,  1338,  1338,  1341,  1413,
    758     1417,  1446,  1459,  1476,  1485,  1490,  1498,  1510,  1529,  1539,
    759     1558,  1581,  1587,  1599,  1605
     670       0,   316,   316,   318,   352,   353,   355,   357,   361,   366,
     671     368,   419,   420,   421,   422,   423,   424,   425,   426,   430,
     672     433,   434,   435,   436,   437,   438,   439,   440,   441,   444,
     673     451,   456,   460,   464,   468,   472,   485,   513,   537,   543,
     674     549,   553,   557,   561,   565,   569,   573,   577,   581,   585,
     675     589,   593,   597,   601,   605,   609,   613,   617,   621,   625,
     676     629,   635,   639,   643,   647,   651,   658,   669,   675,   680,
     677     681,   682,   686,   690,   694,   698,   702,   706,   710,   714,
     678     718,   735,   742,   741,   759,   767,   775,   784,   788,   792,
     679     796,   800,   804,   808,   812,   816,   820,   824,   828,   832,
     680     844,   851,   852,   871,   872,   884,   889,   894,   898,   902,
     681     938,   964,   985,   993,   997,   998,  1012,  1020,  1029,  1074,
     682    1075,  1084,  1085,  1091,  1098,  1100,  1102,  1112,  1111,  1119,
     683    1124,  1131,  1139,  1151,  1167,  1186,  1190,  1194,  1199,  1203,
     684    1207,  1211,  1215,  1220,  1226,  1232,  1238,  1244,  1250,  1256,
     685    1268,  1275,  1279,  1316,  1323,  1328,  1345,  1351,  1351,  1354,
     686    1422,  1426,  1455,  1468,  1485,  1494,  1499,  1507,  1519,  1538,
     687    1548,  1567,  1590,  1596,  1608,  1614
    760688};
    761689#endif
    762690
    763 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
     691#if YYDEBUG || YYERROR_VERBOSE || 0
    764692/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    765693   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
     
    790718  "$@2", "helpcmd", "examplecmd", "exportcmd", "killcmd", "listcmd",
    791719  "ringcmd1", "ringcmd", "scriptcmd", "setrings", "setringcmd", "typecmd",
    792   "ifcmd", "whilecmd", "forcmd", "proccmd", "parametercmd", "returncmd", 0
     720  "ifcmd", "whilecmd", "forcmd", "proccmd", "parametercmd", "returncmd", YY_NULLPTR
    793721};
    794722#endif
    795723
    796724# ifdef YYPRINT
    797 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    798    token YYLEX-NUM.  */
     725/* YYTOKNUM[NUM] -- (External) token number corresponding to the
     726   (internal) symbol number NUM (which must be that of a token).  */
    799727static const yytype_uint16 yytoknum[] =
    800728{
     
    813741# endif
    814742
    815 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    816 static const yytype_uint8 yyr1[] =
     743#define YYPACT_NINF -365
     744
     745#define yypact_value_is_default(Yystate) \
     746  (!!((Yystate) == (-365)))
     747
     748#define YYTABLE_NINF -155
     749
     750#define yytable_value_is_error(Yytable_value) \
     751  (!!((Yytable_value) == (-155)))
     752
     753  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     754     STATE-NUM.  */
     755static const yytype_int16 yypact[] =
    817756{
    818        0,   103,   104,   104,   105,   105,   105,   105,   105,   105,
    819      105,   106,   106,   106,   106,   106,   106,   106,   106,   107,
    820      108,   108,   108,   108,   108,   108,   108,   108,   108,   109,
    821      110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
    822      110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
    823      110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
    824      110,   110,   110,   110,   110,   110,   111,   111,   112,   112,
    825      112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
    826      112,   112,   113,   112,   114,   115,   116,   117,   117,   117,
    827      117,   117,   117,   117,   117,   117,   117,   117,   117,   117,
    828      117,   118,   118,   119,   119,   120,   120,   120,   120,   120,
    829      120,   120,   120,   121,   122,   122,   123,   124,   124,   125,
    830      125,   126,   126,   127,   128,   128,   128,   130,   129,   131,
    831      131,   132,   133,   134,   134,   135,   135,   135,   135,   135,
    832      135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
    833      135,   136,   137,   137,   137,   138,   139,   139,   140,   141,
    834      141,   142,   142,   142,   142,   142,   143,   144,   145,   145,
    835      145,   146,   146,   147,   147
     757    -365,   374,  -365,   -71,  1840,  -365,  -365,  1905,   -63,  -365,
     758    -365,   -44,   -24,   -19,   -15,   -10,     8,    15,    25,  1970,
     759    2035,  2100,  2165,   -38,  1840,   -60,  1840,    29,  -365,  1840,
     760    -365,  -365,  -365,  -365,    65,    35,    48,  -365,  -365,     1,
     761      71,    74,   111,    80,  -365,   124,    87,  2230,   128,   128,
     762    1840,  1840,  -365,  1840,  1840,  -365,  -365,  -365,    88,  -365,
     763       2,   -76,  1348,  1840,  1840,  -365,  1840,   187,   -73,  -365,
     764    2295,  -365,  -365,  -365,  -365,   108,  -365,  1840,  -365,  -365,
     765    1840,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
     766     107,   -63,   109,   119,   123,   126,  -365,    42,   134,  1840,
     767     208,  1348,    -6,  2360,  1840,  1840,  1840,  1840,  1840,  1840,
     768    1840,  1450,  1840,   216,  1515,   249,  1840,   284,  1580,   581,
     769     140,  -365,   149,   150,  -365,    -7,  1645,  1348,   -12,  1840,
     770    -365,  -365,  -365,  -365,   189,  1840,   195,  1710,  1905,  1348,
     771     163,  -365,  -365,    42,   -51,   -74,     7,  -365,  1840,  1775,
     772    -365,  1840,  1840,  1840,  -365,  1840,  -365,  1840,  1840,  1840,
     773    1840,  1840,  1840,  1840,  1840,  1840,   162,   563,   149,   201,
     774    -365,  1840,  -365,  -365,  1840,    -9,  1840,    68,  1348,  1840,
     775    1840,  1515,  1840,  1580,  1840,   635,  -365,  1840,   658,   171,
     776     674,   690,   704,   266,   399,   730,   468,  -365,   -69,   799,
     777    -365,   -62,   825,  -365,   -55,  -365,  -365,    12,    46,    92,
     778      97,   121,   138,  -365,   130,   141,   212,  -365,   841,  1840,
     779     209,   855,  -365,  -365,   -52,   190,  -365,  -365,  -365,  -365,
     780    -365,   -43,  1348,    30,   191,   191,   239,    84,    84,    42,
     781     494,    51,  1362,    84,  -365,  1840,  -365,  -365,  1840,  -365,
     782     611,   508,  1840,    55,  2360,   635,   799,   -32,   825,   -31,
     783     508,  -365,   871,  -365,  2360,  -365,  1840,  1840,  1840,  -365,
     784    1840,  -365,  1840,  1840,  -365,  -365,  -365,  -365,  -365,  -365,
     785    -365,  -365,  -365,  -365,  -365,  -365,   521,  -365,  -365,  -365,
     786    2425,   894,   221,   -58,  -365,  -365,  -365,  -365,  1840,   966,
     787     966,  1840,  -365,   989,   173,  1348,   202,  -365,  -365,  1840,
     788     211,  1003,  1019,  1033,  1061,   524,   540,   214,   217,   223,
     789     226,   231,   233,   235,   199,   213,   246,   265,   271,  1128,
     790    -365,  -365,  -365,  -365,  1156,  -365,  -365,  1170,   218,  1840,
     791    2360,   -30,   -65,  -365,  1840,  -365,  1840,  1840,  -365,  1840,
     792    -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
     793    -365,  -365,  -365,  -365,  -365,  1840,  1840,   -48,   227,  -365,
     794    -365,   269,   240,  -365,   241,  1184,  1200,  1223,  1295,  1318,
     795    1334,  -365,   -65,   253,   251,  1840,  -365,  -365,  -365,  -365,
     796    -365,  -365,  -365,  -365,   269,  -365,   -17,  -365,  -365
    836797};
    837798
    838 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    839 static const yytype_uint8 yyr2[] =
    840 {
    841        0,     2,     0,     2,     1,     2,     2,     1,     1,     1,
    842        2,     1,     1,     1,     1,     1,     1,     1,     1,     2,
    843        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
    844        1,     1,     3,     3,     3,     4,     3,     1,     1,     1,
    845        4,     4,     4,     3,     4,     4,     3,     4,     4,     4,
    846        4,     6,     6,     6,     6,     8,     8,     8,     8,     3,
    847        4,     8,     4,     8,     4,     3,     3,     1,     1,     1,
    848        3,     6,     4,     6,     6,     6,     6,     6,     6,     3,
    849        5,     5,     0,     5,     2,     2,     1,     2,     2,     3,
    850        3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
    851        2,     2,     2,     1,     3,     2,     2,     2,     2,     8,
    852        2,     3,     2,     1,     1,     5,     1,     1,     4,     1,
    853        3,     1,     3,     1,     1,     1,     1,     0,     4,     3,
    854        2,     3,     2,     2,     3,     4,     4,     4,     4,     4,
    855        4,     4,     4,     6,     6,     6,     6,     6,     6,     6,
    856        3,     1,     8,     2,     4,     2,     1,     1,     2,     2,
    857        1,     5,     2,     5,     1,     1,     3,     5,     3,     3,
    858        4,     2,     2,     4,     3
    859 };
    860 
    861 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    862    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    863    means the default is an error.  */
     799  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
     800     Performed when YYTABLE does not specify something else to do.  Zero
     801     means the default is an error.  */
    864802static const yytype_uint8 yydefact[] =
    865803{
    866804       2,     0,     1,     0,     0,   126,   125,     0,   151,   124,
    867      157,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    868        0,     0,     0,     0,     0,     0,     0,     0,   156,     0,
    869      113,    37,   103,    30,     0,     0,     0,   164,   165,     0,
     805     158,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     806       0,     0,     0,     0,     0,     0,     0,     0,   157,     0,
     807     113,    37,   103,    30,     0,     0,     0,   165,   166,     0,
    870808       0,     0,     0,     0,     8,     0,     0,     0,    38,     0,
    871809       0,     0,     9,     0,     0,     3,     4,    13,     0,    20,
    872       69,   160,    67,     0,     0,    68,     0,    31,     0,    39,
     810      69,   161,    67,     0,     0,    68,     0,    31,     0,    39,
    873811       0,    16,    17,    18,    21,    22,    23,     0,    25,    26,
    874812       0,    27,    28,    11,    12,    14,    15,    24,     7,    10,
     
    876814      69,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    877815       0,     0,     0,    69,     0,    69,     0,    69,     0,    69,
    878        0,    19,   132,     0,   130,    69,     0,   159,     0,     0,
    879       85,   162,    82,    84,     0,     0,     0,     0,     0,   172,
    880      171,   155,   127,   100,     0,     0,     0,     5,     0,     0,
     816       0,    19,   132,     0,   130,    69,     0,   160,     0,     0,
     817      85,   163,    82,    84,     0,     0,     0,     0,     0,   173,
     818     172,   156,   127,   100,     0,     0,     0,     5,     0,     0,
    881819     102,     0,     0,     0,    88,     0,    87,     0,     0,     0,
    882820       0,     0,     0,     0,     0,     0,     0,     0,    29,     0,
    883      123,     0,     6,   101,     0,    69,     0,    69,   158,     0,
    884        0,     0,     0,     0,     0,    67,   168,     0,   114,     0,
     821     123,     0,     6,   101,     0,    69,     0,    69,   159,     0,
     822       0,     0,     0,     0,     0,    67,   169,     0,   114,     0,
    885823       0,     0,     0,     0,     0,     0,     0,    59,     0,    67,
    886824      43,     0,    67,    46,     0,   131,   129,     0,     0,     0,
    887        0,     0,     0,   150,    69,     0,     0,   169,     0,     0,
    888        0,     0,   166,   174,     0,     0,    36,    70,   104,    32,
     825       0,     0,     0,   150,    69,     0,     0,   170,     0,     0,
     826       0,     0,   167,   175,     0,     0,    36,    70,   104,    32,
    889827      34,     0,    66,    97,    96,    95,    93,    89,    90,    91,
    890828       0,    92,    94,    98,    33,     0,    86,    79,     0,    65,
     
    892830       0,    40,    67,    64,     0,    47,     0,     0,     0,    48,
    893831       0,    49,     0,     0,    50,    60,    41,    42,    44,    45,
    894      141,   139,   135,   136,   137,   138,     0,   142,   140,   170,
    895        0,     0,     0,     0,   173,   128,    35,    72,     0,     0,
     832     141,   139,   135,   136,   137,   138,     0,   142,   140,   171,
     833       0,     0,     0,     0,   174,   128,    35,    72,     0,     0,
    896834       0,     0,    62,     0,    69,   114,     0,    42,    45,     0,
    897835       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    898836       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    899       83,   167,   161,   163,     0,    80,    81,     0,     0,     0,
    900        0,     0,    51,     0,    52,     0,     0,    53,     0,    54,
    901      149,   147,   143,   144,   145,   146,   148,    73,    74,    75,
    902       76,    77,    78,    71,     0,     0,     0,   115,   116,     0,
    903      117,   121,     0,     0,     0,     0,     0,     0,     0,     0,
    904      119,     0,     0,    63,    55,    56,    57,    58,    61,   109,
    905      152,     0,   122,     0,   120,   118
     837      83,   168,   162,   164,     0,    80,    81,     0,     0,     0,
     838       0,     0,     0,    51,     0,    52,     0,     0,    53,     0,
     839      54,   149,   147,   143,   144,   145,   146,   148,    73,    74,
     840      75,    76,    77,    78,    71,     0,     0,     0,     0,   115,
     841     116,     0,   117,   121,     0,     0,     0,     0,     0,     0,
     842       0,   155,     0,   119,     0,     0,    63,    55,    56,    57,
     843      58,    61,   109,   152,     0,   122,     0,   120,   118
    906844};
    907845
    908 /* YYDEFGOTO[NTERM-NUM].  */
     846  /* YYPGOTO[NTERM-NUM].  */
     847static const yytype_int16 yypgoto[] =
     848{
     849    -365,  -365,  -365,  -365,  -365,  -365,  -365,   118,    -1,    52,
     850    -365,  -365,  -365,    77,  -365,  -365,   342,   311,   242,  -235,
     851    -365,  -364,   -33,   -14,   196,     0,  -365,  -365,  -365,  -365,
     852    -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,  -365,
     853    -365,  -365,  -365,  -365,  -365
     854};
     855
     856  /* YYDEFGOTO[NTERM-NUM].  */
    909857static const yytype_int16 yydefgoto[] =
    910858{
    911859      -1,     1,    55,    56,    57,    58,    59,    60,   145,    62,
    912860     219,    63,    64,   247,    65,    66,    67,    68,    69,   189,
    913      370,   371,   381,   372,   173,    98,    71,   225,    72,    73,
     861     372,   373,   384,   374,   173,    98,    71,   225,    72,    73,
    914862      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
    915863      84,    85,    86,    87,    88
    916864};
    917865
    918 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    919    STATE-NUM.  */
    920 #define YYPACT_NINF -350
    921 static const yytype_int16 yypact[] =
    922 {
    923     -350,   369,  -350,   -84,  1862,  -350,  -350,  1927,   -85,  -350,
    924     -350,   -75,   -70,   -67,   -53,   -35,   -28,     9,    16,  1992,
    925     2057,  2122,  2187,    14,  1862,   -57,  1862,    40,  -350,  1862,
    926     -350,  -350,  -350,  -350,    -5,    42,    44,  -350,  -350,    96,
    927       67,    72,   108,    82,  -350,   125,    93,  2252,   130,   130,
    928     1862,  1862,  -350,  1862,  1862,  -350,  -350,  -350,   107,  -350,
    929       -2,   -59,  1327,  1862,  1862,  -350,  1862,   202,   -46,  -350,
    930     2317,  -350,  -350,  -350,  -350,   124,  -350,  1862,  -350,  -350,
    931     1862,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
    932      121,   -85,   132,   142,   145,   150,  -350,    23,   156,  1862,
    933       90,  1327,    -8,  2382,  1862,  1862,  1862,  1862,  1862,  1862,
    934     1862,  1472,  1862,   157,  1537,   193,  1862,   204,  1602,   210,
    935      134,  -350,   168,   173,  -350,    43,  1667,  1327,    22,  1862,
    936     -350,  -350,  -350,  -350,   206,  1862,   213,  1732,  1927,  1327,
    937      182,  -350,  -350,    23,   -51,   -49,     3,  -350,  1862,  1797,
    938     -350,  1862,  1862,  1862,  -350,  1862,  -350,  1862,  1862,  1862,
    939     1862,  1862,  1862,  1862,  1862,  1862,   184,   537,   168,   228,
    940     -350,  1862,  -350,  -350,  1862,    -9,  1862,    50,  1327,  1862,
    941     1862,  1537,  1862,  1602,  1862,   558,  -350,  1862,   632,   207,
    942      653,   669,   683,   236,   254,   697,   394,  -350,   -41,   727,
    943     -350,   -38,   792,  -350,   -37,  -350,  -350,   -16,    79,    98,
    944      117,   126,   137,  -350,    33,   148,   244,  -350,   822,  1862,
    945      248,   836,  -350,  -350,   -22,   222,  -350,  -350,  -350,  -350,
    946     -350,   -19,  1327,  1369,  1355,  1355,  1384,    30,    30,    23,
    947      463,    18,  1341,    30,  -350,  1862,  -350,  -350,  1862,  -350,
    948      212,   489,  1862,   139,  2382,   558,   727,    46,   792,    65,
    949      489,  -350,   852,  -350,  2382,  -350,  1862,  1862,  1862,  -350,
    950     1862,  -350,  1862,  1862,  -350,  -350,  -350,  -350,  -350,  -350,
    951     -350,  -350,  -350,  -350,  -350,  -350,   518,  -350,  -350,  -350,
    952     2447,   866,   253,   -39,  -350,  -350,  -350,  -350,  1862,   887,
    953      887,  1862,  -350,   961,     8,  1327,   229,  -350,  -350,  1862,
    954      234,   982,   998,  1012,  1028,   505,   521,   231,   239,   241,
    955      252,   256,   257,   258,   154,   160,   166,   183,   191,  1056,
    956     -350,  -350,  -350,  -350,  1123,  -350,  -350,  1151,   262,  2382,
    957       69,   -63,  -350,  1862,  -350,  1862,  1862,  -350,  1862,  -350,
    958     -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
    959     -350,  -350,  -350,  -350,  1862,  1862,   265,  -350,  -350,   292,
    960      263,  -350,   261,  1165,  1181,  1197,  1218,  1292,  1313,   -63,
    961      269,   264,  1862,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
    962     -350,   292,  -350,    76,  -350,  -350
    963 };
    964 
    965 /* YYPGOTO[NTERM-NUM].  */
    966 static const yytype_int16 yypgoto[] =
    967 {
    968     -350,  -350,  -350,  -350,  -350,  -350,  -350,    -4,    -1,    48,
    969     -350,  -350,  -350,  -170,  -350,  -350,   358,   319,   286,  -233,
    970     -350,  -349,   -24,   -11,   194,     0,  -350,  -350,  -350,  -350,
    971     -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,  -350,
    972     -350,  -350,  -350,  -350,  -350
    973 };
    974 
    975 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    976    positive, shift that token.  If negative, reduce the rule which
    977    number is the opposite.  If zero, do what YYDEFACT says.
    978    If YYTABLE_NINF, syntax error.  */
    979 #define YYTABLE_NINF -155
     866  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
     867     positive, shift that token.  If negative, reduce the rule whose
     868     number is the opposite.  If YYTABLE_NINF, syntax error.  */
    980869static const yytype_int16 yytable[] =
    981870{
    982       61,    70,   148,   100,   169,   368,   152,   153,   123,   148,
    983      154,    89,   155,   156,   103,   113,   115,   117,   119,   148,
    984      380,   306,   125,   122,   104,   154,   150,   332,   156,   105,
    985      154,   310,   106,   156,   333,   151,   369,   154,   124,   170,
    986      156,   226,   380,   151,   148,   151,   107,    70,   171,   172,
    987      144,   227,    97,   151,   148,   101,   151,   151,   186,   275,
    988      128,   148,   277,   279,   108,   168,   175,   101,   101,   101,
    989      101,   109,   151,   177,   101,   151,  -110,   127,   294,   120,
    990      121,   296,   252,   179,   280,  -110,  -110,   216,   217,   157,
    991      149,   158,   159,   160,   161,   139,   162,   149,   143,   163,
    992      164,   148,   146,  -154,   165,   228,   366,   149,   110,   161,
    993      198,   166,   167,   201,   161,   111,   162,   204,   101,   165,
    994      160,   161,   214,   162,   165,   101,   215,   286,   178,   335,
    995      336,   165,   149,   287,   100,   170,   224,  -133,  -133,   126,
    996      151,   129,   149,   130,   229,  -153,   307,   185,   231,   149,
    997      148,   188,   190,   191,   192,   193,   194,   195,   196,   151,
    998      199,   244,   131,   151,   202,   308,   132,   250,   148,   367,
    999      151,   133,   253,   134,   101,  -112,   395,   218,   103,   281,
    1000      257,   135,   259,   221,  -112,  -112,   101,   152,   153,   149,
    1001      136,   154,   137,   155,   156,    30,   101,   180,   282,   232,
    1002      233,   234,   147,   235,   148,   236,   237,   238,   239,   240,
    1003      241,   242,   243,   101,   169,   148,   181,   283,   176,   101,
    1004      179,   148,   251,   148,   101,   182,   284,   255,   256,   205,
    1005      258,   180,   260,  -134,  -134,   262,   183,   285,   149,   152,
    1006      153,   181,  -105,   154,   182,   155,   156,   184,   288,   183,
    1007      304,  -105,  -105,   104,   357,   184,   149,   152,   153,   107,
    1008      358,   154,   151,   155,   156,   108,   359,   291,   206,   245,
    1009      157,   220,   158,   159,   160,   161,   171,   162,  -106,   222,
    1010      163,   164,   110,   360,   246,   165,   323,  -106,  -106,  -107,
    1011      111,   361,   149,   299,   249,  -108,   300,  -111,  -107,  -107,
    1012      303,   264,   305,   149,  -108,  -108,  -111,  -111,   340,   149,
    1013      289,   149,   305,   292,   311,   312,   313,   295,   314,   331,
    1014      315,   316,   157,   339,   158,   159,   160,   161,   341,   162,
    1015      268,   350,   163,   164,   141,   142,   269,   165,   329,   351,
    1016      157,   352,   158,   159,   160,   161,   334,   162,   270,   337,
    1017      163,   164,   353,   365,   271,   165,   354,   355,   356,   379,
    1018      368,   383,   382,   391,   392,   102,   140,   394,   390,     2,
    1019        3,   254,     0,     0,     0,     0,     0,     4,     0,     0,
    1020        0,   393,     0,     5,     6,     7,     8,   305,     0,     0,
    1021        9,   373,     0,   374,   375,     0,   376,   152,   153,     0,
    1022       10,   154,     0,   155,   156,     0,     0,     0,     0,     0,
    1023        0,     0,   377,   378,    11,    12,    13,    14,    15,    16,
    1024       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    1025        0,    27,    28,    29,    30,     0,    31,    32,    33,    34,
    1026       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1027       45,    46,    47,    48,     0,    49,     0,     0,    50,     0,
    1028       51,     0,     0,     0,    52,     0,   152,   153,    53,     0,
    1029      154,    54,   155,   156,     0,     0,     0,     0,     0,     0,
    1030      157,     0,   158,   159,   160,   161,     0,   162,   273,     0,
    1031      163,   164,   152,   153,   274,   165,   154,     0,   155,   156,
    1032        0,     0,     0,     0,     0,     0,     0,     0,   152,   153,
     871      61,    70,   148,   370,   148,   123,   169,   383,   332,   150,
     872     152,   153,   170,   148,   154,   333,   155,   156,   151,   306,
     873     151,   171,   172,   122,    89,   151,   227,   120,   121,   310,
     874     383,   275,   151,  -155,   371,   124,   103,   154,   277,   151,
     875     156,   226,   151,   151,   381,   279,   151,    70,   294,   154,
     876     144,   151,   156,   216,   217,   104,    97,   296,   154,   101,
     877     186,   156,   151,   151,   151,   168,   148,   131,   307,   308,
     878     369,   101,   101,   101,   101,   105,  -110,   151,   101,   148,
     879     106,   127,   252,   398,   107,  -110,  -110,  -133,  -133,   108,
     880     149,   154,   149,   157,   156,   158,   159,   160,   161,   139,
     881     162,   149,   143,   163,   164,   368,   146,   109,   165,   228,
     882     198,   179,   280,   201,   110,   166,   167,   204,   158,   159,
     883     160,   161,   101,   162,   111,   100,   215,   164,   126,   101,
     884     128,   165,   178,   161,   129,   162,   224,   113,   115,   117,
     885     119,   148,   161,   165,   125,   103,   281,   130,   231,  -134,
     886    -134,   185,   165,   170,   149,   188,   190,   191,   192,   193,
     887     194,   195,   196,  -153,   199,   152,   153,   149,   202,   154,
     888     132,   155,   156,   133,   160,   161,   134,   162,   101,   135,
     889     257,   218,   259,   147,   148,   165,   137,   221,   175,   136,
     890     101,   180,   282,    30,   152,   177,   181,   283,   154,   169,
     891     101,   156,   176,   232,   233,   234,   179,   235,   180,   236,
     892     237,   238,   239,   240,   241,   242,   243,   101,   181,   148,
     893     182,   284,   182,   101,   286,   183,   251,   148,   101,   149,
     894     287,   255,   256,   184,   258,   205,   260,   183,   285,   262,
     895     184,   288,   152,   151,   214,   206,   154,   245,   157,   156,
     896     158,   159,   160,   161,   220,   162,   100,   171,   163,   164,
     897     148,   222,   246,   165,   339,   264,   229,   249,  -154,   152,
     898     153,   291,   149,   154,   292,   155,   156,   157,   289,   158,
     899     159,   160,   161,   244,   162,   295,   323,   331,   164,   250,
     900     141,   142,   165,  -112,   253,   148,   340,   299,   104,   358,
     901     300,  -105,  -112,  -112,   303,   342,   305,   149,   341,   366,
     902    -105,  -105,   107,   359,   351,   149,   305,   352,   311,   312,
     903     313,   382,   314,   353,   315,   316,   354,   158,   159,   160,
     904     161,   355,   162,   356,  -106,   357,   164,   370,   367,   385,
     905     165,   386,   329,  -106,  -106,   108,   360,   394,   149,   102,
     906     334,   395,   157,   337,   158,   159,   160,   161,   140,   162,
     907     268,   397,   163,   164,   110,   361,   269,   165,   393,  -107,
     908     111,   362,   304,   254,     2,     3,   335,   336,  -107,  -107,
     909       0,     0,     4,   149,   396,     0,     0,     0,     5,     6,
     910       7,     8,   305,     0,     0,     9,   375,     0,   376,   377,
     911       0,   378,   152,   153,     0,    10,   154,     0,   155,   156,
     912       0,     0,     0,     0,     0,     0,     0,   379,   380,    11,
     913      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     914      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
     915       0,    31,    32,    33,    34,    35,    36,    37,    38,    39,
     916      40,    41,    42,    43,    44,    45,    46,    47,    48,     0,
     917      49,     0,     0,    50,     0,    51,     0,     0,     0,    52,
     918       0,   152,   153,    53,     0,   154,    54,   155,   156,     0,
     919       0,     0,     0,     0,     0,   157,     0,   158,   159,   160,
     920     161,     0,   162,   270,     0,   163,   164,   152,   153,   271,
     921     165,   154,     0,   155,   156,     0,     0,     0,     0,     0,
     922       0,   152,   153,     0,     0,   154,     0,   155,   156,     0,
     923       0,     0,     0,     0,     0,     0,     0,   152,   153,     0,
     924       0,   154,     0,   155,   156,     5,     6,   317,   318,     0,
     925       0,     0,     9,   152,   153,     0,     0,   154,     0,   155,
     926     156,     0,     0,     0,   157,     0,   158,   159,   160,   161,
     927       0,   162,   273,     0,   163,   164,   152,   153,   274,   165,
     928     154,     0,   155,   156,   319,   320,   321,   322,     0,     0,
     929     157,     0,   158,   159,   160,   161,   297,   162,   298,     0,
     930     163,   164,   148,     0,   157,   165,   158,   159,   160,   161,
     931       0,   162,   301,     0,   163,   164,     0,     0,   302,   165,
     932     157,     0,   158,   159,   160,   161,     0,   162,   347,     0,
     933     163,   164,   148,     0,   348,   165,   157,     0,   158,   159,
     934     160,   161,     0,   162,   349,     0,   163,   164,   152,   153,
     935     350,   165,   154,     0,   155,   156,     0,     0,     0,   157,
     936       0,   158,   159,   160,   161,     0,   162,   248,     0,   163,
     937     164,   152,   153,     0,   165,   154,  -108,   155,   156,     0,
     938       0,     0,     0,     0,     0,  -108,  -108,   152,   153,     0,
     939     149,   154,     0,   155,   156,     0,     0,     0,     0,     0,
     940       0,     0,     0,   152,   153,     0,  -111,   154,     0,   155,
     941     156,     0,     0,     0,     0,  -111,  -111,   152,   153,     0,
     942     149,   154,     0,   155,   156,     0,     0,     0,     0,     0,
     943       0,   157,     0,   158,   159,   160,   161,     0,   162,     0,
     944       0,   163,   164,   152,   153,   261,   165,   154,     0,   155,
     945     156,     0,     0,     0,   157,     0,   158,   159,   160,   161,
     946       0,   162,     0,     0,   163,   164,     0,     0,   263,   165,
     947     157,     0,   158,   159,   160,   161,     0,   162,     0,     0,
     948     163,   164,     0,     0,   265,   165,   157,     0,   158,   159,
     949     160,   161,     0,   162,   266,     0,   163,   164,     0,     0,
     950     157,   165,   158,   159,   160,   161,     0,   162,   267,     0,
     951     163,   164,   152,   153,     0,   165,   154,     0,   155,   156,
     952       0,     0,     0,     0,     0,     0,   157,     0,   158,   159,
     953     160,   161,     0,   162,   272,     0,   163,   164,   152,   153,
     954       0,   165,   154,     0,   155,   156,     0,     0,     0,     0,
     955       0,     0,     0,     0,   152,   153,     0,     0,   154,     0,
     956     155,   156,     0,     0,     0,     0,     0,     0,   152,   153,
    1033957       0,     0,   154,     0,   155,   156,     0,     0,     0,     0,
    1034958       0,     0,     0,     0,   152,   153,     0,     0,   154,     0,
    1035      155,   156,     5,     6,   317,   318,     0,     0,     0,     9,
    1036      152,   153,     0,     0,   154,     0,   155,   156,     0,   157,
    1037        0,   158,   159,   160,   161,   297,   162,   298,     0,   163,
    1038      164,   152,   153,     0,   165,   154,     0,   155,   156,     0,
    1039        0,   319,   320,   321,   322,   157,     0,   158,   159,   160,
    1040      161,     0,   162,   301,     0,   163,   164,     0,     0,   302,
    1041      165,   157,     0,   158,   159,   160,   161,     0,   162,   346,
    1042        0,   163,   164,     0,     0,   347,   165,   157,     0,   158,
    1043      159,   160,   161,     0,   162,   348,     0,   163,   164,     0,
    1044        0,   349,   165,   157,     0,   158,   159,   160,   161,     0,
    1045      162,   248,     0,   163,   164,   152,   153,     0,   165,   154,
    1046        0,   155,   156,     0,   157,     0,   158,   159,   160,   161,
    1047        0,   162,     0,     0,   163,   164,   152,   153,   261,   165,
     959     155,   156,     0,     0,     0,   157,     0,   158,   159,   160,
     960     161,     0,   162,     0,     0,   163,   164,   152,   153,   276,
     961     165,   154,     0,   155,   156,     0,     0,     0,     0,     0,
     962       0,   157,     0,   158,   159,   160,   161,     0,   162,     0,
     963       0,   163,   164,     0,     0,   278,   165,   157,     0,   158,
     964     159,   160,   161,     0,   162,   290,     0,   163,   164,     0,
     965       0,   157,   165,   158,   159,   160,   161,     0,   162,     0,
     966       0,   163,   164,     0,     0,   293,   165,   157,     0,   158,
     967     159,   160,   161,     0,   162,   309,     0,   163,   164,   152,
     968     153,     0,   165,   154,     0,   155,   156,     0,     0,     0,
     969     157,     0,   158,   159,   160,   161,     0,   162,     0,     0,
     970     163,   164,   152,   153,   330,   165,   154,     0,   155,   156,
     971       0,     0,     0,     0,     0,     0,   152,   153,     0,     0,
    1048972     154,     0,   155,   156,     0,     0,     0,     0,     0,     0,
    1049973       0,     0,   152,   153,     0,     0,   154,     0,   155,   156,
    1050974       0,     0,     0,     0,     0,     0,   152,   153,     0,     0,
    1051975     154,     0,   155,   156,     0,     0,     0,     0,     0,     0,
    1052      152,   153,     0,     0,   154,     0,   155,   156,     0,     0,
    1053        0,     0,     0,     0,     0,     0,     0,     0,   157,     0,
    1054      158,   159,   160,   161,     0,   162,     0,     0,   163,   164,
    1055      152,   153,   263,   165,   154,     0,   155,   156,     0,   157,
     976       0,     0,   157,     0,   158,   159,   160,   161,     0,   162,
     977       0,     0,   163,   164,   152,   153,   246,   165,   154,     0,
     978     155,   156,     0,     0,     0,   157,     0,   158,   159,   160,
     979     161,   338,   162,     0,     0,   163,   164,     0,     0,   157,
     980     165,   158,   159,   160,   161,     0,   162,     0,     0,   163,
     981     164,     0,     0,   343,   165,   157,     0,   158,   159,   160,
     982     161,     0,   162,   344,     0,   163,   164,     0,     0,   157,
     983     165,   158,   159,   160,   161,     0,   162,     0,     0,   163,
     984     164,   152,   153,   345,   165,   154,     0,   155,   156,     0,
     985       0,     0,     0,     0,     0,     0,     0,   157,     0,   158,
     986     159,   160,   161,     0,   162,   346,     0,   163,   164,   152,
     987     153,     0,   165,   154,     0,   155,   156,     0,     0,     0,
     988       0,     0,     0,   152,   153,     0,     0,   154,     0,   155,
     989     156,     0,     0,     0,     0,     0,     0,   152,   153,     0,
     990       0,   154,     0,   155,   156,     0,     0,     0,     0,     0,
     991       0,     0,     0,   152,   153,     0,     0,   154,     0,   155,
     992     156,     0,     0,     0,   157,     0,   158,   159,   160,   161,
     993       0,   162,     0,     0,   163,   164,   152,   153,   363,   165,
     994     154,     0,   155,   156,     0,     0,     0,     0,     0,     0,
     995       0,     0,   157,     0,   158,   159,   160,   161,   364,   162,
     996       0,     0,   163,   164,     0,     0,   157,   165,   158,   159,
     997     160,   161,     0,   162,   365,     0,   163,   164,     0,     0,
     998     157,   165,   158,   159,   160,   161,     0,   162,     0,     0,
     999     163,   164,     0,     0,   387,   165,   157,     0,   158,   159,
     1000     160,   161,     0,   162,     0,     0,   163,   164,   152,   153,
     1001     388,   165,   154,     0,   155,   156,     0,     0,     0,   157,
    10561002       0,   158,   159,   160,   161,     0,   162,     0,     0,   163,
    1057      164,     0,     0,   265,   165,   157,     0,   158,   159,   160,
    1058      161,     0,   162,   266,     0,   163,   164,     0,     0,   157,
    1059      165,   158,   159,   160,   161,     0,   162,   267,     0,   163,
    1060      164,     0,     0,   157,   165,   158,   159,   160,   161,     0,
    1061      162,   272,     0,   163,   164,   152,   153,     0,   165,   154,
    1062        0,   155,   156,     0,     0,     0,     0,     0,     0,     0,
    1063        0,     0,     0,   157,     0,   158,   159,   160,   161,     0,
    1064      162,     0,     0,   163,   164,   152,   153,   276,   165,   154,
    1065        0,   155,   156,     0,     0,     0,     0,     0,     0,   152,
    1066      153,     0,     0,   154,     0,   155,   156,     0,     0,     0,
    1067        0,     0,     0,     0,     0,   152,   153,     0,     0,   154,
    1068        0,   155,   156,     0,     0,     0,     0,     0,     0,   152,
    1069      153,     0,     0,   154,     0,   155,   156,     0,   157,     0,
    1070      158,   159,   160,   161,     0,   162,     0,     0,   163,   164,
    1071      152,   153,   278,   165,   154,     0,   155,   156,     0,     0,
    1072        0,     0,     0,     0,     0,     0,     0,     0,   157,     0,
    1073      158,   159,   160,   161,     0,   162,   290,     0,   163,   164,
    1074        0,     0,   157,   165,   158,   159,   160,   161,     0,   162,
    1075        0,     0,   163,   164,     0,     0,   293,   165,   157,     0,
    1076      158,   159,   160,   161,     0,   162,   309,     0,   163,   164,
    1077        0,     0,   157,   165,   158,   159,   160,   161,     0,   162,
    1078        0,     0,   163,   164,   152,   153,   330,   165,   154,     0,
    1079      155,   156,     0,   157,     0,   158,   159,   160,   161,     0,
    1080      162,     0,     0,   163,   164,   152,   153,   246,   165,   154,
    1081        0,   155,   156,     0,     0,     0,     0,     0,     0,     0,
     1003     164,   152,   153,   389,   165,   154,     0,   155,   156,     0,
     1004       0,     0,     0,     0,     0,     0,     0,   152,   153,     0,
     1005       0,   154,     0,   155,   156,     0,     0,     0,     0,     0,
    10821006       0,   152,   153,     0,     0,   154,     0,   155,   156,     0,
    10831007       0,     0,     0,     0,     0,   152,   153,     0,     0,   154,
    10841008       0,   155,   156,     0,     0,     0,     0,     0,     0,     0,
    1085        0,   152,   153,     0,     0,   154,     0,   155,   156,     0,
    1086        0,     0,     0,     0,     0,     0,     0,   157,     0,   158,
    1087      159,   160,   161,   338,   162,     0,     0,   163,   164,   152,
    1088      153,     0,   165,   154,     0,   155,   156,     0,   157,     0,
    1089      158,   159,   160,   161,     0,   162,     0,     0,   163,   164,
    1090        0,     0,   342,   165,   157,     0,   158,   159,   160,   161,
    1091        0,   162,   343,     0,   163,   164,     0,     0,   157,   165,
    1092      158,   159,   160,   161,     0,   162,     0,     0,   163,   164,
    1093        0,     0,   344,   165,   157,     0,   158,   159,   160,   161,
    1094        0,   162,   345,     0,   163,   164,   152,   153,     0,   165,
    1095      154,     0,   155,   156,     0,     0,     0,     0,     0,     0,
    1096        0,     0,   157,     0,   158,   159,   160,   161,     0,   162,
    1097        0,     0,   163,   164,   152,   153,   362,   165,   154,     0,
    1098      155,   156,     0,     0,     0,     0,     0,     0,   152,   153,
    1099        0,     0,   154,     0,   155,   156,     0,     0,     0,     0,
    1100        0,     0,     0,     0,   152,   153,     0,     0,   154,     0,
    1101      155,   156,     0,     0,     0,     0,     0,     0,     0,     0,
    1102      152,   153,     0,     0,   154,     0,   155,   156,     0,   157,
    1103        0,   158,   159,   160,   161,   363,   162,     0,     0,   163,
    1104      164,   152,   153,     0,   165,   154,     0,   155,   156,     0,
    1105        0,     0,     0,     0,     0,     0,     0,   157,     0,   158,
    1106      159,   160,   161,     0,   162,   364,     0,   163,   164,     0,
    1107        0,   157,   165,   158,   159,   160,   161,     0,   162,     0,
    1108        0,   163,   164,     0,     0,   384,   165,   157,     0,   158,
    1109      159,   160,   161,     0,   162,     0,     0,   163,   164,     0,
    1110        0,   385,   165,   157,     0,   158,   159,   160,   161,     0,
    1111      162,     0,     0,   163,   164,   152,   153,   386,   165,   154,
    1112        0,   155,   156,     0,   157,     0,   158,   159,   160,   161,
    1113        0,   162,     0,     0,   163,   164,   152,   153,   387,   165,
    1114      154,     0,   155,   156,     0,     0,     0,     0,     0,     0,
    1115      152,   153,     0,     0,   154,     0,   155,   156,     0,     0,
    1116        0,     0,     0,     0,   152,   153,     0,     0,   154,     0,
    1117      155,   156,     0,     0,     0,     0,     0,     0,   152,     0,
    1118        0,     0,   154,     0,     0,   156,     0,     0,     0,     0,
    1119        0,     0,  -155,     0,     0,     0,   154,     0,   157,   156,
    1120      158,   159,   160,   161,     0,   162,     0,   152,   163,   164,
    1121        0,   154,   388,   165,   156,     0,     0,     0,     0,   157,
    1122        0,   158,   159,   160,   161,   389,   162,     0,     0,   163,
    1123      164,     0,     0,   157,   165,   158,   159,   160,   161,     0,
    1124      162,     0,     0,   163,   164,     0,     0,   157,   165,   158,
    1125      159,   160,   161,     0,   162,     0,     0,     0,   164,     0,
    1126        0,   157,   165,   158,   159,   160,   161,     0,   162,     0,
    1127        0,     0,   164,     0,     0,     0,   165,   158,   159,   160,
    1128      161,     0,   162,     0,     0,     0,   164,     0,     0,     0,
    1129      165,     0,   158,   159,   160,   161,     0,   162,     0,     0,
    1130        4,   164,     0,     0,     0,   165,     5,     6,    90,    91,
    1131        0,     0,     0,     9,     0,     0,     0,     0,     0,     0,
     1009       0,   157,     0,   158,   159,   160,   161,     0,   162,     0,
     1010       0,   163,   164,     0,     0,   390,   165,     0,     0,     0,
     1011       0,     0,     0,     0,   157,     0,   158,   159,   160,   161,
     1012       0,   162,     0,     0,   163,   164,     0,     0,   391,   165,
     1013     157,     0,   158,   159,   160,   161,   392,   162,     0,     0,
     1014     163,   164,     0,     0,   157,   165,   158,   159,   160,   161,
     1015       0,   162,     0,     0,   163,   164,     0,     0,   157,   165,
     1016     158,   159,   160,   161,     0,   162,     0,     0,     4,   164,
     1017       0,     0,     0,   165,     5,     6,    90,    91,     0,     0,
     1018       0,     9,     0,     0,     0,     0,     0,     0,     0,     0,
    11321019       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1133        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1134       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1135        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1136       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1137        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1138        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1139        0,    53,   197,     0,    54,     0,     0,     0,     0,     0,
    1140        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1141       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1142        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1143        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1144        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1145        0,     0,     0,     0,     0,     0,    53,   200,     0,    54,
    1146        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1147       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1148        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1149       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1150        0,     5,     6,   207,   208,     0,    96,     0,     9,     0,
    1151        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1152        0,    53,   203,     0,    54,     0,     0,     0,     0,     0,
    1153        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1154      209,   210,   211,   212,     0,     0,     0,     0,     0,     0,
    1155        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1156        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1157        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1158        0,     0,     0,     0,     0,     0,    53,   213,     0,    54,
    1159        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1160       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1161        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1162       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1163        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1164        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1165        0,    53,   223,     0,    54,     0,     0,     0,     0,     0,
    1166        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1167       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1168        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1169        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1170        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1171        0,     0,     0,     0,     0,     0,    53,   230,     0,    54,
    1172        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1173       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1174        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1175       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1176        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1177        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1178        0,    53,     0,     0,    54,     0,     0,     0,     0,     0,
    1179        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1180       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1181        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1182        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1183        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1184        0,     0,     0,     0,     0,     0,    99,     0,     0,    54,
    1185        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1186       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1187        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1188       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1189        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1190        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1191        0,   112,     0,     0,    54,     0,     0,     0,     0,     0,
    1192        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1193       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1194        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1195        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1196        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1197        0,     0,     0,     0,     0,     0,   114,     0,     0,    54,
    1198        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1199       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1200        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1201       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1202        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1203        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1204        0,   116,     0,     0,    54,     0,     0,     0,     0,     0,
    1205        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1206       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1207        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1208        4,     0,     0,    40,    41,     0,     5,     6,   138,    91,
    1209        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1210        0,     0,     0,     0,     0,     0,   118,     0,     0,    54,
    1211        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1212       14,    15,    16,    17,    18,    19,    20,    21,    22,     0,
    1213        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1214       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1215        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1216        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1217        0,    53,     0,     0,    54,     0,     0,     0,     0,     0,
    1218        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1219       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1220        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1221        4,     0,     0,    40,    41,     0,     5,     6,    90,    91,
    1222        0,    96,     0,     9,     0,     0,    50,     0,    51,     0,
    1223        0,     0,     0,     0,     0,     0,   174,     0,     0,    54,
    1224        0,     0,     0,     0,     0,     0,     0,    11,    12,    13,
    1225       14,    15,    16,    17,    18,    92,    93,    94,    95,     0,
    1226        0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1227       32,    33,     0,    35,    36,     4,     0,     0,    40,    41,
    1228        0,     5,     6,    90,    91,     0,    96,     0,     9,     0,
    1229        0,    50,     0,    51,     0,     0,     0,     0,     0,     0,
    1230        0,   187,     0,     0,    54,     0,     0,     0,     0,     0,
    1231        0,     0,   324,    12,    13,   325,   326,    16,   327,   328,
    1232       92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
    1233        0,     0,    30,     0,    31,    32,    33,     0,    35,    36,
    1234        0,     0,     0,    40,    41,     0,     0,     0,     0,     0,
    1235        0,    96,     0,     0,     0,     0,    50,     0,    51,     0,
    1236        0,     0,     0,     0,     0,     0,    53,     0,     0,    54
     1020       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1021      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1022       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1023       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1024       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1025       0,    51,     0,     0,     0,     0,     0,     0,     0,    53,
     1026     197,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1027      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1028      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1029      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1030       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1031       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1032       0,     0,     0,     0,    53,   200,     0,    54,     0,     0,
     1033       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1034      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1035       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1036       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1037       6,   207,   208,     0,    96,     0,     9,     0,     0,    50,
     1038       0,    51,     0,     0,     0,     0,     0,     0,     0,    53,
     1039     203,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1040      11,    12,    13,    14,    15,    16,    17,    18,   209,   210,
     1041     211,   212,     0,     0,     0,     0,     0,     0,     0,     0,
     1042      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1043       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1044       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1045       0,     0,     0,     0,    53,   213,     0,    54,     0,     0,
     1046       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1047      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1048       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1049       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1050       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1051       0,    51,     0,     0,     0,     0,     0,     0,     0,    53,
     1052     223,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1053      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1054      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1055      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1056       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1057       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1058       0,     0,     0,     0,    53,   230,     0,    54,     0,     0,
     1059       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1060      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1061       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1062       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1063       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1064       0,    51,     0,     0,     0,     0,     0,     0,     0,    53,
     1065       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1066      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1067      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1068      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1069       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1070       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1071       0,     0,     0,     0,    99,     0,     0,    54,     0,     0,
     1072       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1073      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1074       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1075       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1076       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1077       0,    51,     0,     0,     0,     0,     0,     0,     0,   112,
     1078       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1079      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1080      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1081      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1082       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1083       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1084       0,     0,     0,     0,   114,     0,     0,    54,     0,     0,
     1085       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1086      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1087       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1088       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1089       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1090       0,    51,     0,     0,     0,     0,     0,     0,     0,   116,
     1091       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1092      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1093      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1094      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1095       0,    40,    41,     0,     5,     6,   138,    91,     0,    96,
     1096       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1097       0,     0,     0,     0,   118,     0,     0,    54,     0,     0,
     1098       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1099      16,    17,    18,    19,    20,    21,    22,     0,     0,     0,
     1100       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1101       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1102       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1103       0,    51,     0,     0,     0,     0,     0,     0,     0,    53,
     1104       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1105      11,    12,    13,    14,    15,    16,    17,    18,    92,    93,
     1106      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1107      30,     0,    31,    32,    33,     0,    35,    36,     4,     0,
     1108       0,    40,    41,     0,     5,     6,    90,    91,     0,    96,
     1109       0,     9,     0,     0,    50,     0,    51,     0,     0,     0,
     1110       0,     0,     0,     0,   174,     0,     0,    54,     0,     0,
     1111       0,     0,     0,     0,     0,    11,    12,    13,    14,    15,
     1112      16,    17,    18,    92,    93,    94,    95,     0,     0,     0,
     1113       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1114       0,    35,    36,     4,     0,     0,    40,    41,     0,     5,
     1115       6,    90,    91,     0,    96,     0,     9,     0,     0,    50,
     1116       0,    51,     0,     0,     0,     0,     0,     0,     0,   187,
     1117       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1118     324,    12,    13,   325,   326,    16,   327,   328,    92,    93,
     1119      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
     1120      30,     0,    31,    32,    33,     0,    35,    36,     0,     0,
     1121       0,    40,    41,     0,     0,     0,     0,     0,     0,    96,
     1122       0,     0,     0,     0,    50,     0,    51,     0,     0,     0,
     1123       0,     0,     0,     0,    53,     0,     0,    54
    12371124};
    12381125
    12391126static const yytype_int16 yycheck[] =
    12401127{
    1241        1,     1,    11,     7,    12,    68,     3,     4,    65,    11,
    1242        7,    95,     9,    10,    99,    19,    20,    21,    22,    11,
    1243      369,   254,    26,    24,    99,     7,    85,    66,    10,    99,
    1244        7,   264,    99,    10,    73,    94,    99,     7,    95,    85,
    1245       10,    92,   391,    94,    11,    94,    99,    47,    94,    95,
    1246       51,   100,     4,    94,    11,     7,    94,    94,    66,   100,
    1247       65,    11,   100,   100,    99,    66,    70,    19,    20,    21,
    1248       22,    99,    94,    77,    26,    94,    85,    29,   100,    65,
    1249       66,   100,    91,    99,   100,    94,    95,    65,    66,    86,
    1250       99,    88,    89,    90,    91,    47,    93,    99,    50,    96,
    1251       97,    11,    54,    95,   101,   102,   339,    99,    99,    91,
    1252      111,    63,    64,   114,    91,    99,    93,   118,    70,   101,
    1253       90,    91,   126,    93,   101,    77,   126,    94,    80,   299,
    1254      300,   101,    99,   100,   138,    85,   137,    94,    95,    99,
    1255       94,    99,    99,    99,   148,    95,   100,    99,   149,    99,
    1256       11,   103,   104,   105,   106,   107,   108,   109,   110,    94,
    1257      112,   165,    66,    94,   116,   100,    99,   171,    11,   100,
    1258       94,    99,   176,    65,   126,    85,   100,   129,    99,   100,
    1259      181,    99,   183,   135,    94,    95,   138,     3,     4,    99,
    1260       65,     7,    99,     9,    10,    65,   148,    99,   100,   151,
    1261      152,   153,    95,   155,    11,   157,   158,   159,   160,   161,
    1262      162,   163,   164,   165,    12,    11,    99,   100,    94,   171,
    1263       99,    11,   174,    11,   176,    99,   100,   179,   180,    95,
    1264      182,    99,   184,    94,    95,   187,    99,   100,    99,     3,
    1265        4,    99,    85,     7,    99,     9,    10,    99,   100,    99,
    1266      254,    94,    95,    99,   100,    99,    99,     3,     4,    99,
    1267      100,     7,    94,     9,    10,    99,   100,   219,    95,    85,
    1268       86,    65,    88,    89,    90,    91,    94,    93,    85,    66,
    1269       96,    97,    99,   100,   100,   101,   286,    94,    95,    85,
    1270       99,   100,    99,   245,    66,    85,   248,    85,    94,    95,
    1271      252,    94,   254,    99,    94,    95,    94,    95,   309,    99,
    1272       66,    99,   264,    65,   266,   267,   268,    95,   270,    66,
    1273      272,   273,    86,    94,    88,    89,    90,    91,    94,    93,
    1274       94,   100,    96,    97,    48,    49,   100,   101,   290,   100,
    1275       86,   100,    88,    89,    90,    91,   298,    93,    94,   301,
    1276       96,    97,   100,    91,   100,   101,   100,   100,   100,    94,
    1277       68,   100,    99,    94,   100,     7,    47,   391,   379,     0,
    1278        1,   177,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
    1279       -1,   382,    -1,    14,    15,    16,    17,   339,    -1,    -1,
    1280       21,   343,    -1,   345,   346,    -1,   348,     3,     4,    -1,
    1281       31,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
    1282       -1,    -1,   364,   365,    45,    46,    47,    48,    49,    50,
    1283       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
    1284       -1,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
    1285       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    1286       81,    82,    83,    84,    -1,    86,    -1,    -1,    89,    -1,
    1287       91,    -1,    -1,    -1,    95,    -1,     3,     4,    99,    -1,
    1288        7,   102,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
     1128       1,     1,    11,    68,    11,    65,    12,   371,    66,    85,
     1129       3,     4,    85,    11,     7,    73,     9,    10,    94,   254,
     1130      94,    94,    95,    24,    95,    94,   100,    65,    66,   264,
     1131     394,   100,    94,     3,    99,    95,    99,     7,   100,    94,
     1132      10,    92,    94,    94,    92,   100,    94,    47,   100,     7,
     1133      51,    94,    10,    65,    66,    99,     4,   100,     7,     7,
     1134      66,    10,    94,    94,    94,    66,    11,    66,   100,   100,
     1135     100,    19,    20,    21,    22,    99,    85,    94,    26,    11,
     1136      99,    29,    91,   100,    99,    94,    95,    94,    95,    99,
     1137      99,     7,    99,    86,    10,    88,    89,    90,    91,    47,
     1138      93,    99,    50,    96,    97,   340,    54,    99,   101,   102,
     1139     111,    99,   100,   114,    99,    63,    64,   118,    88,    89,
     1140      90,    91,    70,    93,    99,     7,   126,    97,    99,    77,
     1141      65,   101,    80,    91,    99,    93,   137,    19,    20,    21,
     1142      22,    11,    91,   101,    26,    99,   100,    99,   149,    94,
     1143      95,    99,   101,    85,    99,   103,   104,   105,   106,   107,
     1144     108,   109,   110,    95,   112,     3,     4,    99,   116,     7,
     1145      99,     9,    10,    99,    90,    91,    65,    93,   126,    99,
     1146     181,   129,   183,    95,    11,   101,    99,   135,    70,    65,
     1147     138,    99,   100,    65,     3,    77,    99,   100,     7,    12,
     1148     148,    10,    94,   151,   152,   153,    99,   155,    99,   157,
     1149     158,   159,   160,   161,   162,   163,   164,   165,    99,    11,
     1150      99,   100,    99,   171,    94,    99,   174,    11,   176,    99,
     1151     100,   179,   180,    99,   182,    95,   184,    99,   100,   187,
     1152      99,   100,     3,    94,   126,    95,     7,    85,    86,    10,
     1153      88,    89,    90,    91,    65,    93,   138,    94,    96,    97,
     1154      11,    66,   100,   101,    91,    94,   148,    66,    95,     3,
     1155       4,   219,    99,     7,    65,     9,    10,    86,    66,    88,
     1156      89,    90,    91,   165,    93,    95,   286,    66,    97,   171,
     1157      48,    49,   101,    85,   176,    11,    94,   245,    99,   100,
     1158     248,    85,    94,    95,   252,    94,   254,    99,   309,    91,
     1159      94,    95,    99,   100,   100,    99,   264,   100,   266,   267,
     1160     268,    94,   270,   100,   272,   273,   100,    88,    89,    90,
     1161      91,   100,    93,   100,    85,   100,    97,    68,   339,    99,
     1162     101,   100,   290,    94,    95,    99,   100,    94,    99,     7,
     1163     298,   100,    86,   301,    88,    89,    90,    91,    47,    93,
     1164      94,   394,    96,    97,    99,   100,   100,   101,   382,    85,
     1165      99,   100,   254,   177,     0,     1,   299,   300,    94,    95,
     1166      -1,    -1,     8,    99,   385,    -1,    -1,    -1,    14,    15,
     1167      16,    17,   340,    -1,    -1,    21,   344,    -1,   346,   347,
     1168      -1,   349,     3,     4,    -1,    31,     7,    -1,     9,    10,
     1169      -1,    -1,    -1,    -1,    -1,    -1,    -1,   365,   366,    45,
     1170      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
     1171      56,    57,    58,    59,    60,    -1,    62,    63,    64,    65,
     1172      -1,    67,    68,    69,    70,    71,    72,    73,    74,    75,
     1173      76,    77,    78,    79,    80,    81,    82,    83,    84,    -1,
     1174      86,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,    95,
     1175      -1,     3,     4,    99,    -1,     7,   102,     9,    10,    -1,
     1176      -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,
     1177      91,    -1,    93,    94,    -1,    96,    97,     3,     4,   100,
     1178     101,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1179      -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
     1180      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
     1181      -1,     7,    -1,     9,    10,    14,    15,    16,    17,    -1,
     1182      -1,    -1,    21,     3,     4,    -1,    -1,     7,    -1,     9,
     1183      10,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,
     1184      -1,    93,    94,    -1,    96,    97,     3,     4,   100,   101,
     1185       7,    -1,     9,    10,    53,    54,    55,    56,    -1,    -1,
     1186      86,    -1,    88,    89,    90,    91,    92,    93,    94,    -1,
     1187      96,    97,    11,    -1,    86,   101,    88,    89,    90,    91,
     1188      -1,    93,    94,    -1,    96,    97,    -1,    -1,   100,   101,
    12891189      86,    -1,    88,    89,    90,    91,    -1,    93,    94,    -1,
    1290       96,    97,     3,     4,   100,   101,     7,    -1,     9,    10,
    1291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
     1190      96,    97,    11,    -1,   100,   101,    86,    -1,    88,    89,
     1191      90,    91,    -1,    93,    94,    -1,    96,    97,     3,     4,
     1192     100,   101,     7,    -1,     9,    10,    -1,    -1,    -1,    86,
     1193      -1,    88,    89,    90,    91,    -1,    93,    94,    -1,    96,
     1194      97,     3,     4,    -1,   101,     7,    85,     9,    10,    -1,
     1195      -1,    -1,    -1,    -1,    -1,    94,    95,     3,     4,    -1,
     1196      99,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1197      -1,    -1,    -1,     3,     4,    -1,    85,     7,    -1,     9,
     1198      10,    -1,    -1,    -1,    -1,    94,    95,     3,     4,    -1,
     1199      99,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1200      -1,    86,    -1,    88,    89,    90,    91,    -1,    93,    -1,
     1201      -1,    96,    97,     3,     4,   100,   101,     7,    -1,     9,
     1202      10,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,
     1203      -1,    93,    -1,    -1,    96,    97,    -1,    -1,   100,   101,
     1204      86,    -1,    88,    89,    90,    91,    -1,    93,    -1,    -1,
     1205      96,    97,    -1,    -1,   100,   101,    86,    -1,    88,    89,
     1206      90,    91,    -1,    93,    94,    -1,    96,    97,    -1,    -1,
     1207      86,   101,    88,    89,    90,    91,    -1,    93,    94,    -1,
     1208      96,    97,     3,     4,    -1,   101,     7,    -1,     9,    10,
     1209      -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    89,
     1210      90,    91,    -1,    93,    94,    -1,    96,    97,     3,     4,
     1211      -1,   101,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
     1212      -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
     1213       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
    12921214      -1,    -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    12931215      -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
    1294        9,    10,    14,    15,    16,    17,    -1,    -1,    -1,    21,
    1295        3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    86,
    1296       -1,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
    1297       97,     3,     4,    -1,   101,     7,    -1,     9,    10,    -1,
    1298       -1,    53,    54,    55,    56,    86,    -1,    88,    89,    90,
    1299       91,    -1,    93,    94,    -1,    96,    97,    -1,    -1,   100,
    1300      101,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
     1216       9,    10,    -1,    -1,    -1,    86,    -1,    88,    89,    90,
     1217      91,    -1,    93,    -1,    -1,    96,    97,     3,     4,   100,
     1218     101,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1219      -1,    86,    -1,    88,    89,    90,    91,    -1,    93,    -1,
    13011220      -1,    96,    97,    -1,    -1,   100,   101,    86,    -1,    88,
    13021221      89,    90,    91,    -1,    93,    94,    -1,    96,    97,    -1,
    1303       -1,   100,   101,    86,    -1,    88,    89,    90,    91,    -1,
    1304       93,    94,    -1,    96,    97,     3,     4,    -1,   101,     7,
    1305       -1,     9,    10,    -1,    86,    -1,    88,    89,    90,    91,
    1306       -1,    93,    -1,    -1,    96,    97,     3,     4,   100,   101,
     1222      -1,    86,   101,    88,    89,    90,    91,    -1,    93,    -1,
     1223      -1,    96,    97,    -1,    -1,   100,   101,    86,    -1,    88,
     1224      89,    90,    91,    -1,    93,    94,    -1,    96,    97,     3,
     1225       4,    -1,   101,     7,    -1,     9,    10,    -1,    -1,    -1,
     1226      86,    -1,    88,    89,    90,    91,    -1,    93,    -1,    -1,
     1227      96,    97,     3,     4,   100,   101,     7,    -1,     9,    10,
     1228      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
    13071229       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    13081230      -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,
    13091231      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
    13101232       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1311        3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,
    1312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
    1313       88,    89,    90,    91,    -1,    93,    -1,    -1,    96,    97,
    1314        3,     4,   100,   101,     7,    -1,     9,    10,    -1,    86,
    1315       -1,    88,    89,    90,    91,    -1,    93,    -1,    -1,    96,
     1233      -1,    -1,    86,    -1,    88,    89,    90,    91,    -1,    93,
     1234      -1,    -1,    96,    97,     3,     4,   100,   101,     7,    -1,
     1235       9,    10,    -1,    -1,    -1,    86,    -1,    88,    89,    90,
     1236      91,    92,    93,    -1,    -1,    96,    97,    -1,    -1,    86,
     1237     101,    88,    89,    90,    91,    -1,    93,    -1,    -1,    96,
    13161238      97,    -1,    -1,   100,   101,    86,    -1,    88,    89,    90,
    13171239      91,    -1,    93,    94,    -1,    96,    97,    -1,    -1,    86,
    1318      101,    88,    89,    90,    91,    -1,    93,    94,    -1,    96,
    1319       97,    -1,    -1,    86,   101,    88,    89,    90,    91,    -1,
    1320       93,    94,    -1,    96,    97,     3,     4,    -1,   101,     7,
    1321       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1322       -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,    -1,
    1323       93,    -1,    -1,    96,    97,     3,     4,   100,   101,     7,
    1324       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,
    1325        4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,    -1,
    1326       -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
    1327       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,
    1328        4,    -1,    -1,     7,    -1,     9,    10,    -1,    86,    -1,
    1329       88,    89,    90,    91,    -1,    93,    -1,    -1,    96,    97,
    1330        3,     4,   100,   101,     7,    -1,     9,    10,    -1,    -1,
    1331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
    1332       88,    89,    90,    91,    -1,    93,    94,    -1,    96,    97,
    1333       -1,    -1,    86,   101,    88,    89,    90,    91,    -1,    93,
    1334       -1,    -1,    96,    97,    -1,    -1,   100,   101,    86,    -1,
    1335       88,    89,    90,    91,    -1,    93,    94,    -1,    96,    97,
    1336       -1,    -1,    86,   101,    88,    89,    90,    91,    -1,    93,
    1337       -1,    -1,    96,    97,     3,     4,   100,   101,     7,    -1,
    1338        9,    10,    -1,    86,    -1,    88,    89,    90,    91,    -1,
    1339       93,    -1,    -1,    96,    97,     3,     4,   100,   101,     7,
    1340       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1240     101,    88,    89,    90,    91,    -1,    93,    -1,    -1,    96,
     1241      97,     3,     4,   100,   101,     7,    -1,     9,    10,    -1,
     1242      -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,
     1243      89,    90,    91,    -1,    93,    94,    -1,    96,    97,     3,
     1244       4,    -1,   101,     7,    -1,     9,    10,    -1,    -1,    -1,
     1245      -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,
     1246      10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
     1247      -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1248      -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,
     1249      10,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,
     1250      -1,    93,    -1,    -1,    96,    97,     3,     4,   100,   101,
     1251       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
     1252      -1,    -1,    86,    -1,    88,    89,    90,    91,    92,    93,
     1253      -1,    -1,    96,    97,    -1,    -1,    86,   101,    88,    89,
     1254      90,    91,    -1,    93,    94,    -1,    96,    97,    -1,    -1,
     1255      86,   101,    88,    89,    90,    91,    -1,    93,    -1,    -1,
     1256      96,    97,    -1,    -1,   100,   101,    86,    -1,    88,    89,
     1257      90,    91,    -1,    93,    -1,    -1,    96,    97,     3,     4,
     1258     100,   101,     7,    -1,     9,    10,    -1,    -1,    -1,    86,
     1259      -1,    88,    89,    90,    91,    -1,    93,    -1,    -1,    96,
     1260      97,     3,     4,   100,   101,     7,    -1,     9,    10,    -1,
     1261      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
     1262      -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
    13411263      -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
    13421264      -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
    13431265      -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1344       -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
    1345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,
    1346       89,    90,    91,    92,    93,    -1,    -1,    96,    97,     3,
    1347        4,    -1,   101,     7,    -1,     9,    10,    -1,    86,    -1,
    1348       88,    89,    90,    91,    -1,    93,    -1,    -1,    96,    97,
    1349       -1,    -1,   100,   101,    86,    -1,    88,    89,    90,    91,
    1350       -1,    93,    94,    -1,    96,    97,    -1,    -1,    86,   101,
    1351       88,    89,    90,    91,    -1,    93,    -1,    -1,    96,    97,
    1352       -1,    -1,   100,   101,    86,    -1,    88,    89,    90,    91,
    1353       -1,    93,    94,    -1,    96,    97,     3,     4,    -1,   101,
    1354        7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1355       -1,    -1,    86,    -1,    88,    89,    90,    91,    -1,    93,
    1356       -1,    -1,    96,    97,     3,     4,   100,   101,     7,    -1,
    1357        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
    1358       -1,    -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    1359       -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
    1360        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1361        3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    86,
    1362       -1,    88,    89,    90,    91,    92,    93,    -1,    -1,    96,
    1363       97,     3,     4,    -1,   101,     7,    -1,     9,    10,    -1,
    1364       -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,
    1365       89,    90,    91,    -1,    93,    94,    -1,    96,    97,    -1,
    1366       -1,    86,   101,    88,    89,    90,    91,    -1,    93,    -1,
    1367       -1,    96,    97,    -1,    -1,   100,   101,    86,    -1,    88,
    1368       89,    90,    91,    -1,    93,    -1,    -1,    96,    97,    -1,
    1369       -1,   100,   101,    86,    -1,    88,    89,    90,    91,    -1,
    1370       93,    -1,    -1,    96,    97,     3,     4,   100,   101,     7,
    1371       -1,     9,    10,    -1,    86,    -1,    88,    89,    90,    91,
    1372       -1,    93,    -1,    -1,    96,    97,     3,     4,   100,   101,
    1373        7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1374        3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,
    1375       -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
    1376        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
    1377       -1,    -1,     7,    -1,    -1,    10,    -1,    -1,    -1,    -1,
    1378       -1,    -1,     3,    -1,    -1,    -1,     7,    -1,    86,    10,
    1379       88,    89,    90,    91,    -1,    93,    -1,     3,    96,    97,
    1380       -1,     7,   100,   101,    10,    -1,    -1,    -1,    -1,    86,
    1381       -1,    88,    89,    90,    91,    92,    93,    -1,    -1,    96,
    1382       97,    -1,    -1,    86,   101,    88,    89,    90,    91,    -1,
    1383       93,    -1,    -1,    96,    97,    -1,    -1,    86,   101,    88,
    1384       89,    90,    91,    -1,    93,    -1,    -1,    -1,    97,    -1,
    1385       -1,    86,   101,    88,    89,    90,    91,    -1,    93,    -1,
    1386       -1,    -1,    97,    -1,    -1,    -1,   101,    88,    89,    90,
    1387       91,    -1,    93,    -1,    -1,    -1,    97,    -1,    -1,    -1,
    1388      101,    -1,    88,    89,    90,    91,    -1,    93,    -1,    -1,
    1389        8,    97,    -1,    -1,    -1,   101,    14,    15,    16,    17,
    1390       -1,    -1,    -1,    21,    -1,    -1,    -1,    -1,    -1,    -1,
     1266      -1,    86,    -1,    88,    89,    90,    91,    -1,    93,    -1,
     1267      -1,    96,    97,    -1,    -1,   100,   101,    -1,    -1,    -1,
     1268      -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91,
     1269      -1,    93,    -1,    -1,    96,    97,    -1,    -1,   100,   101,
     1270      86,    -1,    88,    89,    90,    91,    92,    93,    -1,    -1,
     1271      96,    97,    -1,    -1,    86,   101,    88,    89,    90,    91,
     1272      -1,    93,    -1,    -1,    96,    97,    -1,    -1,    86,   101,
     1273      88,    89,    90,    91,    -1,    93,    -1,    -1,     8,    97,
     1274      -1,    -1,    -1,   101,    14,    15,    16,    17,    -1,    -1,
     1275      -1,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    13911276      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1393       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1395       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1396       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1397       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1398       -1,    99,   100,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1399       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1400       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1401       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1402        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1403       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1404       -1,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
    1405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1406       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1408       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1409       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1410       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1411       -1,    99,   100,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1412       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1413       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1414       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1415        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1416       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1417       -1,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
    1418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1419       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1421       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1422       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1423       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1424       -1,    99,   100,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1425       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1426       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1427       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1428        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1429       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1430       -1,    -1,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
    1431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1432       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1434       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1435       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1436       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1437       -1,    99,    -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1438       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1439       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1440       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1441        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1442       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1443       -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102,
    1444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1445       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1447       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1448       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1449       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1450       -1,    99,    -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1451       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1452       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1453       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1454        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1455       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1456       -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102,
    1457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1458       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1460       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1461       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1462       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1463       -1,    99,    -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1464       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1465       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1466       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1467        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1468       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1469       -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102,
    1470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1471       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1473       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1474       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1475       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1476       -1,    99,    -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1477       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1478       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1479       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1480        8,    -1,    -1,    76,    77,    -1,    14,    15,    16,    17,
    1481       -1,    84,    -1,    21,    -1,    -1,    89,    -1,    91,    -1,
    1482       -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102,
    1483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    47,
    1484       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
    1485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    67,
    1486       68,    69,    -1,    71,    72,     8,    -1,    -1,    76,    77,
    1487       -1,    14,    15,    16,    17,    -1,    84,    -1,    21,    -1,
    1488       -1,    89,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    1489       -1,    99,    -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,
    1490       -1,    -1,    45,    46,    47,    48,    49,    50,    51,    52,
    1491       53,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
    1492       -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,    72,
    1493       -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,
    1494       -1,    84,    -1,    -1,    -1,    -1,    89,    -1,    91,    -1,
    1495       -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,   102
     1277      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1278      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1279      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1280      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1281      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1282      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1283     100,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1284      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1285      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1286      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1287      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1288      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1289      -1,    -1,    -1,    -1,    99,   100,    -1,   102,    -1,    -1,
     1290      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1291      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1292      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1293      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1294      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1295      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1296     100,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1297      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1298      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1299      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1300      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1301      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1302      -1,    -1,    -1,    -1,    99,   100,    -1,   102,    -1,    -1,
     1303      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1304      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1305      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1306      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1307      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1308      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1309     100,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1310      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1311      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1312      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1313      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1314      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1315      -1,    -1,    -1,    -1,    99,   100,    -1,   102,    -1,    -1,
     1316      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1317      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1318      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1319      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1320      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1321      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1322      -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1323      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1324      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1325      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1326      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1327      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1328      -1,    -1,    -1,    -1,    99,    -1,    -1,   102,    -1,    -1,
     1329      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1330      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1331      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1332      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1333      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1334      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1335      -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1336      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1337      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1338      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1339      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1340      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1341      -1,    -1,    -1,    -1,    99,    -1,    -1,   102,    -1,    -1,
     1342      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1343      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1344      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1345      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1346      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1347      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1348      -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1349      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1350      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1351      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1352      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1353      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1354      -1,    -1,    -1,    -1,    99,    -1,    -1,   102,    -1,    -1,
     1355      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1356      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1357      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1358      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1359      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1360      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1361      -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1362      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1363      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1364      65,    -1,    67,    68,    69,    -1,    71,    72,     8,    -1,
     1365      -1,    76,    77,    -1,    14,    15,    16,    17,    -1,    84,
     1366      -1,    21,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1367      -1,    -1,    -1,    -1,    99,    -1,    -1,   102,    -1,    -1,
     1368      -1,    -1,    -1,    -1,    -1,    45,    46,    47,    48,    49,
     1369      50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
     1370      -1,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     1371      -1,    71,    72,     8,    -1,    -1,    76,    77,    -1,    14,
     1372      15,    16,    17,    -1,    84,    -1,    21,    -1,    -1,    89,
     1373      -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,
     1374      -1,    -1,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1375      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1376      55,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1377      65,    -1,    67,    68,    69,    -1,    71,    72,    -1,    -1,
     1378      -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    84,
     1379      -1,    -1,    -1,    -1,    89,    -1,    91,    -1,    -1,    -1,
     1380      -1,    -1,    -1,    -1,    99,    -1,    -1,   102
    14961381};
    14971382
    1498 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    1499    symbol of state STATE-NUM.  */
     1383  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
     1384     symbol of state STATE-NUM.  */
    15001385static const yytype_uint8 yystos[] =
    15011386{
     
    15331418     122,   112,   112,   112,   112,   112,   112,    16,    17,    53,
    15341419      54,    55,    56,   128,    45,    48,    49,    51,    52,   112,
    1535      100,    66,    66,    73,   112,   116,   116,   112,    92,    94,
    1536      111,    94,   100,    94,   100,    94,    94,   100,    94,   100,
     1420     100,    66,    66,    73,   112,   116,   116,   112,    92,    91,
     1421      94,   111,    94,   100,    94,   100,    94,    94,   100,    94,
    15371422     100,   100,   100,   100,   100,   100,   100,   100,   100,   100,
    1538      100,   100,   100,    92,    94,    91,   122,   100,    68,    99,
    1539      123,   124,   126,   112,   112,   112,   112,   112,   112,    94,
    1540      124,   125,    99,   100,   100,   100,   100,   100,   100,    92,
    1541      126,    94,   100,   111,   125,   100
     1423     100,   100,   100,   100,    92,    94,    91,   111,   122,   100,
     1424      68,    99,   123,   124,   126,   112,   112,   112,   112,   112,
     1425     112,    92,    94,   124,   125,    99,   100,   100,   100,   100,
     1426     100,   100,    92,   126,    94,   100,   111,   125,   100
    15421427};
    15431428
    1544 #define yyerrok         (yyerrstatus = 0)
    1545 #define yyclearin       (yychar = YYEMPTY)
    1546 #define YYEMPTY         (-2)
    1547 #define YYEOF           0
    1548 
    1549 #define YYACCEPT        goto yyacceptlab
    1550 #define YYABORT         goto yyabortlab
    1551 #define YYERROR         goto yyerrorlab
    1552 
    1553 
    1554 /* Like YYERROR except do call yyerror.  This remains here temporarily
    1555    to ease the transition to the new meaning of YYERROR, for GCC.
    1556    Once GCC version 2 has supplanted version 1, this can go.  However,
    1557    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
    1558    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
    1559    discussed.  */
    1560 
    1561 #define YYFAIL          goto yyerrlab
    1562 #if defined YYFAIL
    1563   /* This is here to suppress warnings from the GCC cpp's
    1564      -Wunused-macros.  Normally we don't worry about that warning, but
    1565      some users do, and we want to make it easy for users to remove
    1566      YYFAIL uses, which will produce warnings from Bison 2.5.  */
    1567 #endif
     1429  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
     1430static const yytype_uint8 yyr1[] =
     1431{
     1432       0,   103,   104,   104,   105,   105,   105,   105,   105,   105,
     1433     105,   106,   106,   106,   106,   106,   106,   106,   106,   107,
     1434     108,   108,   108,   108,   108,   108,   108,   108,   108,   109,
     1435     110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
     1436     110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
     1437     110,   110,   110,   110,   110,   110,   110,   110,   110,   110,
     1438     110,   110,   110,   110,   110,   110,   111,   111,   112,   112,
     1439     112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
     1440     112,   112,   113,   112,   114,   115,   116,   117,   117,   117,
     1441     117,   117,   117,   117,   117,   117,   117,   117,   117,   117,
     1442     117,   118,   118,   119,   119,   120,   120,   120,   120,   120,
     1443     120,   120,   120,   121,   122,   122,   123,   124,   124,   125,
     1444     125,   126,   126,   127,   128,   128,   128,   130,   129,   131,
     1445     131,   132,   133,   134,   134,   135,   135,   135,   135,   135,
     1446     135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
     1447     135,   136,   137,   137,   137,   137,   138,   139,   139,   140,
     1448     141,   141,   142,   142,   142,   142,   142,   143,   144,   145,
     1449     145,   145,   146,   146,   147,   147
     1450};
     1451
     1452  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
     1453static const yytype_uint8 yyr2[] =
     1454{
     1455       0,     2,     0,     2,     1,     2,     2,     1,     1,     1,
     1456       2,     1,     1,     1,     1,     1,     1,     1,     1,     2,
     1457       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
     1458       1,     1,     3,     3,     3,     4,     3,     1,     1,     1,
     1459       4,     4,     4,     3,     4,     4,     3,     4,     4,     4,
     1460       4,     6,     6,     6,     6,     8,     8,     8,     8,     3,
     1461       4,     8,     4,     8,     4,     3,     3,     1,     1,     1,
     1462       3,     6,     4,     6,     6,     6,     6,     6,     6,     3,
     1463       5,     5,     0,     5,     2,     2,     1,     2,     2,     3,
     1464       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
     1465       2,     2,     2,     1,     3,     2,     2,     2,     2,     8,
     1466       2,     3,     2,     1,     1,     5,     1,     1,     4,     1,
     1467       3,     1,     3,     1,     1,     1,     1,     0,     4,     3,
     1468       2,     3,     2,     2,     3,     4,     4,     4,     4,     4,
     1469       4,     4,     4,     6,     6,     6,     6,     6,     6,     6,
     1470       3,     1,     8,     2,     4,     7,     2,     1,     1,     2,
     1471       2,     1,     5,     2,     5,     1,     1,     3,     5,     3,
     1472       3,     4,     2,     2,     4,     3
     1473};
     1474
     1475
     1476#define yyerrok         (yyerrstatus = 0)
     1477#define yyclearin       (yychar = YYEMPTY)
     1478#define YYEMPTY         (-2)
     1479#define YYEOF           0
     1480
     1481#define YYACCEPT        goto yyacceptlab
     1482#define YYABORT         goto yyabortlab
     1483#define YYERROR         goto yyerrorlab
     1484
    15681485
    15691486#define YYRECOVERING()  (!!yyerrstatus)
    15701487
    1571 #define YYBACKUP(Token, Value)                                  \
    1572 do                                                              \
    1573   if (yychar == YYEMPTY && yylen == 1)                          \
    1574     {                                                           \
    1575       yychar = (Token);                                         \
    1576       yylval = (Value);                                         \
    1577       yytoken = YYTRANSLATE (yychar);                           \
    1578       YYPOPSTACK (1);                                           \
    1579       goto yybackup;                                            \
    1580     }                                                           \
    1581   else                                                          \
    1582     {                                                           \
     1488#define YYBACKUP(Token, Value)                                  \
     1489do                                                              \
     1490  if (yychar == YYEMPTY)                                        \
     1491    {                                                           \
     1492      yychar = (Token);                                         \
     1493      yylval = (Value);                                         \
     1494      YYPOPSTACK (yylen);                                       \
     1495      yystate = *yyssp;                                         \
     1496      goto yybackup;                                            \
     1497    }                                                           \
     1498  else                                                          \
     1499    {                                                           \
    15831500      yyerror (YY_("syntax error: cannot back up")); \
    1584       YYERROR;                                                  \
    1585     }                                                           \
    1586 while (YYID (0))
    1587 
    1588 
    1589 #define YYTERROR        1
    1590 #define YYERRCODE       256
    1591 
    1592 
    1593 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    1594    If N is 0, then set CURRENT to the empty location which ends
    1595    the previous symbol: RHS[0] (always defined).  */
    1596 
    1597 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
    1598 #ifndef YYLLOC_DEFAULT
    1599 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
    1600     do                                                                  \
    1601       if (YYID (N))                                                    \
    1602         {                                                               \
    1603           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
    1604           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
    1605           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
    1606           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
    1607         }                                                               \
    1608       else                                                              \
    1609         {                                                               \
    1610           (Current).first_line   = (Current).last_line   =              \
    1611             YYRHSLOC (Rhs, 0).last_line;                                \
    1612           (Current).first_column = (Current).last_column =              \
    1613             YYRHSLOC (Rhs, 0).last_column;                              \
    1614         }                                                               \
    1615     while (YYID (0))
    1616 #endif
    1617 
    1618 
    1619 /* YY_LOCATION_PRINT -- Print the location on the stream.
    1620    This macro was not mandated originally: define only if we know
    1621    we won't break user code: when these are the locations we know.  */
    1622 
    1623 #ifndef YY_LOCATION_PRINT
    1624 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
    1625 #  define YY_LOCATION_PRINT(File, Loc)                  \
    1626      fprintf (File, "%d.%d-%d.%d",                      \
    1627               (Loc).first_line, (Loc).first_column,     \
    1628               (Loc).last_line,  (Loc).last_column)
    1629 # else
    1630 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
    1631 # endif
    1632 #endif
    1633 
    1634 
    1635 /* YYLEX -- calling `yylex' with the right arguments.  */
    1636 
    1637 #ifdef YYLEX_PARAM
    1638 # define YYLEX yylex (&yylval, YYLEX_PARAM)
    1639 #else
    1640 # define YYLEX yylex (&yylval)
    1641 #endif
     1501      YYERROR;                                                  \
     1502    }                                                           \
     1503while (0)
     1504
     1505/* Error token number */
     1506#define YYTERROR        1
     1507#define YYERRCODE       256
     1508
     1509
    16421510
    16431511/* Enable debugging if requested.  */
     
    16491517# endif
    16501518
    1651 # define YYDPRINTF(Args)                        \
    1652 do {                                            \
    1653   if (yydebug)                                  \
    1654     YYFPRINTF Args;                             \
    1655 } while (YYID (0))
    1656 
    1657 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
    1658 do {                                                                      \
    1659   if (yydebug)                                                            \
    1660     {                                                                     \
    1661       YYFPRINTF (stderr, "%s ", Title);                                   \
    1662       yy_symbol_print (stderr,                                            \
    1663                   Type, Value); \
    1664       YYFPRINTF (stderr, "\n");                                           \
    1665     }                                                                     \
    1666 } while (YYID (0))
    1667 
    1668 
    1669 /*--------------------------------.
    1670 | Print this symbol on YYOUTPUT.  |
    1671 `--------------------------------*/
    1672 
    1673 /*ARGSUSED*/
    1674 #if (defined __STDC__ || defined __C99__FUNC__ \
    1675      || defined __cplusplus || defined _MSC_VER)
     1519# define YYDPRINTF(Args)                        \
     1520do {                                            \
     1521  if (yydebug)                                  \
     1522    YYFPRINTF Args;                             \
     1523} while (0)
     1524
     1525/* This macro is provided for backward compatibility. */
     1526#ifndef YY_LOCATION_PRINT
     1527# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
     1528#endif
     1529
     1530
     1531# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
     1532do {                                                                      \
     1533  if (yydebug)                                                            \
     1534    {                                                                     \
     1535      YYFPRINTF (stderr, "%s ", Title);                                   \
     1536      yy_symbol_print (stderr,                                            \
     1537                  Type, Value); \
     1538      YYFPRINTF (stderr, "\n");                                           \
     1539    }                                                                     \
     1540} while (0)
     1541
     1542
     1543/*----------------------------------------.
     1544| Print this symbol's value on YYOUTPUT.  |
     1545`----------------------------------------*/
     1546
    16761547static void
    16771548yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    1678 #else
    1679 static void
    1680 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
    1681     FILE *yyoutput;
    1682     int yytype;
    1683     YYSTYPE const * const yyvaluep;
    1684 #endif
    16851549{
     1550  FILE *yyo = yyoutput;
     1551  YYUSE (yyo);
    16861552  if (!yyvaluep)
    16871553    return;
     
    16891555  if (yytype < YYNTOKENS)
    16901556    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    1691 # else
    1692   YYUSE (yyoutput);
    16931557# endif
    1694   switch (yytype)
    1695     {
    1696       default:
    1697         break;
    1698     }
     1558  YYUSE (yytype);
    16991559}
    17001560
     
    17041564`--------------------------------*/
    17051565
    1706 #if (defined __STDC__ || defined __C99__FUNC__ \
    1707      || defined __cplusplus || defined _MSC_VER)
    17081566static void
    17091567yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    1710 #else
    1711 static void
    1712 yy_symbol_print (yyoutput, yytype, yyvaluep)
    1713     FILE *yyoutput;
    1714     int yytype;
    1715     YYSTYPE const * const yyvaluep;
    1716 #endif
    17171568{
    1718   if (yytype < YYNTOKENS)
    1719     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    1720   else
    1721     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
     1569  YYFPRINTF (yyoutput, "%s %s (",
     1570             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
    17221571
    17231572  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
     
    17301579`------------------------------------------------------------------*/
    17311580
    1732 #if (defined __STDC__ || defined __C99__FUNC__ \
    1733      || defined __cplusplus || defined _MSC_VER)
    17341581static void
    17351582yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    1736 #else
    1737 static void
    1738 yy_stack_print (yybottom, yytop)
    1739     yytype_int16 *yybottom;
    1740     yytype_int16 *yytop;
    1741 #endif
    17421583{
    17431584  YYFPRINTF (stderr, "Stack now");
     
    17501591}
    17511592
    1752 # define YY_STACK_PRINT(Bottom, Top)                            \
    1753 do {                                                            \
    1754   if (yydebug)                                                  \
    1755     yy_stack_print ((Bottom), (Top));                           \
    1756 } while (YYID (0))
     1593# define YY_STACK_PRINT(Bottom, Top)                            \
     1594do {                                                            \
     1595  if (yydebug)                                                  \
     1596    yy_stack_print ((Bottom), (Top));                           \
     1597} while (0)
    17571598
    17581599
     
    17611602`------------------------------------------------*/
    17621603
    1763 #if (defined __STDC__ || defined __C99__FUNC__ \
    1764      || defined __cplusplus || defined _MSC_VER)
    17651604static void
    1766 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    1767 #else
    1768 static void
    1769 yy_reduce_print (yyvsp, yyrule)
    1770     YYSTYPE *yyvsp;
    1771     int yyrule;
    1772 #endif
     1605yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
    17731606{
     1607  unsigned long int yylno = yyrline[yyrule];
    17741608  int yynrhs = yyr2[yyrule];
    17751609  int yyi;
    1776   unsigned long int yylno = yyrline[yyrule];
    17771610  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
    1778              yyrule - 1, yylno);
     1611             yyrule - 1, yylno);
    17791612  /* The symbols being reduced.  */
    17801613  for (yyi = 0; yyi < yynrhs; yyi++)
    17811614    {
    17821615      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
    1783       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
    1784                        &(yyvsp[(yyi + 1) - (yynrhs)])
    1785                                        );
     1616      yy_symbol_print (stderr,
     1617                       yystos[yyssp[yyi + 1 - yynrhs]],
     1618                       &(yyvsp[(yyi + 1) - (yynrhs)])
     1619                                              );
    17861620      YYFPRINTF (stderr, "\n");
    17871621    }
    17881622}
    17891623
    1790 # define YY_REDUCE_PRINT(Rule)          \
    1791 do {                                    \
    1792   if (yydebug)                          \
    1793     yy_reduce_print (yyvsp, Rule); \
    1794 } while (YYID (0))
     1624# define YY_REDUCE_PRINT(Rule)          \
     1625do {                                    \
     1626  if (yydebug)                          \
     1627    yy_reduce_print (yyssp, yyvsp, Rule); \
     1628} while (0)
    17951629
    17961630/* Nonzero means print parse trace.  It is left uninitialized so that
     
    18061640
    18071641/* YYINITDEPTH -- initial size of the parser's stacks.  */
    1808 #ifndef YYINITDEPTH
     1642#ifndef YYINITDEPTH
    18091643# define YYINITDEPTH 200
    18101644#endif
     
    18201654# define YYMAXDEPTH 10000
    18211655#endif
    1822 
    1823 
    18241656
    18251657
     
    18311663#  else
    18321664/* Return the length of YYSTR.  */
    1833 #if (defined __STDC__ || defined __C99__FUNC__ \
    1834      || defined __cplusplus || defined _MSC_VER)
    18351665static YYSIZE_T
    18361666yystrlen (const char *yystr)
    1837 #else
    1838 static YYSIZE_T
    1839 yystrlen (yystr)
    1840     const char *yystr;
    1841 #endif
    18421667{
    18431668  YYSIZE_T yylen;
     
    18551680/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    18561681   YYDEST.  */
    1857 #if (defined __STDC__ || defined __C99__FUNC__ \
    1858      || defined __cplusplus || defined _MSC_VER)
    18591682static char *
    18601683yystpcpy (char *yydest, const char *yysrc)
    1861 #else
    1862 static char *
    1863 yystpcpy (yydest, yysrc)
    1864     char *yydest;
    1865     const char *yysrc;
    1866 #endif
    18671684{
    18681685  char *yyd = yydest;
     
    18941711
    18951712      for (;;)
    1896         switch (*++yyp)
    1897           {
    1898           case '\'':
    1899           case ',':
    1900             goto do_not_strip_quotes;
    1901 
    1902           case '\\':
    1903             if (*++yyp != '\\')
    1904               goto do_not_strip_quotes;
    1905             /* Fall through.  */
    1906           default:
    1907             if (yyres)
    1908               yyres[yyn] = *yyp;
    1909             yyn++;
    1910             break;
    1911 
    1912           case '"':
    1913             if (yyres)
    1914               yyres[yyn] = '\0';
    1915             return yyn;
    1916           }
     1713        switch (*++yyp)
     1714          {
     1715          case '\'':
     1716          case ',':
     1717            goto do_not_strip_quotes;
     1718
     1719          case '\\':
     1720            if (*++yyp != '\\')
     1721              goto do_not_strip_quotes;
     1722            /* Fall through.  */
     1723          default:
     1724            if (yyres)
     1725              yyres[yyn] = *yyp;
     1726            yyn++;
     1727            break;
     1728
     1729          case '"':
     1730            if (yyres)
     1731              yyres[yyn] = '\0';
     1732            return yyn;
     1733          }
    19171734    do_not_strip_quotes: ;
    19181735    }
     
    19251742# endif
    19261743
    1927 /* Copy into YYRESULT an error message about the unexpected token
    1928    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
    1929    including the terminating null byte.  If YYRESULT is null, do not
    1930    copy anything; just return the number of bytes that would be
    1931    copied.  As a special case, return 0 if an ordinary "syntax error"
    1932    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
    1933    size calculation.  */
    1934 static YYSIZE_T
    1935 yysyntax_error (char *yyresult, int yystate, int yychar)
     1744/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
     1745   about the unexpected token YYTOKEN for the state stack whose top is
     1746   YYSSP.
     1747
     1748   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
     1749   not large enough to hold the message.  In that case, also set
     1750   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
     1751   required number of bytes is too large to store.  */
     1752static int
     1753yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
     1754                yytype_int16 *yyssp, int yytoken)
    19361755{
    1937   int yyn = yypact[yystate];
    1938 
    1939   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
    1940     return 0;
    1941   else
    1942     {
    1943       int yytype = YYTRANSLATE (yychar);
    1944       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
    1945       YYSIZE_T yysize = yysize0;
    1946       YYSIZE_T yysize1;
    1947       int yysize_overflow = 0;
    1948       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
    1949       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
    1950       int yyx;
    1951 
    1952 # if 0
    1953       /* This is so xgettext sees the translatable formats that are
    1954          constructed on the fly.  */
    1955       YY_("syntax error, unexpected %s");
    1956       YY_("syntax error, unexpected %s, expecting %s");
    1957       YY_("syntax error, unexpected %s, expecting %s or %s");
    1958       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
    1959       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
    1960 # endif
    1961       char *yyfmt;
    1962       char const *yyf;
    1963       static char const yyunexpected[] = "syntax error, unexpected %s";
    1964       static char const yyexpecting[] = ", expecting %s";
    1965       static char const yyor[] = " or %s";
    1966       char yyformat[sizeof yyunexpected
    1967                     + sizeof yyexpecting - 1
    1968                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
    1969                        * (sizeof yyor - 1))];
    1970       char const *yyprefix = yyexpecting;
    1971 
    1972       /* Start YYX at -YYN if negative to avoid negative indexes in
    1973          YYCHECK.  */
    1974       int yyxbegin = yyn < 0 ? -yyn : 0;
    1975 
    1976       /* Stay within bounds of both yycheck and yytname.  */
    1977       int yychecklim = YYLAST - yyn + 1;
    1978       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    1979       int yycount = 1;
    1980 
    1981       yyarg[0] = yytname[yytype];
    1982       yyfmt = yystpcpy (yyformat, yyunexpected);
    1983 
    1984       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    1985         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    1986           {
    1987             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
    1988               {
    1989                 yycount = 1;
    1990                 yysize = yysize0;
    1991                 yyformat[sizeof yyunexpected - 1] = '\0';
    1992                 break;
    1993               }
    1994             yyarg[yycount++] = yytname[yyx];
    1995             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
    1996             yysize_overflow |= (yysize1 < yysize);
    1997             yysize = yysize1;
    1998             yyfmt = yystpcpy (yyfmt, yyprefix);
    1999             yyprefix = yyor;
    2000           }
    2001 
    2002       yyf = YY_(yyformat);
    2003       yysize1 = yysize + yystrlen (yyf);
    2004       yysize_overflow |= (yysize1 < yysize);
    2005       yysize = yysize1;
    2006 
    2007       if (yysize_overflow)
    2008         return YYSIZE_MAXIMUM;
    2009 
    2010       if (yyresult)
    2011         {
    2012           /* Avoid sprintf, as that infringes on the user's name space.
    2013              Don't have undefined behavior even if the translation
    2014              produced a string with the wrong number of "%s"s.  */
    2015           char *yyp = yyresult;
    2016           int yyi = 0;
    2017           while ((*yyp = *yyf) != '\0')
    2018             {
    2019               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
    2020                 {
    2021                   yyp += yytnamerr (yyp, yyarg[yyi++]);
    2022                   yyf += 2;
    2023                 }
    2024               else
    2025                 {
    2026                   yyp++;
    2027                   yyf++;
    2028                 }
    2029             }
    2030         }
    2031       return yysize;
     1756  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
     1757  YYSIZE_T yysize = yysize0;
     1758  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
     1759  /* Internationalized format string. */
     1760  const char *yyformat = YY_NULLPTR;
     1761  /* Arguments of yyformat. */
     1762  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
     1763  /* Number of reported tokens (one for the "unexpected", one per
     1764     "expected"). */
     1765  int yycount = 0;
     1766
     1767  /* There are many possibilities here to consider:
     1768     - If this state is a consistent state with a default action, then
     1769       the only way this function was invoked is if the default action
     1770       is an error action.  In that case, don't check for expected
     1771       tokens because there are none.
     1772     - The only way there can be no lookahead present (in yychar) is if
     1773       this state is a consistent state with a default action.  Thus,
     1774       detecting the absence of a lookahead is sufficient to determine
     1775       that there is no unexpected or expected token to report.  In that
     1776       case, just report a simple "syntax error".
     1777     - Don't assume there isn't a lookahead just because this state is a
     1778       consistent state with a default action.  There might have been a
     1779       previous inconsistent state, consistent state with a non-default
     1780       action, or user semantic action that manipulated yychar.
     1781     - Of course, the expected token list depends on states to have
     1782       correct lookahead information, and it depends on the parser not
     1783       to perform extra reductions after fetching a lookahead from the
     1784       scanner and before detecting a syntax error.  Thus, state merging
     1785       (from LALR or IELR) and default reductions corrupt the expected
     1786       token list.  However, the list is correct for canonical LR with
     1787       one exception: it will still contain any token that will not be
     1788       accepted due to an error action in a later state.
     1789  */
     1790  if (yytoken != YYEMPTY)
     1791    {
     1792      int yyn = yypact[*yyssp];
     1793      yyarg[yycount++] = yytname[yytoken];
     1794      if (!yypact_value_is_default (yyn))
     1795        {
     1796          /* Start YYX at -YYN if negative to avoid negative indexes in
     1797             YYCHECK.  In other words, skip the first -YYN actions for
     1798             this state because they are default actions.  */
     1799          int yyxbegin = yyn < 0 ? -yyn : 0;
     1800          /* Stay within bounds of both yycheck and yytname.  */
     1801          int yychecklim = YYLAST - yyn + 1;
     1802          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
     1803          int yyx;
     1804
     1805          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
     1806            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
     1807                && !yytable_value_is_error (yytable[yyx + yyn]))
     1808              {
     1809                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
     1810                  {
     1811                    yycount = 1;
     1812                    yysize = yysize0;
     1813                    break;
     1814                  }
     1815                yyarg[yycount++] = yytname[yyx];
     1816                {
     1817                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
     1818                  if (! (yysize <= yysize1
     1819                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
     1820                    return 2;
     1821                  yysize = yysize1;
     1822                }
     1823              }
     1824        }
    20321825    }
     1826
     1827  switch (yycount)
     1828    {
     1829# define YYCASE_(N, S)                      \
     1830      case N:                               \
     1831        yyformat = S;                       \
     1832      break
     1833      YYCASE_(0, YY_("syntax error"));
     1834      YYCASE_(1, YY_("syntax error, unexpected %s"));
     1835      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
     1836      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
     1837      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
     1838      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
     1839# undef YYCASE_
     1840    }
     1841
     1842  {
     1843    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
     1844    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
     1845      return 2;
     1846    yysize = yysize1;
     1847  }
     1848
     1849  if (*yymsg_alloc < yysize)
     1850    {
     1851      *yymsg_alloc = 2 * yysize;
     1852      if (! (yysize <= *yymsg_alloc
     1853             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
     1854        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
     1855      return 1;
     1856    }
     1857
     1858  /* Avoid sprintf, as that infringes on the user's name space.
     1859     Don't have undefined behavior even if the translation
     1860     produced a string with the wrong number of "%s"s.  */
     1861  {
     1862    char *yyp = *yymsg;
     1863    int yyi = 0;
     1864    while ((*yyp = *yyformat) != '\0')
     1865      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
     1866        {
     1867          yyp += yytnamerr (yyp, yyarg[yyi++]);
     1868          yyformat += 2;
     1869        }
     1870      else
     1871        {
     1872          yyp++;
     1873          yyformat++;
     1874        }
     1875  }
     1876  return 0;
    20331877}
    20341878#endif /* YYERROR_VERBOSE */
    2035 
    2036 
    20371879
    20381880/*-----------------------------------------------.
     
    20401882`-----------------------------------------------*/
    20411883
    2042 /*ARGSUSED*/
    2043 #if (defined __STDC__ || defined __C99__FUNC__ \
    2044      || defined __cplusplus || defined _MSC_VER)
    20451884static void
    20461885yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    2047 #else
    2048 static void
    2049 yydestruct (yymsg, yytype, yyvaluep)
    2050     const char *yymsg;
    2051     int yytype;
    2052     YYSTYPE *yyvaluep;
    2053 #endif
    20541886{
    20551887  YYUSE (yyvaluep);
    2056 
    20571888  if (!yymsg)
    20581889    yymsg = "Deleting";
    20591890  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    20601891
    2061   switch (yytype)
    2062     {
    2063 
    2064       default:
    2065         break;
    2066     }
     1892  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
     1893  YYUSE (yytype);
     1894  YY_IGNORE_MAYBE_UNINITIALIZED_END
    20671895}
    20681896
    2069 /* Prevent warnings from -Wmissing-prototypes.  */
    2070 #ifdef YYPARSE_PARAM
    2071 #if defined __STDC__ || defined __cplusplus
    2072 int yyparse (void *YYPARSE_PARAM);
    2073 #else
    2074 int yyparse ();
    2075 #endif
    2076 #else /* ! YYPARSE_PARAM */
    2077 #if defined __STDC__ || defined __cplusplus
    2078 int yyparse (void);
    2079 #else
    2080 int yyparse ();
    2081 #endif
    2082 #endif /* ! YYPARSE_PARAM */
    2083 
    2084 
    2085 
    2086 
    2087 
    2088 /*-------------------------.
    2089 | yyparse or yypush_parse.  |
    2090 `-------------------------*/
    2091 
    2092 #ifdef YYPARSE_PARAM
    2093 #if (defined __STDC__ || defined __C99__FUNC__ \
    2094      || defined __cplusplus || defined _MSC_VER)
    2095 int
    2096 yyparse (void *YYPARSE_PARAM)
    2097 #else
    2098 int
    2099 yyparse (YYPARSE_PARAM)
    2100     void *YYPARSE_PARAM;
    2101 #endif
    2102 #else /* ! YYPARSE_PARAM */
    2103 #if (defined __STDC__ || defined __C99__FUNC__ \
    2104      || defined __cplusplus || defined _MSC_VER)
     1897
     1898
     1899
     1900/*----------.
     1901| yyparse.  |
     1902`----------*/
     1903
    21051904int
    21061905yyparse (void)
    2107 #else
    2108 int
    2109 yyparse ()
    2110 
    2111 #endif
    2112 #endif
    21131906{
    21141907/* The lookahead symbol.  */
    21151908int yychar;
    21161909
     1910
    21171911/* The semantic value of the lookahead symbol.  */
    2118 YYSTYPE yylval;
     1912/* Default value used for initialization, for pacifying older GCCs
     1913   or non-GCC compilers.  */
     1914YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
     1915YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
    21191916
    21201917    /* Number of syntax errors so far.  */
     
    21261923
    21271924    /* The stacks and their tools:
    2128        `yyss': related to states.
    2129        `yyvs': related to semantic values.
    2130 
    2131        Refer to the stacks thru separate pointers, to allow yyoverflow
     1925       'yyss': related to states.
     1926       'yyvs': related to semantic values.
     1927
     1928       Refer to the stacks through separate pointers, to allow yyoverflow
    21321929       to reallocate them elsewhere.  */
    21331930
     
    21471944  int yyresult;
    21481945  /* Lookahead token as an internal (translated) token number.  */
    2149   int yytoken;
     1946  int yytoken = 0;
    21501947  /* The variables used to return semantic value and location from the
    21511948     action routines.  */
     
    21651962  int yylen = 0;
    21661963
    2167   yytoken = 0;
    2168   yyss = yyssa;
    2169   yyvs = yyvsa;
     1964  yyssp = yyss = yyssa;
     1965  yyvsp = yyvs = yyvsa;
    21701966  yystacksize = YYINITDEPTH;
    21711967
     
    21761972  yynerrs = 0;
    21771973  yychar = YYEMPTY; /* Cause a token to be read.  */
    2178 
    2179   /* Initialize stack pointers.
    2180      Waste one element of value and location stack
    2181      so that they stay on the same level as the state stack.
    2182      The wasted elements are never initialized.  */
    2183   yyssp = yyss;
    2184   yyvsp = yyvs;
    2185 
    21861974  goto yysetstate;
    21871975
     
    22041992#ifdef yyoverflow
    22051993      {
    2206         /* Give user a chance to reallocate the stack.  Use copies of
    2207            these so that the &'s don't force the real ones into
    2208            memory.  */
    2209         YYSTYPE *yyvs1 = yyvs;
    2210         yytype_int16 *yyss1 = yyss;
    2211 
    2212         /* Each stack pointer address is followed by the size of the
    2213            data in use in that stack, in bytes.  This used to be a
    2214            conditional around just the two extra args, but that might
    2215            be undefined if yyoverflow is a macro.  */
    2216         yyoverflow (YY_("memory exhausted"),
    2217                     &yyss1, yysize * sizeof (*yyssp),
    2218                     &yyvs1, yysize * sizeof (*yyvsp),
    2219                     &yystacksize);
    2220 
    2221         yyss = yyss1;
    2222         yyvs = yyvs1;
     1994        /* Give user a chance to reallocate the stack.  Use copies of
     1995           these so that the &'s don't force the real ones into
     1996           memory.  */
     1997        YYSTYPE *yyvs1 = yyvs;
     1998        yytype_int16 *yyss1 = yyss;
     1999
     2000        /* Each stack pointer address is followed by the size of the
     2001           data in use in that stack, in bytes.  This used to be a
     2002           conditional around just the two extra args, but that might
     2003           be undefined if yyoverflow is a macro.  */
     2004        yyoverflow (YY_("memory exhausted"),
     2005                    &yyss1, yysize * sizeof (*yyssp),
     2006                    &yyvs1, yysize * sizeof (*yyvsp),
     2007                    &yystacksize);
     2008
     2009        yyss = yyss1;
     2010        yyvs = yyvs1;
    22232011      }
    22242012#else /* no yyoverflow */
     
    22282016      /* Extend the stack our own way.  */
    22292017      if (YYMAXDEPTH <= yystacksize)
    2230         goto yyexhaustedlab;
     2018        goto yyexhaustedlab;
    22312019      yystacksize *= 2;
    22322020      if (YYMAXDEPTH < yystacksize)
    2233         yystacksize = YYMAXDEPTH;
     2021        yystacksize = YYMAXDEPTH;
    22342022
    22352023      {
    2236         yytype_int16 *yyss1 = yyss;
    2237         union yyalloc *yyptr =
    2238           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    2239         if (! yyptr)
    2240           goto yyexhaustedlab;
    2241         YYSTACK_RELOCATE (yyss_alloc, yyss);
    2242         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
     2024        yytype_int16 *yyss1 = yyss;
     2025        union yyalloc *yyptr =
     2026          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
     2027        if (! yyptr)
     2028          goto yyexhaustedlab;
     2029        YYSTACK_RELOCATE (yyss_alloc, yyss);
     2030        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    22432031#  undef YYSTACK_RELOCATE
    2244         if (yyss1 != yyssa)
    2245           YYSTACK_FREE (yyss1);
     2032        if (yyss1 != yyssa)
     2033          YYSTACK_FREE (yyss1);
    22462034      }
    22472035# endif
     
    22522040
    22532041      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    2254                   (unsigned long int) yystacksize));
     2042                  (unsigned long int) yystacksize));
    22552043
    22562044      if (yyss + yystacksize - 1 <= yyssp)
    2257         YYABORT;
     2045        YYABORT;
    22582046    }
    22592047
     
    22752063  /* First try to decide what to do without reference to lookahead token.  */
    22762064  yyn = yypact[yystate];
    2277   if (yyn == YYPACT_NINF)
     2065  if (yypact_value_is_default (yyn))
    22782066    goto yydefault;
    22792067
     
    22842072    {
    22852073      YYDPRINTF ((stderr, "Reading a token: "));
    2286       yychar = YYLEX;
     2074      yychar = yylex (&yylval);
    22872075    }
    22882076
     
    23062094  if (yyn <= 0)
    23072095    {
    2308       if (yyn == 0 || yyn == YYTABLE_NINF)
    2309         goto yyerrlab;
     2096      if (yytable_value_is_error (yyn))
     2097        goto yyerrlab;
    23102098      yyn = -yyn;
    23112099      goto yyreduce;
     
    23242112
    23252113  yystate = yyn;
     2114  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    23262115  *++yyvsp = yylval;
     2116  YY_IGNORE_MAYBE_UNINITIALIZED_END
    23272117
    23282118  goto yynewstate;
     
    23472137
    23482138  /* If YYLEN is nonzero, implement the default value of the action:
    2349      `$$ = $1'.
     2139     '$$ = $1'.
    23502140
    23512141     Otherwise, the following line sets YYVAL to garbage.
     
    23612151    {
    23622152        case 3:
    2363 
    2364 /* Line 1464 of yacc.c  */
    2365 #line 320 "grammar.y"
     2153#line 319 "grammar.y" /* yacc.c:1646  */
    23662154    {
    23672155            if (timerv)
     
    23932181            lastreserved = currid = NULL;
    23942182            expected_parms = siCntrlc = FALSE;
    2395           ;}
     2183          }
     2184#line 2185 "grammar.cc" /* yacc.c:1646  */
    23962185    break;
    23972186
    23982187  case 5:
    2399 
    2400 /* Line 1464 of yacc.c  */
    2401 #line 355 "grammar.y"
    2402     {currentVoice->ifsw=0;;}
     2188#line 354 "grammar.y" /* yacc.c:1646  */
     2189    {currentVoice->ifsw=0;}
     2190#line 2191 "grammar.cc" /* yacc.c:1646  */
    24032191    break;
    24042192
    24052193  case 6:
    2406 
    2407 /* Line 1464 of yacc.c  */
    2408 #line 357 "grammar.y"
    2409     { (yyvsp[(1) - (2)].lv).CleanUp(); currentVoice->ifsw=0;;}
     2194#line 356 "grammar.y" /* yacc.c:1646  */
     2195    { (yyvsp[-1].lv).CleanUp(); currentVoice->ifsw=0;}
     2196#line 2197 "grammar.cc" /* yacc.c:1646  */
    24102197    break;
    24112198
    24122199  case 7:
    2413 
    2414 /* Line 1464 of yacc.c  */
    2415 #line 359 "grammar.y"
     2200#line 358 "grammar.y" /* yacc.c:1646  */
    24162201    {
    24172202            YYACCEPT;
    2418           ;}
     2203          }
     2204#line 2205 "grammar.cc" /* yacc.c:1646  */
    24192205    break;
    24202206
    24212207  case 8:
    2422 
    2423 /* Line 1464 of yacc.c  */
    2424 #line 363 "grammar.y"
     2208#line 362 "grammar.y" /* yacc.c:1646  */
    24252209    {
    24262210            currentVoice->ifsw=0;
    24272211            iiDebug();
    2428           ;}
     2212          }
     2213#line 2214 "grammar.cc" /* yacc.c:1646  */
    24292214    break;
    24302215
    24312216  case 9:
    2432 
    2433 /* Line 1464 of yacc.c  */
    2434 #line 368 "grammar.y"
    2435     {currentVoice->ifsw=0;;}
     2217#line 367 "grammar.y" /* yacc.c:1646  */
     2218    {currentVoice->ifsw=0;}
     2219#line 2220 "grammar.cc" /* yacc.c:1646  */
    24362220    break;
    24372221
    24382222  case 10:
    2439 
    2440 /* Line 1464 of yacc.c  */
    2441 #line 370 "grammar.y"
     2223#line 369 "grammar.y" /* yacc.c:1646  */
    24422224    {
    24432225            #ifdef SIQ
     
    24492231            {
    24502232/*  bison failed here*/
    2451               if ((inerror!=3) && ((yyvsp[(1) - (2)].i)<UMINUS) && ((yyvsp[(1) - (2)].i)>' '))
     2233              if ((inerror!=3) && ((yyvsp[-1].i)<UMINUS) && ((yyvsp[-1].i)>' '))
    24522234              {
    24532235                // 1: yyerror called
     
    24552237                // 3: error rule put token+\n
    24562238                inerror=3;
    2457                 Print(" error at token `%s`\n",iiTwoOps((yyvsp[(1) - (2)].i)));
     2239                Print(" error at token `%s`\n",iiTwoOps((yyvsp[-1].i)));
    24582240              }
    24592241/**/
     
    24872269            if (sdb_flags &2) sdb_flags=1;
    24882270#endif
    2489           ;}
     2271          }
     2272#line 2273 "grammar.cc" /* yacc.c:1646  */
    24902273    break;
    24912274
    24922275  case 18:
    2493 
    2494 /* Line 1464 of yacc.c  */
    2495 #line 428 "grammar.y"
    2496     {if (currentVoice!=NULL) currentVoice->ifsw=0;;}
     2276#line 427 "grammar.y" /* yacc.c:1646  */
     2277    {if (currentVoice!=NULL) currentVoice->ifsw=0;}
     2278#line 2279 "grammar.cc" /* yacc.c:1646  */
    24972279    break;
    24982280
    24992281  case 19:
    2500 
    2501 /* Line 1464 of yacc.c  */
    2502 #line 431 "grammar.y"
    2503     { omFree((ADDRESS)(yyvsp[(2) - (2)].name)); ;}
     2282#line 430 "grammar.y" /* yacc.c:1646  */
     2283    { omFree((ADDRESS)(yyvsp[0].name)); }
     2284#line 2285 "grammar.cc" /* yacc.c:1646  */
    25042285    break;
    25052286
    25062287  case 29:
    2507 
    2508 /* Line 1464 of yacc.c  */
    2509 #line 446 "grammar.y"
    2510     {
    2511             if(iiAssign(&(yyvsp[(1) - (2)].lv),&(yyvsp[(2) - (2)].lv))) YYERROR;
    2512           ;}
     2288#line 445 "grammar.y" /* yacc.c:1646  */
     2289    {
     2290            if(iiAssign(&(yyvsp[-1].lv),&(yyvsp[0].lv))) YYERROR;
     2291          }
     2292#line 2293 "grammar.cc" /* yacc.c:1646  */
    25132293    break;
    25142294
    25152295  case 30:
    2516 
    2517 /* Line 1464 of yacc.c  */
    2518 #line 453 "grammar.y"
     2296#line 452 "grammar.y" /* yacc.c:1646  */
    25192297    {
    25202298            if (currRing==NULL) MYYERROR("no ring active");
    2521             syMake(&(yyval.lv),omStrDup((yyvsp[(1) - (1)].name)));
    2522           ;}
     2299            syMake(&(yyval.lv),omStrDup((yyvsp[0].name)));
     2300          }
     2301#line 2302 "grammar.cc" /* yacc.c:1646  */
    25232302    break;
    25242303
    25252304  case 31:
    2526 
    2527 /* Line 1464 of yacc.c  */
    2528 #line 458 "grammar.y"
    2529     {
    2530             syMake(&(yyval.lv),(yyvsp[(1) - (1)].name));
    2531           ;}
     2305#line 457 "grammar.y" /* yacc.c:1646  */
     2306    {
     2307            syMake(&(yyval.lv),(yyvsp[0].name));
     2308          }
     2309#line 2310 "grammar.cc" /* yacc.c:1646  */
    25322310    break;
    25332311
    25342312  case 32:
    2535 
    2536 /* Line 1464 of yacc.c  */
    2537 #line 462 "grammar.y"
    2538     {
    2539             if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), COLONCOLON, &(yyvsp[(3) - (3)].lv))) YYERROR;
    2540           ;}
     2313#line 461 "grammar.y" /* yacc.c:1646  */
     2314    {
     2315            if(iiExprArith2(&(yyval.lv), &(yyvsp[-2].lv), COLONCOLON, &(yyvsp[0].lv))) YYERROR;
     2316          }
     2317#line 2318 "grammar.cc" /* yacc.c:1646  */
    25412318    break;
    25422319
    25432320  case 33:
    2544 
    2545 /* Line 1464 of yacc.c  */
    2546 #line 466 "grammar.y"
    2547     {
    2548             if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), '.', &(yyvsp[(3) - (3)].lv))) YYERROR;
    2549           ;}
     2321#line 465 "grammar.y" /* yacc.c:1646  */
     2322    {
     2323            if(iiExprArith2(&(yyval.lv), &(yyvsp[-2].lv), '.', &(yyvsp[0].lv))) YYERROR;
     2324          }
     2325#line 2326 "grammar.cc" /* yacc.c:1646  */
    25502326    break;
    25512327
    25522328  case 34:
    2553 
    2554 /* Line 1464 of yacc.c  */
    2555 #line 470 "grammar.y"
    2556     {
    2557             if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'(')) YYERROR;
    2558           ;}
     2329#line 469 "grammar.y" /* yacc.c:1646  */
     2330    {
     2331            if(iiExprArith1(&(yyval.lv),&(yyvsp[-2].lv),'(')) YYERROR;
     2332          }
     2333#line 2334 "grammar.cc" /* yacc.c:1646  */
    25592334    break;
    25602335
    25612336  case 35:
    2562 
    2563 /* Line 1464 of yacc.c  */
    2564 #line 474 "grammar.y"
    2565     {
    2566             if ((yyvsp[(1) - (4)].lv).rtyp==UNKNOWN)
     2337#line 473 "grammar.y" /* yacc.c:1646  */
     2338    {
     2339            if ((yyvsp[-3].lv).rtyp==UNKNOWN)
    25672340            { // for x(i)(j)
    2568               if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;
     2341              if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),'(',&(yyvsp[-1].lv))) YYERROR;
    25692342            }
    25702343            else
    25712344            {
    2572               (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
    2573               memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
    2574               if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
    2575             }
    2576           ;}
     2345              (yyvsp[-3].lv).next=(leftv)omAllocBin(sleftv_bin);
     2346              memcpy((yyvsp[-3].lv).next,&(yyvsp[-1].lv),sizeof(sleftv));
     2347              if(iiExprArithM(&(yyval.lv),&(yyvsp[-3].lv),'(')) YYERROR;
     2348            }
     2349          }
     2350#line 2351 "grammar.cc" /* yacc.c:1646  */
    25772351    break;
    25782352
    25792353  case 36:
    2580 
    2581 /* Line 1464 of yacc.c  */
    2582 #line 487 "grammar.y"
     2354#line 486 "grammar.y" /* yacc.c:1646  */
    25832355    {
    25842356            if (currRingHdl==NULL) MYYERROR("no ring active");
     
    25862358            memset(&(yyval.lv),0,sizeof(sleftv));
    25872359            (yyval.lv).rtyp=VECTOR_CMD;
    2588             leftv v = &(yyvsp[(2) - (3)].lv);
     2360            leftv v = &(yyvsp[-1].lv);
    25892361            while (v!=NULL)
    25902362            {
     
    25962368              {
    25972369                pDelete((poly *)&(yyval.lv).data);
    2598                 (yyvsp[(2) - (3)].lv).CleanUp();
     2370                (yyvsp[-1].lv).CleanUp();
    25992371                MYYERROR("expected '[poly,...'");
    26002372              }
     
    26062378              v=v->next;
    26072379            }
    2608             (yyvsp[(2) - (3)].lv).CleanUp();
    2609           ;}
     2380            (yyvsp[-1].lv).CleanUp();
     2381          }
     2382#line 2383 "grammar.cc" /* yacc.c:1646  */
    26102383    break;
    26112384
    26122385  case 37:
    2613 
    2614 /* Line 1464 of yacc.c  */
    2615 #line 515 "grammar.y"
     2386#line 514 "grammar.y" /* yacc.c:1646  */
    26162387    {
    26172388            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    2618             int i = atoi((yyvsp[(1) - (1)].name));
     2389            int i = atoi((yyvsp[0].name));
    26192390            /*remember not to omFree($1)
    26202391            *because it is a part of the scanner buffer*/
     
    26232394
    26242395            /* check: out of range input */
    2625             int l = strlen((yyvsp[(1) - (1)].name))+2;
     2396            int l = strlen((yyvsp[0].name))+2;
    26262397            number n;
    26272398            if (l >= MAX_INT_LEN)
     
    26292400              char tmp[MAX_INT_LEN+5];
    26302401              sprintf(tmp,"%d",i);
    2631               if (strcmp(tmp,(yyvsp[(1) - (1)].name))!=0)
     2402              if (strcmp(tmp,(yyvsp[0].name))!=0)
    26322403              {
    2633                 n_Read((yyvsp[(1) - (1)].name),&n,coeffs_BIGINT);
     2404                n_Read((yyvsp[0].name),&n,coeffs_BIGINT);
    26342405                (yyval.lv).rtyp=BIGINT_CMD;
    26352406                (yyval.lv).data = n;
    26362407              }
    26372408            }
    2638           ;}
     2409          }
     2410#line 2411 "grammar.cc" /* yacc.c:1646  */
    26392411    break;
    26402412
    26412413  case 38:
    2642 
    2643 /* Line 1464 of yacc.c  */
    2644 #line 539 "grammar.y"
     2414#line 538 "grammar.y" /* yacc.c:1646  */
    26452415    {
    26462416            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    2647             (yyval.lv).rtyp = (yyvsp[(1) - (1)].i);
     2417            (yyval.lv).rtyp = (yyvsp[0].i);
    26482418            (yyval.lv).data = (yyval.lv).Data();
    2649           ;}
     2419          }
     2420#line 2421 "grammar.cc" /* yacc.c:1646  */
    26502421    break;
    26512422
    26522423  case 39:
    2653 
    2654 /* Line 1464 of yacc.c  */
    2655 #line 545 "grammar.y"
     2424#line 544 "grammar.y" /* yacc.c:1646  */
    26562425    {
    26572426            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    26582427            (yyval.lv).rtyp  = STRING_CMD;
    2659             (yyval.lv).data = (yyvsp[(1) - (1)].name);
    2660           ;}
     2428            (yyval.lv).data = (yyvsp[0].name);
     2429          }
     2430#line 2431 "grammar.cc" /* yacc.c:1646  */
    26612431    break;
    26622432
    26632433  case 40:
    2664 
    2665 /* Line 1464 of yacc.c  */
    2666 #line 551 "grammar.y"
    2667     {
    2668             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2669           ;}
     2434#line 550 "grammar.y" /* yacc.c:1646  */
     2435    {
     2436            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2437          }
     2438#line 2439 "grammar.cc" /* yacc.c:1646  */
    26702439    break;
    26712440
    26722441  case 41:
    2673 
    2674 /* Line 1464 of yacc.c  */
    2675 #line 555 "grammar.y"
    2676     {
    2677             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2678           ;}
     2442#line 554 "grammar.y" /* yacc.c:1646  */
     2443    {
     2444            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2445          }
     2446#line 2447 "grammar.cc" /* yacc.c:1646  */
    26792447    break;
    26802448
    26812449  case 42:
    2682 
    2683 /* Line 1464 of yacc.c  */
    2684 #line 559 "grammar.y"
    2685     {
    2686             if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2687           ;}
     2450#line 558 "grammar.y" /* yacc.c:1646  */
     2451    {
     2452            if(iiExprArithM(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2453          }
     2454#line 2455 "grammar.cc" /* yacc.c:1646  */
    26882455    break;
    26892456
    26902457  case 43:
    2691 
    2692 /* Line 1464 of yacc.c  */
    2693 #line 563 "grammar.y"
    2694     {
    2695             if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    2696           ;}
     2458#line 562 "grammar.y" /* yacc.c:1646  */
     2459    {
     2460            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[-2].i))) YYERROR;
     2461          }
     2462#line 2463 "grammar.cc" /* yacc.c:1646  */
    26972463    break;
    26982464
    26992465  case 44:
    2700 
    2701 /* Line 1464 of yacc.c  */
    2702 #line 567 "grammar.y"
    2703     {
    2704             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2705           ;}
     2466#line 566 "grammar.y" /* yacc.c:1646  */
     2467    {
     2468            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2469          }
     2470#line 2471 "grammar.cc" /* yacc.c:1646  */
    27062471    break;
    27072472
    27082473  case 45:
    2709 
    2710 /* Line 1464 of yacc.c  */
    2711 #line 571 "grammar.y"
    2712     {
    2713             if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2714           ;}
     2474#line 570 "grammar.y" /* yacc.c:1646  */
     2475    {
     2476            if(iiExprArithM(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2477          }
     2478#line 2479 "grammar.cc" /* yacc.c:1646  */
    27152479    break;
    27162480
    27172481  case 46:
    2718 
    2719 /* Line 1464 of yacc.c  */
    2720 #line 575 "grammar.y"
    2721     {
    2722             if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    2723           ;}
     2482#line 574 "grammar.y" /* yacc.c:1646  */
     2483    {
     2484            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[-2].i))) YYERROR;
     2485          }
     2486#line 2487 "grammar.cc" /* yacc.c:1646  */
    27242487    break;
    27252488
    27262489  case 47:
    2727 
    2728 /* Line 1464 of yacc.c  */
    2729 #line 579 "grammar.y"
    2730     {
    2731             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2732           ;}
     2490#line 578 "grammar.y" /* yacc.c:1646  */
     2491    {
     2492            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2493          }
     2494#line 2495 "grammar.cc" /* yacc.c:1646  */
    27332495    break;
    27342496
    27352497  case 48:
    2736 
    2737 /* Line 1464 of yacc.c  */
    2738 #line 583 "grammar.y"
    2739     {
    2740             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2741           ;}
     2498#line 582 "grammar.y" /* yacc.c:1646  */
     2499    {
     2500            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2501          }
     2502#line 2503 "grammar.cc" /* yacc.c:1646  */
    27422503    break;
    27432504
    27442505  case 49:
    2745 
    2746 /* Line 1464 of yacc.c  */
    2747 #line 587 "grammar.y"
    2748     {
    2749             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2750           ;}
     2506#line 586 "grammar.y" /* yacc.c:1646  */
     2507    {
     2508            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2509          }
     2510#line 2511 "grammar.cc" /* yacc.c:1646  */
    27512511    break;
    27522512
    27532513  case 50:
    2754 
    2755 /* Line 1464 of yacc.c  */
    2756 #line 591 "grammar.y"
    2757     {
    2758             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2759           ;}
     2514#line 590 "grammar.y" /* yacc.c:1646  */
     2515    {
     2516            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2517          }
     2518#line 2519 "grammar.cc" /* yacc.c:1646  */
    27602519    break;
    27612520
    27622521  case 51:
    2763 
    2764 /* Line 1464 of yacc.c  */
    2765 #line 595 "grammar.y"
    2766     {
    2767             if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    2768           ;}
     2522#line 594 "grammar.y" /* yacc.c:1646  */
     2523    {
     2524            if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),(yyvsp[-5].i),&(yyvsp[-1].lv),TRUE)) YYERROR;
     2525          }
     2526#line 2527 "grammar.cc" /* yacc.c:1646  */
    27692527    break;
    27702528
    27712529  case 52:
    2772 
    2773 /* Line 1464 of yacc.c  */
    2774 #line 599 "grammar.y"
    2775     {
    2776             if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    2777           ;}
     2530#line 598 "grammar.y" /* yacc.c:1646  */
     2531    {
     2532            if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),(yyvsp[-5].i),&(yyvsp[-1].lv),TRUE)) YYERROR;
     2533          }
     2534#line 2535 "grammar.cc" /* yacc.c:1646  */
    27782535    break;
    27792536
    27802537  case 53:
    2781 
    2782 /* Line 1464 of yacc.c  */
    2783 #line 603 "grammar.y"
    2784     {
    2785             if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    2786           ;}
     2538#line 602 "grammar.y" /* yacc.c:1646  */
     2539    {
     2540            if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),(yyvsp[-5].i),&(yyvsp[-1].lv),TRUE)) YYERROR;
     2541          }
     2542#line 2543 "grammar.cc" /* yacc.c:1646  */
    27872543    break;
    27882544
    27892545  case 54:
    2790 
    2791 /* Line 1464 of yacc.c  */
    2792 #line 607 "grammar.y"
    2793     {
    2794             if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    2795           ;}
     2546#line 606 "grammar.y" /* yacc.c:1646  */
     2547    {
     2548            if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),(yyvsp[-5].i),&(yyvsp[-1].lv),TRUE)) YYERROR;
     2549          }
     2550#line 2551 "grammar.cc" /* yacc.c:1646  */
    27962551    break;
    27972552
    27982553  case 55:
    2799 
    2800 /* Line 1464 of yacc.c  */
    2801 #line 611 "grammar.y"
    2802     {
    2803             if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2804           ;}
     2554#line 610 "grammar.y" /* yacc.c:1646  */
     2555    {
     2556            if(iiExprArith3(&(yyval.lv),(yyvsp[-7].i),&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2557          }
     2558#line 2559 "grammar.cc" /* yacc.c:1646  */
    28052559    break;
    28062560
    28072561  case 56:
    2808 
    2809 /* Line 1464 of yacc.c  */
    2810 #line 615 "grammar.y"
    2811     {
    2812             if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2813           ;}
     2562#line 614 "grammar.y" /* yacc.c:1646  */
     2563    {
     2564            if(iiExprArith3(&(yyval.lv),(yyvsp[-7].i),&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2565          }
     2566#line 2567 "grammar.cc" /* yacc.c:1646  */
    28142567    break;
    28152568
    28162569  case 57:
    2817 
    2818 /* Line 1464 of yacc.c  */
    2819 #line 619 "grammar.y"
    2820     {
    2821             if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2822           ;}
     2570#line 618 "grammar.y" /* yacc.c:1646  */
     2571    {
     2572            if(iiExprArith3(&(yyval.lv),(yyvsp[-7].i),&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2573          }
     2574#line 2575 "grammar.cc" /* yacc.c:1646  */
    28232575    break;
    28242576
    28252577  case 58:
    2826 
    2827 /* Line 1464 of yacc.c  */
    2828 #line 623 "grammar.y"
    2829     {
    2830             if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2831           ;}
     2578#line 622 "grammar.y" /* yacc.c:1646  */
     2579    {
     2580            if(iiExprArith3(&(yyval.lv),(yyvsp[-7].i),&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2581          }
     2582#line 2583 "grammar.cc" /* yacc.c:1646  */
    28322583    break;
    28332584
    28342585  case 59:
    2835 
    2836 /* Line 1464 of yacc.c  */
    2837 #line 627 "grammar.y"
    2838     {
    2839             if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    2840           ;}
     2586#line 626 "grammar.y" /* yacc.c:1646  */
     2587    {
     2588            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[-2].i))) YYERROR;
     2589          }
     2590#line 2591 "grammar.cc" /* yacc.c:1646  */
    28412591    break;
    28422592
    28432593  case 60:
    2844 
    2845 /* Line 1464 of yacc.c  */
    2846 #line 631 "grammar.y"
    2847     {
    2848             int b=iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i)); // handle branchTo
     2594#line 630 "grammar.y" /* yacc.c:1646  */
     2595    {
     2596            int b=iiExprArithM(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i)); // handle branchTo
    28492597            if (b==TRUE) YYERROR;
    28502598            if (b==2) YYACCEPT;
    2851           ;}
     2599          }
     2600#line 2601 "grammar.cc" /* yacc.c:1646  */
    28522601    break;
    28532602
    28542603  case 61:
    2855 
    2856 /* Line 1464 of yacc.c  */
    2857 #line 637 "grammar.y"
    2858     {
    2859             if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2860           ;}
     2604#line 636 "grammar.y" /* yacc.c:1646  */
     2605    {
     2606            if(iiExprArith3(&(yyval.lv),(yyvsp[-7].i),&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2607          }
     2608#line 2609 "grammar.cc" /* yacc.c:1646  */
    28612609    break;
    28622610
    28632611  case 62:
    2864 
    2865 /* Line 1464 of yacc.c  */
    2866 #line 641 "grammar.y"
    2867     {
    2868             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    2869           ;}
     2612#line 640 "grammar.y" /* yacc.c:1646  */
     2613    {
     2614            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),(yyvsp[-3].i))) YYERROR;
     2615          }
     2616#line 2617 "grammar.cc" /* yacc.c:1646  */
    28702617    break;
    28712618
    28722619  case 63:
    2873 
    2874 /* Line 1464 of yacc.c  */
    2875 #line 645 "grammar.y"
    2876     {
    2877             if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    2878           ;}
     2620#line 644 "grammar.y" /* yacc.c:1646  */
     2621    {
     2622            if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2623          }
     2624#line 2625 "grammar.cc" /* yacc.c:1646  */
    28792625    break;
    28802626
    28812627  case 64:
    2882 
    2883 /* Line 1464 of yacc.c  */
    2884 #line 649 "grammar.y"
    2885     {
    2886             if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;
    2887           ;}
     2628#line 648 "grammar.y" /* yacc.c:1646  */
     2629    {
     2630            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),RING_CMD)) YYERROR;
     2631          }
     2632#line 2633 "grammar.cc" /* yacc.c:1646  */
    28882633    break;
    28892634
    28902635  case 65:
    2891 
    2892 /* Line 1464 of yacc.c  */
    2893 #line 653 "grammar.y"
    2894     {
    2895             if (iiARROW(&(yyval.lv),(yyvsp[(1) - (3)].name),(yyvsp[(3) - (3)].name))) YYERROR;
    2896           ;}
     2636#line 652 "grammar.y" /* yacc.c:1646  */
     2637    {
     2638            if (iiARROW(&(yyval.lv),(yyvsp[-2].name),(yyvsp[0].name))) YYERROR;
     2639          }
     2640#line 2641 "grammar.cc" /* yacc.c:1646  */
    28972641    break;
    28982642
    28992643  case 66:
    2900 
    2901 /* Line 1464 of yacc.c  */
    2902 #line 660 "grammar.y"
    2903     {
    2904             leftv v = &(yyvsp[(1) - (3)].lv);
     2644#line 659 "grammar.y" /* yacc.c:1646  */
     2645    {
     2646            leftv v = &(yyvsp[-2].lv);
    29052647            while (v->next!=NULL)
    29062648            {
     
    29082650            }
    29092651            v->next = (leftv)omAllocBin(sleftv_bin);
    2910             memcpy(v->next,&((yyvsp[(3) - (3)].lv)),sizeof(sleftv));
    2911             (yyval.lv) = (yyvsp[(1) - (3)].lv);
    2912           ;}
     2652            memcpy(v->next,&((yyvsp[0].lv)),sizeof(sleftv));
     2653            (yyval.lv) = (yyvsp[-2].lv);
     2654          }
     2655#line 2656 "grammar.cc" /* yacc.c:1646  */
    29132656    break;
    29142657
    29152658  case 67:
    2916 
    2917 /* Line 1464 of yacc.c  */
    2918 #line 671 "grammar.y"
    2919     {
    2920             (yyval.lv) = (yyvsp[(1) - (1)].lv);
    2921           ;}
     2659#line 670 "grammar.y" /* yacc.c:1646  */
     2660    {
     2661            (yyval.lv) = (yyvsp[0].lv);
     2662          }
     2663#line 2664 "grammar.cc" /* yacc.c:1646  */
    29222664    break;
    29232665
    29242666  case 68:
    2925 
    2926 /* Line 1464 of yacc.c  */
    2927 #line 677 "grammar.y"
     2667#line 676 "grammar.y" /* yacc.c:1646  */
    29282668    {
    29292669            /*if ($1.typ == eunknown) YYERROR;*/
    2930             (yyval.lv) = (yyvsp[(1) - (1)].lv);
    2931           ;}
     2670            (yyval.lv) = (yyvsp[0].lv);
     2671          }
     2672#line 2673 "grammar.cc" /* yacc.c:1646  */
    29322673    break;
    29332674
    29342675  case 69:
    2935 
    2936 /* Line 1464 of yacc.c  */
    2937 #line 681 "grammar.y"
    2938     { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
     2676#line 680 "grammar.y" /* yacc.c:1646  */
     2677    { (yyval.lv) = (yyvsp[0].lv); }
     2678#line 2679 "grammar.cc" /* yacc.c:1646  */
    29392679    break;
    29402680
    29412681  case 70:
    2942 
    2943 /* Line 1464 of yacc.c  */
    2944 #line 682 "grammar.y"
    2945     { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
     2682#line 681 "grammar.y" /* yacc.c:1646  */
     2683    { (yyval.lv) = (yyvsp[-1].lv); }
     2684#line 2685 "grammar.cc" /* yacc.c:1646  */
    29462685    break;
    29472686
    29482687  case 71:
    2949 
    2950 /* Line 1464 of yacc.c  */
    2951 #line 684 "grammar.y"
    2952     {
    2953             if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;
    2954           ;}
     2688#line 683 "grammar.y" /* yacc.c:1646  */
     2689    {
     2690            if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[-5].lv),&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
     2691          }
     2692#line 2693 "grammar.cc" /* yacc.c:1646  */
    29552693    break;
    29562694
    29572695  case 72:
    2958 
    2959 /* Line 1464 of yacc.c  */
    2960 #line 688 "grammar.y"
    2961     {
    2962             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;
    2963           ;}
     2696#line 687 "grammar.y" /* yacc.c:1646  */
     2697    {
     2698            if(iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),'[',&(yyvsp[-1].lv))) YYERROR;
     2699          }
     2700#line 2701 "grammar.cc" /* yacc.c:1646  */
    29642701    break;
    29652702
    29662703  case 73:
    2967 
    2968 /* Line 1464 of yacc.c  */
    2969 #line 692 "grammar.y"
    2970     {
    2971             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    2972           ;}
     2704#line 691 "grammar.y" /* yacc.c:1646  */
     2705    {
     2706            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), (yyvsp[-1].i), NULL)) YYERROR;
     2707          }
     2708#line 2709 "grammar.cc" /* yacc.c:1646  */
    29732709    break;
    29742710
    29752711  case 74:
    2976 
    2977 /* Line 1464 of yacc.c  */
    2978 #line 696 "grammar.y"
    2979     {
    2980             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    2981           ;}
     2712#line 695 "grammar.y" /* yacc.c:1646  */
     2713    {
     2714            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), (yyvsp[-1].i), NULL)) YYERROR;
     2715          }
     2716#line 2717 "grammar.cc" /* yacc.c:1646  */
    29822717    break;
    29832718
    29842719  case 75:
    2985 
    2986 /* Line 1464 of yacc.c  */
    2987 #line 700 "grammar.y"
    2988     {
    2989             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    2990           ;}
     2720#line 699 "grammar.y" /* yacc.c:1646  */
     2721    {
     2722            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), (yyvsp[-1].i), NULL)) YYERROR;
     2723          }
     2724#line 2725 "grammar.cc" /* yacc.c:1646  */
    29912725    break;
    29922726
    29932727  case 76:
    2994 
    2995 /* Line 1464 of yacc.c  */
    2996 #line 704 "grammar.y"
    2997     {
    2998             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    2999           ;}
     2728#line 703 "grammar.y" /* yacc.c:1646  */
     2729    {
     2730            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), (yyvsp[-1].i), NULL)) YYERROR;
     2731          }
     2732#line 2733 "grammar.cc" /* yacc.c:1646  */
    30002733    break;
    30012734
    30022735  case 77:
    3003 
    3004 /* Line 1464 of yacc.c  */
    3005 #line 708 "grammar.y"
    3006     {
    3007             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    3008           ;}
     2736#line 707 "grammar.y" /* yacc.c:1646  */
     2737    {
     2738            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), (yyvsp[-1].i), NULL)) YYERROR;
     2739          }
     2740#line 2741 "grammar.cc" /* yacc.c:1646  */
    30092741    break;
    30102742
    30112743  case 78:
    3012 
    3013 /* Line 1464 of yacc.c  */
    3014 #line 712 "grammar.y"
    3015     {
    3016             if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv))) YYERROR;
    3017           ;}
     2744#line 711 "grammar.y" /* yacc.c:1646  */
     2745    {
     2746            if (iiApply(&(yyval.lv), &(yyvsp[-3].lv), 0, &(yyvsp[-1].lv))) YYERROR;
     2747          }
     2748#line 2749 "grammar.cc" /* yacc.c:1646  */
    30182749    break;
    30192750
    30202751  case 79:
    3021 
    3022 /* Line 1464 of yacc.c  */
    3023 #line 716 "grammar.y"
    3024     {
    3025             (yyval.lv)=(yyvsp[(2) - (3)].lv);
    3026           ;}
     2752#line 715 "grammar.y" /* yacc.c:1646  */
     2753    {
     2754            (yyval.lv)=(yyvsp[-1].lv);
     2755          }
     2756#line 2757 "grammar.cc" /* yacc.c:1646  */
    30272757    break;
    30282758
    30292759  case 80:
    3030 
    3031 /* Line 1464 of yacc.c  */
    3032 #line 720 "grammar.y"
     2760#line 719 "grammar.y" /* yacc.c:1646  */
    30332761    {
    30342762            #ifdef SIQ
    30352763            siq++;
    30362764            if (siq>0)
    3037             { if (iiExprArith2(&(yyval.lv),&(yyvsp[(2) - (5)].lv),'=',&(yyvsp[(4) - (5)].lv))) YYERROR; }
     2765            { if (iiExprArith2(&(yyval.lv),&(yyvsp[-3].lv),'=',&(yyvsp[-1].lv))) YYERROR; }
    30382766            else
    30392767            #endif
     
    30412769              memset(&(yyval.lv),0,sizeof((yyval.lv)));
    30422770              (yyval.lv).rtyp=NONE;
    3043               if (iiAssign(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv))) YYERROR;
     2771              if (iiAssign(&(yyvsp[-3].lv),&(yyvsp[-1].lv))) YYERROR;
    30442772            }
    30452773            #ifdef SIQ
    30462774            siq--;
    30472775            #endif
    3048           ;}
     2776          }
     2777#line 2778 "grammar.cc" /* yacc.c:1646  */
    30492778    break;
    30502779
    30512780  case 81:
    3052 
    3053 /* Line 1464 of yacc.c  */
    3054 #line 737 "grammar.y"
    3055     {
    3056             iiTestAssume(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv));
     2781#line 736 "grammar.y" /* yacc.c:1646  */
     2782    {
     2783            iiTestAssume(&(yyvsp[-3].lv),&(yyvsp[-1].lv));
    30572784            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    30582785            (yyval.lv).rtyp=NONE;
    3059           ;}
     2786          }
     2787#line 2788 "grammar.cc" /* yacc.c:1646  */
    30602788    break;
    30612789
    30622790  case 82:
    3063 
    3064 /* Line 1464 of yacc.c  */
    3065 #line 743 "grammar.y"
     2791#line 742 "grammar.y" /* yacc.c:1646  */
    30662792    {
    30672793            #ifdef SIQ
    30682794            siq--;
    30692795            #endif
    3070           ;}
     2796          }
     2797#line 2798 "grammar.cc" /* yacc.c:1646  */
    30712798    break;
    30722799
    30732800  case 83:
    3074 
    3075 /* Line 1464 of yacc.c  */
    3076 #line 749 "grammar.y"
     2801#line 748 "grammar.y" /* yacc.c:1646  */
    30772802    {
    30782803            #ifdef SIQ
    3079             if (siq<=0) (yyvsp[(4) - (5)].lv).Eval();
     2804            if (siq<=0) (yyvsp[-1].lv).Eval();
    30802805            #endif
    3081             (yyval.lv)=(yyvsp[(4) - (5)].lv);
     2806            (yyval.lv)=(yyvsp[-1].lv);
    30822807            #ifdef SIQ
    30832808            siq++;
    30842809            #endif
    3085           ;}
     2810          }
     2811#line 2812 "grammar.cc" /* yacc.c:1646  */
    30862812    break;
    30872813
    30882814  case 84:
    3089 
    3090 /* Line 1464 of yacc.c  */
    3091 #line 761 "grammar.y"
     2815#line 760 "grammar.y" /* yacc.c:1646  */
    30922816    {
    30932817            #ifdef SIQ
    30942818            siq++;
    30952819            #endif
    3096           ;}
     2820          }
     2821#line 2822 "grammar.cc" /* yacc.c:1646  */
    30972822    break;
    30982823
    30992824  case 85:
    3100 
    3101 /* Line 1464 of yacc.c  */
    3102 #line 769 "grammar.y"
     2825#line 768 "grammar.y" /* yacc.c:1646  */
    31032826    {
    31042827            #ifdef SIQ
    31052828            siq++;
    31062829            #endif
    3107           ;}
     2830          }
     2831#line 2832 "grammar.cc" /* yacc.c:1646  */
    31082832    break;
    31092833
    31102834  case 86:
    3111 
    3112 /* Line 1464 of yacc.c  */
    3113 #line 777 "grammar.y"
     2835#line 776 "grammar.y" /* yacc.c:1646  */
    31142836    {
    31152837            #ifdef SIQ
    31162838            siq--;
    31172839            #endif
    3118           ;}
     2840          }
     2841#line 2842 "grammar.cc" /* yacc.c:1646  */
    31192842    break;
    31202843
    31212844  case 87:
    3122 
    3123 /* Line 1464 of yacc.c  */
    3124 #line 786 "grammar.y"
    3125     {
    3126             if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;
    3127           ;}
     2845#line 785 "grammar.y" /* yacc.c:1646  */
     2846    {
     2847            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),PLUSPLUS)) YYERROR;
     2848          }
     2849#line 2850 "grammar.cc" /* yacc.c:1646  */
    31282850    break;
    31292851
    31302852  case 88:
    3131 
    3132 /* Line 1464 of yacc.c  */
    3133 #line 790 "grammar.y"
    3134     {
    3135             if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;
    3136           ;}
     2853#line 789 "grammar.y" /* yacc.c:1646  */
     2854    {
     2855            if(iiExprArith1(&(yyval.lv),&(yyvsp[-1].lv),MINUSMINUS)) YYERROR;
     2856          }
     2857#line 2858 "grammar.cc" /* yacc.c:1646  */
    31372858    break;
    31382859
    31392860  case 89:
    3140 
    3141 /* Line 1464 of yacc.c  */
    3142 #line 794 "grammar.y"
    3143     {
    3144             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;
    3145           ;}
     2861#line 793 "grammar.y" /* yacc.c:1646  */
     2862    {
     2863            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),'+',&(yyvsp[0].lv))) YYERROR;
     2864          }
     2865#line 2866 "grammar.cc" /* yacc.c:1646  */
    31462866    break;
    31472867
    31482868  case 90:
    3149 
    3150 /* Line 1464 of yacc.c  */
    3151 #line 798 "grammar.y"
    3152     {
    3153             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;
    3154           ;}
     2869#line 797 "grammar.y" /* yacc.c:1646  */
     2870    {
     2871            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),'-',&(yyvsp[0].lv))) YYERROR;
     2872          }
     2873#line 2874 "grammar.cc" /* yacc.c:1646  */
    31552874    break;
    31562875
    31572876  case 91:
    3158 
    3159 /* Line 1464 of yacc.c  */
    3160 #line 802 "grammar.y"
    3161     {
    3162             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    3163           ;}
     2877#line 801 "grammar.y" /* yacc.c:1646  */
     2878    {
     2879            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),(yyvsp[-1].i),&(yyvsp[0].lv))) YYERROR;
     2880          }
     2881#line 2882 "grammar.cc" /* yacc.c:1646  */
    31642882    break;
    31652883
    31662884  case 92:
    3167 
    3168 /* Line 1464 of yacc.c  */
    3169 #line 806 "grammar.y"
    3170     {
    3171             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;
    3172           ;}
     2885#line 805 "grammar.y" /* yacc.c:1646  */
     2886    {
     2887            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),'^',&(yyvsp[0].lv))) YYERROR;
     2888          }
     2889#line 2890 "grammar.cc" /* yacc.c:1646  */
    31732890    break;
    31742891
    31752892  case 93:
    3176 
    3177 /* Line 1464 of yacc.c  */
    3178 #line 810 "grammar.y"
    3179     {
    3180             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    3181           ;}
     2893#line 809 "grammar.y" /* yacc.c:1646  */
     2894    {
     2895            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),(yyvsp[-1].i),&(yyvsp[0].lv))) YYERROR;
     2896          }
     2897#line 2898 "grammar.cc" /* yacc.c:1646  */
    31822898    break;
    31832899
    31842900  case 94:
    3185 
    3186 /* Line 1464 of yacc.c  */
    3187 #line 814 "grammar.y"
    3188     {
    3189             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    3190           ;}
     2901#line 813 "grammar.y" /* yacc.c:1646  */
     2902    {
     2903            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),(yyvsp[-1].i),&(yyvsp[0].lv))) YYERROR;
     2904          }
     2905#line 2906 "grammar.cc" /* yacc.c:1646  */
    31912906    break;
    31922907
    31932908  case 95:
    3194 
    3195 /* Line 1464 of yacc.c  */
    3196 #line 818 "grammar.y"
    3197     {
    3198             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
    3199           ;}
     2909#line 817 "grammar.y" /* yacc.c:1646  */
     2910    {
     2911            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),NOTEQUAL,&(yyvsp[0].lv))) YYERROR;
     2912          }
     2913#line 2914 "grammar.cc" /* yacc.c:1646  */
    32002914    break;
    32012915
    32022916  case 96:
    3203 
    3204 /* Line 1464 of yacc.c  */
    3205 #line 822 "grammar.y"
    3206     {
    3207             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
    3208           ;}
     2917#line 821 "grammar.y" /* yacc.c:1646  */
     2918    {
     2919            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),EQUAL_EQUAL,&(yyvsp[0].lv))) YYERROR;
     2920          }
     2921#line 2922 "grammar.cc" /* yacc.c:1646  */
    32092922    break;
    32102923
    32112924  case 97:
    3212 
    3213 /* Line 1464 of yacc.c  */
    3214 #line 826 "grammar.y"
    3215     {
    3216             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;
    3217           ;}
     2925#line 825 "grammar.y" /* yacc.c:1646  */
     2926    {
     2927            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),DOTDOT,&(yyvsp[0].lv))) YYERROR;
     2928          }
     2929#line 2930 "grammar.cc" /* yacc.c:1646  */
    32182930    break;
    32192931
    32202932  case 98:
    3221 
    3222 /* Line 1464 of yacc.c  */
    3223 #line 830 "grammar.y"
    3224     {
    3225             if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;
    3226           ;}
     2933#line 829 "grammar.y" /* yacc.c:1646  */
     2934    {
     2935            if(iiExprArith2(&(yyval.lv),&(yyvsp[-2].lv),':',&(yyvsp[0].lv))) YYERROR;
     2936          }
     2937#line 2938 "grammar.cc" /* yacc.c:1646  */
    32272938    break;
    32282939
    32292940  case 99:
    3230 
    3231 /* Line 1464 of yacc.c  */
    3232 #line 834 "grammar.y"
     2941#line 833 "grammar.y" /* yacc.c:1646  */
    32332942    {
    32342943            if (siq>0)
    3235             { if (iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),NOT)) YYERROR; }
     2944            { if (iiExprArith1(&(yyval.lv),&(yyvsp[0].lv),NOT)) YYERROR; }
    32362945            else
    32372946            {
    32382947              memset(&(yyval.lv),0,sizeof((yyval.lv)));
    3239               int i; TESTSETINT((yyvsp[(2) - (2)].lv),i);
     2948              int i; TESTSETINT((yyvsp[0].lv),i);
    32402949              (yyval.lv).rtyp  = INT_CMD;
    32412950              (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0);
    32422951            }
    3243           ;}
     2952          }
     2953#line 2954 "grammar.cc" /* yacc.c:1646  */
    32442954    break;
    32452955
    32462956  case 100:
    3247 
    3248 /* Line 1464 of yacc.c  */
    3249 #line 846 "grammar.y"
    3250     {
    3251             if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;
    3252           ;}
     2957#line 845 "grammar.y" /* yacc.c:1646  */
     2958    {
     2959            if(iiExprArith1(&(yyval.lv),&(yyvsp[0].lv),'-')) YYERROR;
     2960          }
     2961#line 2962 "grammar.cc" /* yacc.c:1646  */
    32532962    break;
    32542963
    32552964  case 101:
    3256 
    3257 /* Line 1464 of yacc.c  */
    3258 #line 852 "grammar.y"
    3259     { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
     2965#line 851 "grammar.y" /* yacc.c:1646  */
     2966    { (yyval.lv) = (yyvsp[-1].lv); }
     2967#line 2968 "grammar.cc" /* yacc.c:1646  */
    32602968    break;
    32612969
    32622970  case 102:
    3263 
    3264 /* Line 1464 of yacc.c  */
    3265 #line 854 "grammar.y"
    3266     {
    3267             if ((yyvsp[(1) - (2)].lv).rtyp==0)
    3268             {
    3269               Werror("`%s` is undefined",(yyvsp[(1) - (2)].lv).Fullname());
     2971#line 853 "grammar.y" /* yacc.c:1646  */
     2972    {
     2973            if ((yyvsp[-1].lv).rtyp==0)
     2974            {
     2975              Werror("`%s` is undefined",(yyvsp[-1].lv).Fullname());
    32702976              YYERROR;
    32712977            }
    3272             else if (((yyvsp[(1) - (2)].lv).rtyp==MODUL_CMD)
     2978            else if (((yyvsp[-1].lv).rtyp==MODUL_CMD)
    32732979            // matrix m; m[2]=...
    3274             && ((yyvsp[(1) - (2)].lv).e!=NULL) && ((yyvsp[(1) - (2)].lv).e->next==NULL))
     2980            && ((yyvsp[-1].lv).e!=NULL) && ((yyvsp[-1].lv).e->next==NULL))
    32752981            {
    32762982              MYYERROR("matrix must have 2 indices");
    32772983            }
    3278             (yyval.lv) = (yyvsp[(1) - (2)].lv);
    3279           ;}
     2984            (yyval.lv) = (yyvsp[-1].lv);
     2985          }
     2986#line 2987 "grammar.cc" /* yacc.c:1646  */
    32802987    break;
    32812988
    32822989  case 104:
    3283 
    3284 /* Line 1464 of yacc.c  */
    3285 #line 874 "grammar.y"
    3286     {
    3287             if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)
     2990#line 873 "grammar.y" /* yacc.c:1646  */
     2991    {
     2992            if ((yyvsp[-1].lv).Typ()!=STRING_CMD)
    32882993            {
    32892994              MYYERROR("string expression expected");
    32902995            }
    3291             (yyval.name) = (char *)(yyvsp[(2) - (3)].lv).CopyD(STRING_CMD);
    3292             (yyvsp[(2) - (3)].lv).CleanUp();
    3293           ;}
     2996            (yyval.name) = (char *)(yyvsp[-1].lv).CopyD(STRING_CMD);
     2997            (yyvsp[-1].lv).CleanUp();
     2998          }
     2999#line 3000 "grammar.cc" /* yacc.c:1646  */
    32943000    break;
    32953001
    32963002  case 105:
    3297 
    3298 /* Line 1464 of yacc.c  */
    3299 #line 886 "grammar.y"
    3300     {
    3301             if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3003#line 885 "grammar.y" /* yacc.c:1646  */
     3004    {
     3005            if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&((yyvsp[0].lv).req_packhdl->idroot)))
    33023006              YYERROR;
    3303           ;}
     3007          }
     3008#line 3009 "grammar.cc" /* yacc.c:1646  */
    33043009    break;
    33053010
    33063011  case 106:
    3307 
    3308 /* Line 1464 of yacc.c  */
    3309 #line 891 "grammar.y"
    3310     {
    3311             if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3012#line 890 "grammar.y" /* yacc.c:1646  */
     3013    {
     3014            if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&((yyvsp[0].lv).req_packhdl->idroot)))
    33123015              YYERROR;
    3313           ;}
     3016          }
     3017#line 3018 "grammar.cc" /* yacc.c:1646  */
    33143018    break;
    33153019
    33163020  case 107:
    3317 
    3318 /* Line 1464 of yacc.c  */
    3319 #line 896 "grammar.y"
    3320     {
    3321             if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    3322           ;}
     3021#line 895 "grammar.y" /* yacc.c:1646  */
     3022    {
     3023            if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&(currRing->idroot), TRUE)) YYERROR;
     3024          }
     3025#line 3026 "grammar.cc" /* yacc.c:1646  */
    33233026    break;
    33243027
    33253028  case 108:
    3326 
    3327 /* Line 1464 of yacc.c  */
    3328 #line 900 "grammar.y"
    3329     {
    3330             if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    3331           ;}
     3029#line 899 "grammar.y" /* yacc.c:1646  */
     3030    {
     3031            if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&(currRing->idroot), TRUE)) YYERROR;
     3032          }
     3033#line 3034 "grammar.cc" /* yacc.c:1646  */
    33323034    break;
    33333035
    33343036  case 109:
    3335 
    3336 /* Line 1464 of yacc.c  */
    3337 #line 904 "grammar.y"
    3338     {
    3339             int r; TESTSETINT((yyvsp[(4) - (8)].lv),r);
    3340             int c; TESTSETINT((yyvsp[(7) - (8)].lv),c);
     3037#line 903 "grammar.y" /* yacc.c:1646  */
     3038    {
     3039            int r; TESTSETINT((yyvsp[-4].lv),r);
     3040            int c; TESTSETINT((yyvsp[-1].lv),c);
    33413041            leftv v;
    33423042            idhdl h;
    3343             if ((yyvsp[(1) - (8)].i) == MATRIX_CMD)
    3344             {
    3345               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&(currRing->idroot), TRUE)) YYERROR;
     3043            if ((yyvsp[-7].i) == MATRIX_CMD)
     3044            {
     3045              if (iiDeclCommand(&(yyval.lv),&(yyvsp[-6].lv),myynest,(yyvsp[-7].i),&(currRing->idroot), TRUE)) YYERROR;
    33463046              v=&(yyval.lv);
    33473047              h=(idhdl)v->data;
     
    33503050              if (IDMATRIX(h)==NULL) YYERROR;
    33513051            }
    3352             else if ((yyvsp[(1) - (8)].i) == INTMAT_CMD)
    3353             {
    3354               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
     3052            else if ((yyvsp[-7].i) == INTMAT_CMD)
     3053            {
     3054              if (iiDeclCommand(&(yyval.lv),&(yyvsp[-6].lv),myynest,(yyvsp[-7].i),&((yyvsp[-6].lv).req_packhdl->idroot)))
    33553055                YYERROR;
    33563056              v=&(yyval.lv);
     
    33623062            else /* BIGINTMAT_CMD */
    33633063            {
    3364               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
     3064              if (iiDeclCommand(&(yyval.lv),&(yyvsp[-6].lv),myynest,(yyvsp[-7].i),&((yyvsp[-6].lv).req_packhdl->idroot)))
    33653065                YYERROR;
    33663066              v=&(yyval.lv);
     
    33703070              if (IDBIMAT(h)==NULL) YYERROR;
    33713071            }
    3372           ;}
     3072          }
     3073#line 3074 "grammar.cc" /* yacc.c:1646  */
    33733074    break;
    33743075
    33753076  case 110:
    3376 
    3377 /* Line 1464 of yacc.c  */
    3378 #line 940 "grammar.y"
    3379     {
    3380             if ((yyvsp[(1) - (2)].i) == MATRIX_CMD)
    3381             {
    3382               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    3383             }
    3384             else if ((yyvsp[(1) - (2)].i) == INTMAT_CMD)
    3385             {
    3386               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3077#line 939 "grammar.y" /* yacc.c:1646  */
     3078    {
     3079            if ((yyvsp[-1].i) == MATRIX_CMD)
     3080            {
     3081              if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&(currRing->idroot), TRUE)) YYERROR;
     3082            }
     3083            else if ((yyvsp[-1].i) == INTMAT_CMD)
     3084            {
     3085              if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&((yyvsp[0].lv).req_packhdl->idroot)))
    33873086                YYERROR;
    33883087              leftv v=&(yyval.lv);
     
    33983097            else /* BIGINTMAT_CMD */
    33993098            {
    3400               if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3099              if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&((yyvsp[0].lv).req_packhdl->idroot)))
    34013100                YYERROR;
    34023101            }
    3403           ;}
     3102          }
     3103#line 3104 "grammar.cc" /* yacc.c:1646  */
    34043104    break;
    34053105
    34063106  case 111:
    3407 
    3408 /* Line 1464 of yacc.c  */
    3409 #line 966 "grammar.y"
    3410     {
    3411             int t=(yyvsp[(1) - (3)].lv).Typ();
     3107#line 965 "grammar.y" /* yacc.c:1646  */
     3108    {
     3109            int t=(yyvsp[-2].lv).Typ();
    34123110            sleftv r;
    34133111            memset(&r,0,sizeof(sleftv));
    34143112            if ((BEGIN_RING<t) && (t<END_RING))
    34153113            {
    3416               if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&(currRing->idroot), TRUE))
     3114              if (iiDeclCommand(&r,&(yyvsp[0].lv),myynest,t,&(currRing->idroot), TRUE))
    34173115                YYERROR;
    34183116            }
    34193117            else
    34203118            {
    3421               if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))
     3119              if (iiDeclCommand(&r,&(yyvsp[0].lv),myynest,t,&((yyvsp[0].lv).req_packhdl->idroot)))
    34223120                YYERROR;
    34233121            }
    3424             leftv v=&(yyvsp[(1) - (3)].lv);
     3122            leftv v=&(yyvsp[-2].lv);
    34253123            while (v->next!=NULL) v=v->next;
    34263124            v->next=(leftv)omAllocBin(sleftv_bin);
    34273125            memcpy(v->next,&r,sizeof(sleftv));
    3428             (yyval.lv)=(yyvsp[(1) - (3)].lv);
    3429           ;}
     3126            (yyval.lv)=(yyvsp[-2].lv);
     3127          }
     3128#line 3129 "grammar.cc" /* yacc.c:1646  */
    34303129    break;
    34313130
    34323131  case 112:
    3433 
    3434 /* Line 1464 of yacc.c  */
    3435 #line 987 "grammar.y"
    3436     {
    3437             if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3132#line 986 "grammar.y" /* yacc.c:1646  */
     3133    {
     3134            if (iiDeclCommand(&(yyval.lv),&(yyvsp[0].lv),myynest,(yyvsp[-1].i),&((yyvsp[0].lv).req_packhdl->idroot)))
    34383135              YYERROR;
    3439           ;}
     3136          }
     3137#line 3138 "grammar.cc" /* yacc.c:1646  */
    34403138    break;
    34413139
    34423140  case 115:
    3443 
    3444 /* Line 1464 of yacc.c  */
    3445 #line 1000 "grammar.y"
    3446     {
    3447             leftv v = &(yyvsp[(2) - (5)].lv);
     3141#line 999 "grammar.y" /* yacc.c:1646  */
     3142    {
     3143            leftv v = &(yyvsp[-3].lv);
    34483144            while (v->next!=NULL)
    34493145            {
     
    34513147            }
    34523148            v->next = (leftv)omAllocBin(sleftv_bin);
    3453             memcpy(v->next,&((yyvsp[(4) - (5)].lv)),sizeof(sleftv));
    3454             (yyval.lv) = (yyvsp[(2) - (5)].lv);
    3455           ;}
     3149            memcpy(v->next,&((yyvsp[-1].lv)),sizeof(sleftv));
     3150            (yyval.lv) = (yyvsp[-3].lv);
     3151          }
     3152#line 3153 "grammar.cc" /* yacc.c:1646  */
    34563153    break;
    34573154
    34583155  case 116:
    3459 
    3460 /* Line 1464 of yacc.c  */
    3461 #line 1014 "grammar.y"
     3156#line 1013 "grammar.y" /* yacc.c:1646  */
    34623157    {
    34633158          // let rInit take care of any errors
    3464           (yyval.i)=rOrderName((yyvsp[(1) - (1)].name));
    3465         ;}
     3159          (yyval.i)=rOrderName((yyvsp[0].name));
     3160        }
     3161#line 3162 "grammar.cc" /* yacc.c:1646  */
    34663162    break;
    34673163
    34683164  case 117:
    3469 
    3470 /* Line 1464 of yacc.c  */
    3471 #line 1022 "grammar.y"
     3165#line 1021 "grammar.y" /* yacc.c:1646  */
    34723166    {
    34733167            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    34743168            intvec *iv = new intvec(2);
    34753169            (*iv)[0] = 1;
    3476             (*iv)[1] = (yyvsp[(1) - (1)].i);
     3170            (*iv)[1] = (yyvsp[0].i);
    34773171            (yyval.lv).rtyp = INTVEC_CMD;
    34783172            (yyval.lv).data = (void *)iv;
    3479           ;}
     3173          }
     3174#line 3175 "grammar.cc" /* yacc.c:1646  */
    34803175    break;
    34813176
    34823177  case 118:
    3483 
    3484 /* Line 1464 of yacc.c  */
    3485 #line 1031 "grammar.y"
     3178#line 1030 "grammar.y" /* yacc.c:1646  */
    34863179    {
    34873180            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    3488             leftv sl = &(yyvsp[(3) - (4)].lv);
     3181            leftv sl = &(yyvsp[-1].lv);
    34893182            int slLength;
    34903183            {
     
    34933186              intvec *iv = new intvec(l);
    34943187              (*iv)[0] = slLength;
    3495               (*iv)[1] = (yyvsp[(1) - (4)].i);
     3188              (*iv)[1] = (yyvsp[-3].i);
    34963189
    34973190              int i = 2;
     
    35153208                {
    35163209                  delete iv;
    3517                   (yyvsp[(3) - (4)].lv).CleanUp();
     3210                  (yyvsp[-1].lv).CleanUp();
    35183211                  MYYERROR("wrong type in ordering");
    35193212                }
     
    35233216              (yyval.lv).data = (void *)iv;
    35243217            }
    3525             (yyvsp[(3) - (4)].lv).CleanUp();
    3526           ;}
     3218            (yyvsp[-1].lv).CleanUp();
     3219          }
     3220#line 3221 "grammar.cc" /* yacc.c:1646  */
    35273221    break;
    35283222
    35293223  case 120:
    3530 
    3531 /* Line 1464 of yacc.c  */
    3532 #line 1077 "grammar.y"
    3533     {
    3534             (yyval.lv) = (yyvsp[(1) - (3)].lv);
     3224#line 1076 "grammar.y" /* yacc.c:1646  */
     3225    {
     3226            (yyval.lv) = (yyvsp[-2].lv);
    35353227            (yyval.lv).next = (sleftv *)omAllocBin(sleftv_bin);
    3536             memcpy((yyval.lv).next,&(yyvsp[(3) - (3)].lv),sizeof(sleftv));
    3537           ;}
     3228            memcpy((yyval.lv).next,&(yyvsp[0].lv),sizeof(sleftv));
     3229          }
     3230#line 3231 "grammar.cc" /* yacc.c:1646  */
    35383231    break;
    35393232
    35403233  case 122:
    3541 
    3542 /* Line 1464 of yacc.c  */
    3543 #line 1087 "grammar.y"
    3544     {
    3545             (yyval.lv) = (yyvsp[(2) - (3)].lv);
    3546           ;}
     3234#line 1086 "grammar.y" /* yacc.c:1646  */
     3235    {
     3236            (yyval.lv) = (yyvsp[-1].lv);
     3237          }
     3238#line 3239 "grammar.cc" /* yacc.c:1646  */
    35473239    break;
    35483240
    35493241  case 123:
    3550 
    3551 /* Line 1464 of yacc.c  */
    3552 #line 1093 "grammar.y"
     3242#line 1092 "grammar.y" /* yacc.c:1646  */
    35533243    {
    35543244            expected_parms = TRUE;
    3555           ;}
     3245          }
     3246#line 3247 "grammar.cc" /* yacc.c:1646  */
    35563247    break;
    35573248
    35583249  case 124:
    3559 
    3560 /* Line 1464 of yacc.c  */
    3561 #line 1100 "grammar.y"
    3562     { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3250#line 1099 "grammar.y" /* yacc.c:1646  */
     3251    { (yyval.i) = (yyvsp[0].i); }
     3252#line 3253 "grammar.cc" /* yacc.c:1646  */
    35633253    break;
    35643254
    35653255  case 125:
    3566 
    3567 /* Line 1464 of yacc.c  */
    3568 #line 1102 "grammar.y"
    3569     { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3256#line 1101 "grammar.y" /* yacc.c:1646  */
     3257    { (yyval.i) = (yyvsp[0].i); }
     3258#line 3259 "grammar.cc" /* yacc.c:1646  */
    35703259    break;
    35713260
    35723261  case 126:
    3573 
    3574 /* Line 1464 of yacc.c  */
    3575 #line 1104 "grammar.y"
    3576     { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3262#line 1103 "grammar.y" /* yacc.c:1646  */
     3263    { (yyval.i) = (yyvsp[0].i); }
     3264#line 3265 "grammar.cc" /* yacc.c:1646  */
    35773265    break;
    35783266
    35793267  case 127:
    3580 
    3581 /* Line 1464 of yacc.c  */
    3582 #line 1113 "grammar.y"
    3583     { if ((yyvsp[(1) - (2)].i) != '<') YYERROR;
    3584             if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}
     3268#line 1112 "grammar.y" /* yacc.c:1646  */
     3269    { if ((yyvsp[-1].i) != '<') YYERROR;
     3270            if((feFilePending=feFopen((yyvsp[0].name),"r",NULL,TRUE))==NULL) YYERROR; }
     3271#line 3272 "grammar.cc" /* yacc.c:1646  */
    35853272    break;
    35863273
    35873274  case 128:
    3588 
    3589 /* Line 1464 of yacc.c  */
    3590 #line 1116 "grammar.y"
    3591     { newFile((yyvsp[(2) - (4)].name),feFilePending); ;}
     3275#line 1115 "grammar.y" /* yacc.c:1646  */
     3276    { newFile((yyvsp[-2].name),feFilePending); }
     3277#line 3278 "grammar.cc" /* yacc.c:1646  */
    35923278    break;
    35933279
    35943280  case 129:
    3595 
    3596 /* Line 1464 of yacc.c  */
    3597 #line 1121 "grammar.y"
    3598     {
    3599             feHelp((yyvsp[(2) - (3)].name));
    3600             omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    3601           ;}
     3281#line 1120 "grammar.y" /* yacc.c:1646  */
     3282    {
     3283            feHelp((yyvsp[-1].name));
     3284            omFree((ADDRESS)(yyvsp[-1].name));
     3285          }
     3286#line 3287 "grammar.cc" /* yacc.c:1646  */
    36023287    break;
    36033288
    36043289  case 130:
    3605 
    3606 /* Line 1464 of yacc.c  */
    3607 #line 1126 "grammar.y"
     3290#line 1125 "grammar.y" /* yacc.c:1646  */
    36083291    {
    36093292            feHelp(NULL);
    3610           ;}
     3293          }
     3294#line 3295 "grammar.cc" /* yacc.c:1646  */
    36113295    break;
    36123296
    36133297  case 131:
    3614 
    3615 /* Line 1464 of yacc.c  */
    3616 #line 1133 "grammar.y"
    3617     {
    3618             singular_example((yyvsp[(2) - (3)].name));
    3619             omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    3620           ;}
     3298#line 1132 "grammar.y" /* yacc.c:1646  */
     3299    {
     3300            singular_example((yyvsp[-1].name));
     3301            omFree((ADDRESS)(yyvsp[-1].name));
     3302          }
     3303#line 3304 "grammar.cc" /* yacc.c:1646  */
    36213304    break;
    36223305
    36233306  case 132:
    3624 
    3625 /* Line 1464 of yacc.c  */
    3626 #line 1141 "grammar.y"
    3627     {
    3628           if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
     3307#line 1140 "grammar.y" /* yacc.c:1646  */
     3308    {
     3309          if (basePack!=(yyvsp[0].lv).req_packhdl)
    36293310          {
    3630             if(iiExport(&(yyvsp[(2) - (2)].lv),0,currPack)) YYERROR;
     3311            if(iiExport(&(yyvsp[0].lv),0,currPack)) YYERROR;
    36313312          }
    36323313          else
    3633             if (iiExport(&(yyvsp[(2) - (2)].lv),0)) YYERROR;
    3634         ;}
     3314            if (iiExport(&(yyvsp[0].lv),0)) YYERROR;
     3315        }
     3316#line 3317 "grammar.cc" /* yacc.c:1646  */
    36353317    break;
    36363318
    36373319  case 133:
    3638 
    3639 /* Line 1464 of yacc.c  */
    3640 #line 1153 "grammar.y"
    3641     {
    3642           leftv v=&(yyvsp[(2) - (2)].lv);
     3320#line 1152 "grammar.y" /* yacc.c:1646  */
     3321    {
     3322          leftv v=&(yyvsp[0].lv);
    36433323          if (v->rtyp!=IDHDL)
    36443324          {
     
    36533333            killhdl((idhdl)v->data,v->req_packhdl);
    36543334          }
    3655         ;}
     3335        }
     3336#line 3337 "grammar.cc" /* yacc.c:1646  */
    36563337    break;
    36573338
    36583339  case 134:
    3659 
    3660 /* Line 1464 of yacc.c  */
    3661 #line 1169 "grammar.y"
    3662     {
    3663           leftv v=&(yyvsp[(3) - (3)].lv);
     3340#line 1168 "grammar.y" /* yacc.c:1646  */
     3341    {
     3342          leftv v=&(yyvsp[0].lv);
    36643343          if (v->rtyp!=IDHDL)
    36653344          {
     
    36743353            killhdl((idhdl)v->data,v->req_packhdl);
    36753354          }
    3676         ;}
     3355        }
     3356#line 3357 "grammar.cc" /* yacc.c:1646  */
    36773357    break;
    36783358
    36793359  case 135:
    3680 
    3681 /* Line 1464 of yacc.c  */
    3682 #line 1188 "grammar.y"
    3683     {
    3684             list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    3685           ;}
     3360#line 1187 "grammar.y" /* yacc.c:1646  */
     3361    {
     3362            list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3363          }
     3364#line 3365 "grammar.cc" /* yacc.c:1646  */
    36863365    break;
    36873366
    36883367  case 136:
    3689 
    3690 /* Line 1464 of yacc.c  */
    3691 #line 1192 "grammar.y"
    3692     {
    3693             list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    3694           ;}
     3368#line 1191 "grammar.y" /* yacc.c:1646  */
     3369    {
     3370            list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3371          }
     3372#line 3373 "grammar.cc" /* yacc.c:1646  */
    36953373    break;
    36963374
    36973375  case 137:
    3698 
    3699 /* Line 1464 of yacc.c  */
    3700 #line 1196 "grammar.y"
    3701     {
    3702             if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;
    3703             list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    3704           ;}
     3376#line 1195 "grammar.y" /* yacc.c:1646  */
     3377    {
     3378            if ((yyvsp[-1].i)==QRING_CMD) (yyvsp[-1].i)=RING_CMD;
     3379            list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3380          }
     3381#line 3382 "grammar.cc" /* yacc.c:1646  */
    37053382    break;
    37063383
    37073384  case 138:
    3708 
    3709 /* Line 1464 of yacc.c  */
    3710 #line 1201 "grammar.y"
    3711     {
    3712             list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    3713           ;}
     3385#line 1200 "grammar.y" /* yacc.c:1646  */
     3386    {
     3387            list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3388          }
     3389#line 3390 "grammar.cc" /* yacc.c:1646  */
    37143390    break;
    37153391
    37163392  case 139:
    3717 
    3718 /* Line 1464 of yacc.c  */
    3719 #line 1205 "grammar.y"
     3393#line 1204 "grammar.y" /* yacc.c:1646  */
    37203394    {
    37213395            list_cmd(RING_CMD,NULL,"// ",TRUE);
    3722           ;}
     3396          }
     3397#line 3398 "grammar.cc" /* yacc.c:1646  */
    37233398    break;
    37243399
    37253400  case 140:
    3726 
    3727 /* Line 1464 of yacc.c  */
    3728 #line 1209 "grammar.y"
    3729     {
    3730             list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    3731            ;}
     3401#line 1208 "grammar.y" /* yacc.c:1646  */
     3402    {
     3403            list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3404           }
     3405#line 3406 "grammar.cc" /* yacc.c:1646  */
    37323406    break;
    37333407
    37343408  case 141:
    3735 
    3736 /* Line 1464 of yacc.c  */
    3737 #line 1213 "grammar.y"
     3409#line 1212 "grammar.y" /* yacc.c:1646  */
    37383410    {
    37393411            list_cmd(PROC_CMD,NULL,"// ",TRUE);
    3740           ;}
     3412          }
     3413#line 3414 "grammar.cc" /* yacc.c:1646  */
    37413414    break;
    37423415
    37433416  case 142:
    3744 
    3745 /* Line 1464 of yacc.c  */
    3746 #line 1217 "grammar.y"
    3747     {
    3748             list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);
    3749             (yyvsp[(3) - (4)].lv).CleanUp();
    3750           ;}
     3417#line 1216 "grammar.y" /* yacc.c:1646  */
     3418    {
     3419            list_cmd(0,(yyvsp[-1].lv).Fullname(),"// ",TRUE);
     3420            (yyvsp[-1].lv).CleanUp();
     3421          }
     3422#line 3423 "grammar.cc" /* yacc.c:1646  */
    37513423    break;
    37523424
    37533425  case 143:
    3754 
    3755 /* Line 1464 of yacc.c  */
    3756 #line 1222 "grammar.y"
    3757     {
    3758             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3759               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3760             (yyvsp[(3) - (6)].lv).CleanUp();
    3761           ;}
     3426#line 1221 "grammar.y" /* yacc.c:1646  */
     3427    {
     3428            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3429              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3430            (yyvsp[-3].lv).CleanUp();
     3431          }
     3432#line 3433 "grammar.cc" /* yacc.c:1646  */
    37623433    break;
    37633434
    37643435  case 144:
    3765 
    3766 /* Line 1464 of yacc.c  */
    3767 #line 1228 "grammar.y"
    3768     {
    3769             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3770               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3771             (yyvsp[(3) - (6)].lv).CleanUp();
    3772           ;}
     3436#line 1227 "grammar.y" /* yacc.c:1646  */
     3437    {
     3438            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3439              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3440            (yyvsp[-3].lv).CleanUp();
     3441          }
     3442#line 3443 "grammar.cc" /* yacc.c:1646  */
    37733443    break;
    37743444
    37753445  case 145:
    3776 
    3777 /* Line 1464 of yacc.c  */
    3778 #line 1234 "grammar.y"
    3779     {
    3780             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3781               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3782             (yyvsp[(3) - (6)].lv).CleanUp();
    3783           ;}
     3446#line 1233 "grammar.y" /* yacc.c:1646  */
     3447    {
     3448            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3449              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3450            (yyvsp[-3].lv).CleanUp();
     3451          }
     3452#line 3453 "grammar.cc" /* yacc.c:1646  */
    37843453    break;
    37853454
    37863455  case 146:
    3787 
    3788 /* Line 1464 of yacc.c  */
    3789 #line 1240 "grammar.y"
    3790     {
    3791             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3792               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3793             (yyvsp[(3) - (6)].lv).CleanUp();
    3794           ;}
     3456#line 1239 "grammar.y" /* yacc.c:1646  */
     3457    {
     3458            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3459              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3460            (yyvsp[-3].lv).CleanUp();
     3461          }
     3462#line 3463 "grammar.cc" /* yacc.c:1646  */
    37953463    break;
    37963464
    37973465  case 147:
    3798 
    3799 /* Line 1464 of yacc.c  */
    3800 #line 1246 "grammar.y"
    3801     {
    3802             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3803               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3804             (yyvsp[(3) - (6)].lv).CleanUp();
    3805           ;}
     3466#line 1245 "grammar.y" /* yacc.c:1646  */
     3467    {
     3468            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3469              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3470            (yyvsp[-3].lv).CleanUp();
     3471          }
     3472#line 3473 "grammar.cc" /* yacc.c:1646  */
    38063473    break;
    38073474
    38083475  case 148:
    3809 
    3810 /* Line 1464 of yacc.c  */
    3811 #line 1252 "grammar.y"
    3812     {
    3813             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3814               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3815             (yyvsp[(3) - (6)].lv).CleanUp();
    3816           ;}
     3476#line 1251 "grammar.y" /* yacc.c:1646  */
     3477    {
     3478            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3479              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3480            (yyvsp[-3].lv).CleanUp();
     3481          }
     3482#line 3483 "grammar.cc" /* yacc.c:1646  */
    38173483    break;
    38183484
    38193485  case 149:
    3820 
    3821 /* Line 1464 of yacc.c  */
    3822 #line 1258 "grammar.y"
    3823     {
    3824             if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
    3825               list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
    3826             (yyvsp[(3) - (6)].lv).CleanUp();
    3827           ;}
     3486#line 1257 "grammar.y" /* yacc.c:1646  */
     3487    {
     3488            if((yyvsp[-3].lv).Typ() == PACKAGE_CMD)
     3489              list_cmd((yyvsp[-1].i),NULL,"// ",TRUE);
     3490            (yyvsp[-3].lv).CleanUp();
     3491          }
     3492#line 3493 "grammar.cc" /* yacc.c:1646  */
    38283493    break;
    38293494
    38303495  case 150:
    3831 
    3832 /* Line 1464 of yacc.c  */
    3833 #line 1270 "grammar.y"
     3496#line 1269 "grammar.y" /* yacc.c:1646  */
    38343497    {
    38353498            list_cmd(-1,NULL,"// ",TRUE);
    3836           ;}
     3499          }
     3500#line 3501 "grammar.cc" /* yacc.c:1646  */
    38373501    break;
    38383502
    38393503  case 151:
    3840 
    3841 /* Line 1464 of yacc.c  */
    3842 #line 1276 "grammar.y"
    3843     { yyInRingConstruction = TRUE; ;}
     3504#line 1275 "grammar.y" /* yacc.c:1646  */
     3505    { yyInRingConstruction = TRUE; }
     3506#line 3507 "grammar.cc" /* yacc.c:1646  */
    38443507    break;
    38453508
    38463509  case 152:
    3847 
    3848 /* Line 1464 of yacc.c  */
    3849 #line 1285 "grammar.y"
    3850     {
    3851             const char *ring_name = (yyvsp[(2) - (8)].lv).name;
     3510#line 1284 "grammar.y" /* yacc.c:1646  */
     3511    {
     3512            const char *ring_name = (yyvsp[-6].lv).name;
    38523513            ring b=
    3853             rInit(&(yyvsp[(4) - (8)].lv),            /* characteristik and list of parameters*/
    3854                   &(yyvsp[(6) - (8)].lv),            /* names of ringvariables */
    3855                   &(yyvsp[(8) - (8)].lv));            /* ordering */
     3514            rInit(&(yyvsp[-4].lv),            /* characteristik and list of parameters*/
     3515                  &(yyvsp[-2].lv),            /* names of ringvariables */
     3516                  &(yyvsp[0].lv));            /* ordering */
    38563517            idhdl newRingHdl=NULL;
    38573518
     
    38593520            {
    38603521              newRingHdl=enterid(ring_name, myynest, RING_CMD,
    3861                                    &((yyvsp[(2) - (8)].lv).req_packhdl->idroot),FALSE);
    3862               (yyvsp[(2) - (8)].lv).CleanUp();
     3522                                   &((yyvsp[-6].lv).req_packhdl->idroot),FALSE);
     3523              (yyvsp[-6].lv).CleanUp();
    38633524              if (newRingHdl!=NULL)
    38643525              {
     
    38793540              rSetHdl(newRingHdl);
    38803541            }
    3881           ;}
     3542          }
     3543#line 3544 "grammar.cc" /* yacc.c:1646  */
    38823544    break;
    38833545
    38843546  case 153:
    3885 
    3886 /* Line 1464 of yacc.c  */
    3887 #line 1318 "grammar.y"
    3888     {
    3889             const char *ring_name = (yyvsp[(2) - (2)].lv).name;
     3547#line 1317 "grammar.y" /* yacc.c:1646  */
     3548    {
     3549            const char *ring_name = (yyvsp[0].lv).name;
    38903550            if (!inerror) rDefault(ring_name);
    38913551            yyInRingConstruction = FALSE;
    3892             (yyvsp[(2) - (2)].lv).CleanUp();
    3893           ;}
     3552            (yyvsp[0].lv).CleanUp();
     3553          }
     3554#line 3555 "grammar.cc" /* yacc.c:1646  */
    38943555    break;
    38953556
    38963557  case 154:
    3897 
    3898 /* Line 1464 of yacc.c  */
    3899 #line 1325 "grammar.y"
     3558#line 1324 "grammar.y" /* yacc.c:1646  */
    39003559    {
    39013560            yyInRingConstruction = FALSE;
    3902             if (iiAssignCR(&(yyvsp[(2) - (4)].lv),&(yyvsp[(4) - (4)].lv))) YYERROR;
    3903           ;}
     3561            if (iiAssignCR(&(yyvsp[-2].lv),&(yyvsp[0].lv))) YYERROR;
     3562          }
     3563#line 3564 "grammar.cc" /* yacc.c:1646  */
    39043564    break;
    39053565
    39063566  case 155:
    3907 
    3908 /* Line 1464 of yacc.c  */
    3909 #line 1333 "grammar.y"
    3910     {
    3911             if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(jjLOAD((yyvsp[(2) - (2)].name),TRUE))) YYERROR;
    3912           ;}
    3913     break;
    3914 
    3915   case 158:
    3916 
    3917 /* Line 1464 of yacc.c  */
    3918 #line 1342 "grammar.y"
    3919     {
    3920             if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))
     3567#line 1329 "grammar.y" /* yacc.c:1646  */
     3568    {
     3569          #ifdef SINGULAR_4_1
     3570          yyInRingConstruction = FALSE;
     3571          sleftv tmp;
     3572          (yyvsp[-3].lv).next=(leftv)omAlloc(sizeof(sleftv));
     3573          memcpy((yyvsp[-3].lv).next,&(yyvsp[-1].lv),sizeof(sleftv));
     3574          memset(&(yyvsp[-1].lv),0,sizeof(sleftv));
     3575          if (iiExprArithM(&tmp,&(yyvsp[-3].lv),'[')) YYERROR;
     3576          if (iiAssignCR(&(yyvsp[-5].lv),&tmp)) YYERROR;
     3577          #else
     3578          YYERROR;
     3579          #endif
     3580        }
     3581#line 3582 "grammar.cc" /* yacc.c:1646  */
     3582    break;
     3583
     3584  case 156:
     3585#line 1346 "grammar.y" /* yacc.c:1646  */
     3586    {
     3587            if (((yyvsp[-1].i)!=LIB_CMD)||(jjLOAD((yyvsp[0].name),TRUE))) YYERROR;
     3588          }
     3589#line 3590 "grammar.cc" /* yacc.c:1646  */
     3590    break;
     3591
     3592  case 159:
     3593#line 1355 "grammar.y" /* yacc.c:1646  */
     3594    {
     3595            if (((yyvsp[-1].i)==KEEPRING_CMD) && (myynest==0))
    39213596               MYYERROR("only inside a proc allowed");
    3922             const char * n=(yyvsp[(2) - (2)].lv).Name();
    3923             if ((((yyvsp[(2) - (2)].lv).Typ()==RING_CMD)||((yyvsp[(2) - (2)].lv).Typ()==QRING_CMD))
    3924             && ((yyvsp[(2) - (2)].lv).rtyp==IDHDL))
    3925             {
    3926               idhdl h=(idhdl)(yyvsp[(2) - (2)].lv).data;
    3927               if ((yyvsp[(2) - (2)].lv).e!=NULL) h=rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),NULL);
     3597            const char * n=(yyvsp[0].lv).Name();
     3598            if ((((yyvsp[0].lv).Typ()==RING_CMD)||((yyvsp[0].lv).Typ()==QRING_CMD))
     3599            && ((yyvsp[0].lv).rtyp==IDHDL))
     3600            {
     3601              idhdl h=(idhdl)(yyvsp[0].lv).data;
     3602              if ((yyvsp[0].lv).e!=NULL) h=rFindHdl((ring)(yyvsp[0].lv).Data(),NULL);
    39283603              //Print("setring %s lev %d (ptr:%x)\n",IDID(h),IDLEV(h),IDRING(h));
    3929               if ((yyvsp[(1) - (2)].i)==KEEPRING_CMD)
     3604              if ((yyvsp[-1].i)==KEEPRING_CMD)
    39303605              {
    39313606                if (h!=NULL)
     
    39333608                  if (IDLEV(h)!=0)
    39343609                  {
    3935                     if (iiExport(&(yyvsp[(2) - (2)].lv),myynest-1)) YYERROR;
     3610                    if (iiExport(&(yyvsp[0].lv),myynest-1)) YYERROR;
    39363611#if 1
    39373612                    idhdl p=IDRING(h)->idroot;
     
    39613636                {
    39623637                  Werror("%s is no identifier",n);
    3963                   (yyvsp[(2) - (2)].lv).CleanUp();
     3638                  (yyvsp[0].lv).CleanUp();
    39643639                  YYERROR;
    39653640                }
     
    39693644              {
    39703645                Werror("cannot find the name of the basering %s",n);
    3971                 (yyvsp[(2) - (2)].lv).CleanUp();
     3646                (yyvsp[0].lv).CleanUp();
    39723647                YYERROR;
    39733648              }
    3974               (yyvsp[(2) - (2)].lv).CleanUp();
     3649              (yyvsp[0].lv).CleanUp();
    39753650            }
    39763651            else
    39773652            {
    39783653              Werror("%s is no name of a ring/qring",n);
    3979               (yyvsp[(2) - (2)].lv).CleanUp();
     3654              (yyvsp[0].lv).CleanUp();
    39803655              YYERROR;
    39813656            }
    3982           ;}
    3983     break;
    3984 
    3985   case 159:
    3986 
    3987 /* Line 1464 of yacc.c  */
    3988 #line 1414 "grammar.y"
    3989     {
    3990             type_cmd(&((yyvsp[(2) - (2)].lv)));
    3991           ;}
     3657          }
     3658#line 3659 "grammar.cc" /* yacc.c:1646  */
    39923659    break;
    39933660
    39943661  case 160:
    3995 
    3996 /* Line 1464 of yacc.c  */
    3997 #line 1418 "grammar.y"
     3662#line 1423 "grammar.y" /* yacc.c:1646  */
     3663    {
     3664            type_cmd(&((yyvsp[0].lv)));
     3665          }
     3666#line 3667 "grammar.cc" /* yacc.c:1646  */
     3667    break;
     3668
     3669  case 161:
     3670#line 1427 "grammar.y" /* yacc.c:1646  */
    39983671    {
    39993672            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
    40003673            #ifdef SIQ
    4001             if ((yyvsp[(1) - (1)].lv).rtyp!=COMMAND)
     3674            if ((yyvsp[0].lv).rtyp!=COMMAND)
    40023675            {
    40033676            #endif
    4004               if ((yyvsp[(1) - (1)].lv).Typ()==UNKNOWN)
     3677              if ((yyvsp[0].lv).Typ()==UNKNOWN)
    40053678              {
    4006                 if ((yyvsp[(1) - (1)].lv).name!=NULL)
     3679                if ((yyvsp[0].lv).name!=NULL)
    40073680                {
    4008                   Werror("`%s` is undefined",(yyvsp[(1) - (1)].lv).name);
    4009                   omFree((ADDRESS)(yyvsp[(1) - (1)].lv).name);
     3681                  Werror("`%s` is undefined",(yyvsp[0].lv).name);
     3682                  omFree((ADDRESS)(yyvsp[0].lv).name);
    40103683                }
    40113684                YYERROR;
     
    40143687            }
    40153688            #endif
    4016             (yyvsp[(1) - (1)].lv).Print(&sLastPrinted);
    4017             (yyvsp[(1) - (1)].lv).CleanUp(currRing);
     3689            (yyvsp[0].lv).Print(&sLastPrinted);
     3690            (yyvsp[0].lv).CleanUp(currRing);
    40183691            if (errorreported) YYERROR;
    4019           ;}
    4020     break;
    4021 
    4022   case 161:
    4023 
    4024 /* Line 1464 of yacc.c  */
    4025 #line 1447 "grammar.y"
    4026     {
    4027             int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     3692          }
     3693#line 3694 "grammar.cc" /* yacc.c:1646  */
     3694    break;
     3695
     3696  case 162:
     3697#line 1456 "grammar.y" /* yacc.c:1646  */
     3698    {
     3699            int i; TESTSETINT((yyvsp[-2].lv),i);
    40283700            if (i!=0)
    40293701            {
    4030               newBuffer( (yyvsp[(5) - (5)].name), BT_if);
     3702              newBuffer( (yyvsp[0].name), BT_if);
    40313703            }
    40323704            else
    40333705            {
    4034               omFree((ADDRESS)(yyvsp[(5) - (5)].name));
     3706              omFree((ADDRESS)(yyvsp[0].name));
    40353707              currentVoice->ifsw=1;
    40363708            }
    4037           ;}
    4038     break;
    4039 
    4040   case 162:
    4041 
    4042 /* Line 1464 of yacc.c  */
    4043 #line 1460 "grammar.y"
     3709          }
     3710#line 3711 "grammar.cc" /* yacc.c:1646  */
     3711    break;
     3712
     3713  case 163:
     3714#line 1469 "grammar.y" /* yacc.c:1646  */
    40443715    {
    40453716            if (currentVoice->ifsw==1)
    40463717            {
    40473718              currentVoice->ifsw=0;
    4048               newBuffer( (yyvsp[(2) - (2)].name), BT_else);
     3719              newBuffer( (yyvsp[0].name), BT_else);
    40493720            }
    40503721            else
     
    40543725                Warn("`else` without `if` in level %d",myynest);
    40553726              }
    4056               omFree((ADDRESS)(yyvsp[(2) - (2)].name));
     3727              omFree((ADDRESS)(yyvsp[0].name));
    40573728            }
    40583729            currentVoice->ifsw=0;
    4059           ;}
    4060     break;
    4061 
    4062   case 163:
    4063 
    4064 /* Line 1464 of yacc.c  */
    4065 #line 1477 "grammar.y"
    4066     {
    4067             int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
     3730          }
     3731#line 3732 "grammar.cc" /* yacc.c:1646  */
     3732    break;
     3733
     3734  case 164:
     3735#line 1486 "grammar.y" /* yacc.c:1646  */
     3736    {
     3737            int i; TESTSETINT((yyvsp[-2].lv),i);
    40683738            if (i)
    40693739            {
     
    40713741            }
    40723742            currentVoice->ifsw=0;
    4073           ;}
    4074     break;
    4075 
    4076   case 164:
    4077 
    4078 /* Line 1464 of yacc.c  */
    4079 #line 1486 "grammar.y"
     3743          }
     3744#line 3745 "grammar.cc" /* yacc.c:1646  */
     3745    break;
     3746
     3747  case 165:
     3748#line 1495 "grammar.y" /* yacc.c:1646  */
    40803749    {
    40813750            if (exitBuffer(BT_break)) YYERROR;
    40823751            currentVoice->ifsw=0;
    4083           ;}
    4084     break;
    4085 
    4086   case 165:
    4087 
    4088 /* Line 1464 of yacc.c  */
    4089 #line 1491 "grammar.y"
     3752          }
     3753#line 3754 "grammar.cc" /* yacc.c:1646  */
     3754    break;
     3755
     3756  case 166:
     3757#line 1500 "grammar.y" /* yacc.c:1646  */
    40903758    {
    40913759            if (contBuffer(BT_break)) YYERROR;
    40923760            currentVoice->ifsw=0;
    4093           ;}
    4094     break;
    4095 
    4096   case 166:
    4097 
    4098 /* Line 1464 of yacc.c  */
    4099 #line 1499 "grammar.y"
     3761          }
     3762#line 3763 "grammar.cc" /* yacc.c:1646  */
     3763    break;
     3764
     3765  case 167:
     3766#line 1508 "grammar.y" /* yacc.c:1646  */
    41003767    {
    41013768            /* -> if(!$2) break; $3; continue;*/
    4102             char * s = (char *)omAlloc( strlen((yyvsp[(2) - (3)].name)) + strlen((yyvsp[(3) - (3)].name)) + 36);
    4103             sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[(2) - (3)].name),(yyvsp[(3) - (3)].name));
     3769            char * s = (char *)omAlloc( strlen((yyvsp[-1].name)) + strlen((yyvsp[0].name)) + 36);
     3770            sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[-1].name),(yyvsp[0].name));
    41043771            newBuffer(s,BT_break);
    4105             omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    4106             omFree((ADDRESS)(yyvsp[(3) - (3)].name));
    4107           ;}
    4108     break;
    4109 
    4110   case 167:
    4111 
    4112 /* Line 1464 of yacc.c  */
    4113 #line 1511 "grammar.y"
     3772            omFree((ADDRESS)(yyvsp[-1].name));
     3773            omFree((ADDRESS)(yyvsp[0].name));
     3774          }
     3775#line 3776 "grammar.cc" /* yacc.c:1646  */
     3776    break;
     3777
     3778  case 168:
     3779#line 1520 "grammar.y" /* yacc.c:1646  */
    41143780    {
    41153781            /* $2 */
    41163782            /* if (!$3) break; $5; $4; continue; */
    4117             char * s = (char *)omAlloc( strlen((yyvsp[(3) - (5)].name))+strlen((yyvsp[(4) - (5)].name))+strlen((yyvsp[(5) - (5)].name))+36);
     3783            char * s = (char *)omAlloc( strlen((yyvsp[-2].name))+strlen((yyvsp[-1].name))+strlen((yyvsp[0].name))+36);
    41183784            sprintf(s,"forif (!(%s)) break;\n%s%s;\ncontinue;\n "
    4119                    ,(yyvsp[(3) - (5)].name),(yyvsp[(5) - (5)].name),(yyvsp[(4) - (5)].name));
    4120             omFree((ADDRESS)(yyvsp[(3) - (5)].name));
    4121             omFree((ADDRESS)(yyvsp[(4) - (5)].name));
    4122             omFree((ADDRESS)(yyvsp[(5) - (5)].name));
     3785                   ,(yyvsp[-2].name),(yyvsp[0].name),(yyvsp[-1].name));
     3786            omFree((ADDRESS)(yyvsp[-2].name));
     3787            omFree((ADDRESS)(yyvsp[-1].name));
     3788            omFree((ADDRESS)(yyvsp[0].name));
    41233789            newBuffer(s,BT_break);
    4124             s = (char *)omAlloc( strlen((yyvsp[(2) - (5)].name)) + 3);
    4125             sprintf(s,"%s;\n",(yyvsp[(2) - (5)].name));
    4126             omFree((ADDRESS)(yyvsp[(2) - (5)].name));
     3790            s = (char *)omAlloc( strlen((yyvsp[-3].name)) + 3);
     3791            sprintf(s,"%s;\n",(yyvsp[-3].name));
     3792            omFree((ADDRESS)(yyvsp[-3].name));
    41273793            newBuffer(s,BT_if);
    4128           ;}
    4129     break;
    4130 
    4131   case 168:
    4132 
    4133 /* Line 1464 of yacc.c  */
    4134 #line 1530 "grammar.y"
    4135     {
    4136             idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
    4137             if (h==NULL) {omFree((ADDRESS)(yyvsp[(2) - (3)].name));omFree((ADDRESS)(yyvsp[(3) - (3)].name)); YYERROR;}
    4138             iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(2) - (3)].name), 0, 0);
    4139             IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+31);;
    4140             sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",(yyvsp[(3) - (3)].name));
    4141             omFree((ADDRESS)(yyvsp[(3) - (3)].name));
    4142             omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    4143           ;}
     3794          }
     3795#line 3796 "grammar.cc" /* yacc.c:1646  */
    41443796    break;
    41453797
    41463798  case 169:
    4147 
    4148 /* Line 1464 of yacc.c  */
    4149 #line 1540 "grammar.y"
    4150     {
    4151             idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     3799#line 1539 "grammar.y" /* yacc.c:1646  */
     3800    {
     3801            idhdl h = enterid((yyvsp[-1].name),myynest,PROC_CMD,&IDROOT,TRUE);
     3802            if (h==NULL) {omFree((ADDRESS)(yyvsp[-1].name));omFree((ADDRESS)(yyvsp[0].name)); YYERROR;}
     3803            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[-1].name), 0, 0);
     3804            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[0].name))+31);;
     3805            sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",(yyvsp[0].name));
     3806            omFree((ADDRESS)(yyvsp[0].name));
     3807            omFree((ADDRESS)(yyvsp[-1].name));
     3808          }
     3809#line 3810 "grammar.cc" /* yacc.c:1646  */
     3810    break;
     3811
     3812  case 170:
     3813#line 1549 "grammar.y" /* yacc.c:1646  */
     3814    {
     3815            idhdl h = enterid((yyvsp[-2].name),myynest,PROC_CMD,&IDROOT,TRUE);
    41523816            if (h==NULL)
    41533817            {
    4154               omFree((ADDRESS)(yyvsp[(1) - (3)].name));
    4155               omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    4156               omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     3818              omFree((ADDRESS)(yyvsp[-2].name));
     3819              omFree((ADDRESS)(yyvsp[-1].name));
     3820              omFree((ADDRESS)(yyvsp[0].name));
    41573821              YYERROR;
    41583822            }
    4159             char *args=iiProcArgs((yyvsp[(2) - (3)].name),FALSE);
    4160             omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    4161             iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (3)].name), 0, 0);
    4162             IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+strlen(args)+14);;
    4163             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(3) - (3)].name));
     3823            char *args=iiProcArgs((yyvsp[-1].name),FALSE);
     3824            omFree((ADDRESS)(yyvsp[-1].name));
     3825            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[-2].name), 0, 0);
     3826            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[0].name))+strlen(args)+14);;
     3827            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[0].name));
    41643828            omFree((ADDRESS)args);
    4165             omFree((ADDRESS)(yyvsp[(3) - (3)].name));
    4166             omFree((ADDRESS)(yyvsp[(1) - (3)].name));
    4167           ;}
    4168     break;
    4169 
    4170   case 170:
    4171 
    4172 /* Line 1464 of yacc.c  */
    4173 #line 1559 "grammar.y"
    4174     {
    4175             omFree((ADDRESS)(yyvsp[(3) - (4)].name));
    4176             idhdl h = enterid((yyvsp[(1) - (4)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     3829            omFree((ADDRESS)(yyvsp[0].name));
     3830            omFree((ADDRESS)(yyvsp[-2].name));
     3831          }
     3832#line 3833 "grammar.cc" /* yacc.c:1646  */
     3833    break;
     3834
     3835  case 171:
     3836#line 1568 "grammar.y" /* yacc.c:1646  */
     3837    {
     3838            omFree((ADDRESS)(yyvsp[-1].name));
     3839            idhdl h = enterid((yyvsp[-3].name),myynest,PROC_CMD,&IDROOT,TRUE);
    41773840            if (h==NULL)
    41783841            {
    4179               omFree((ADDRESS)(yyvsp[(1) - (4)].name));
    4180               omFree((ADDRESS)(yyvsp[(2) - (4)].name));
    4181               omFree((ADDRESS)(yyvsp[(4) - (4)].name));
     3842              omFree((ADDRESS)(yyvsp[-3].name));
     3843              omFree((ADDRESS)(yyvsp[-2].name));
     3844              omFree((ADDRESS)(yyvsp[0].name));
    41823845              YYERROR;
    41833846            }
    4184             char *args=iiProcArgs((yyvsp[(2) - (4)].name),FALSE);
    4185             omFree((ADDRESS)(yyvsp[(2) - (4)].name));
    4186             iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (4)].name), 0, 0);
    4187             omFree((ADDRESS)(yyvsp[(1) - (4)].name));
    4188             IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(4) - (4)].name))+strlen(args)+14);;
    4189             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(4) - (4)].name));
     3847            char *args=iiProcArgs((yyvsp[-2].name),FALSE);
     3848            omFree((ADDRESS)(yyvsp[-2].name));
     3849            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[-3].name), 0, 0);
     3850            omFree((ADDRESS)(yyvsp[-3].name));
     3851            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[0].name))+strlen(args)+14);;
     3852            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[0].name));
    41903853            omFree((ADDRESS)args);
    4191             omFree((ADDRESS)(yyvsp[(4) - (4)].name));
    4192           ;}
    4193     break;
    4194 
    4195   case 171:
    4196 
    4197 /* Line 1464 of yacc.c  */
    4198 #line 1582 "grammar.y"
     3854            omFree((ADDRESS)(yyvsp[0].name));
     3855          }
     3856#line 3857 "grammar.cc" /* yacc.c:1646  */
     3857    break;
     3858
     3859  case 172:
     3860#line 1591 "grammar.y" /* yacc.c:1646  */
    41993861    {
    42003862            // decl. of type proc p(int i)
    4201             if ((yyvsp[(1) - (2)].i)==PARAMETER)  { if (iiParameter(&(yyvsp[(2) - (2)].lv))) YYERROR; }
    4202             else                { if (iiAlias(&(yyvsp[(2) - (2)].lv))) YYERROR; }
    4203           ;}
    4204     break;
    4205 
    4206   case 172:
    4207 
    4208 /* Line 1464 of yacc.c  */
    4209 #line 1588 "grammar.y"
     3863            if ((yyvsp[-1].i)==PARAMETER)  { if (iiParameter(&(yyvsp[0].lv))) YYERROR; }
     3864            else                { if (iiAlias(&(yyvsp[0].lv))) YYERROR; }
     3865          }
     3866#line 3867 "grammar.cc" /* yacc.c:1646  */
     3867    break;
     3868
     3869  case 173:
     3870#line 1597 "grammar.y" /* yacc.c:1646  */
    42103871    {
    42113872            // decl. of type proc p(i)
    42123873            sleftv tmp_expr;
    4213             if ((yyvsp[(1) - (2)].i)==ALIAS_CMD) MYYERROR("alias requires a type");
    4214             if ((iiDeclCommand(&tmp_expr,&(yyvsp[(2) - (2)].lv),myynest,DEF_CMD,&IDROOT))
     3874            if ((yyvsp[-1].i)==ALIAS_CMD) MYYERROR("alias requires a type");
     3875            if ((iiDeclCommand(&tmp_expr,&(yyvsp[0].lv),myynest,DEF_CMD,&IDROOT))
    42153876            || (iiParameter(&tmp_expr)))
    42163877              YYERROR;
    4217           ;}
    4218     break;
    4219 
    4220   case 173:
    4221 
    4222 /* Line 1464 of yacc.c  */
    4223 #line 1600 "grammar.y"
    4224     {
    4225             iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv));
    4226             (yyvsp[(3) - (4)].lv).CleanUp();
     3878          }
     3879#line 3880 "grammar.cc" /* yacc.c:1646  */
     3880    break;
     3881
     3882  case 174:
     3883#line 1609 "grammar.y" /* yacc.c:1646  */
     3884    {
     3885            iiRETURNEXPR.Copy(&(yyvsp[-1].lv));
     3886            (yyvsp[-1].lv).CleanUp();
    42273887            if (exitBuffer(BT_proc)) YYERROR;
    4228           ;}
    4229     break;
    4230 
    4231   case 174:
    4232 
    4233 /* Line 1464 of yacc.c  */
    4234 #line 1606 "grammar.y"
    4235     {
    4236             if ((yyvsp[(1) - (3)].i)==RETURN)
     3888          }
     3889#line 3890 "grammar.cc" /* yacc.c:1646  */
     3890    break;
     3891
     3892  case 175:
     3893#line 1615 "grammar.y" /* yacc.c:1646  */
     3894    {
     3895            if ((yyvsp[-2].i)==RETURN)
    42373896            {
    42383897              iiRETURNEXPR.Init();
     
    42403899              if (exitBuffer(BT_proc)) YYERROR;
    42413900            }
    4242           ;}
    4243     break;
    4244 
    4245 
    4246 
    4247 /* Line 1464 of yacc.c  */
    4248 #line 4252 "grammar.cc"
     3901          }
     3902#line 3903 "grammar.cc" /* yacc.c:1646  */
     3903    break;
     3904
     3905
     3906#line 3907 "grammar.cc" /* yacc.c:1646  */
    42493907      default: break;
    42503908    }
     3909  /* User semantic actions sometimes alter yychar, and that requires
     3910     that yytoken be updated with the new translation.  We take the
     3911     approach of translating immediately before every use of yytoken.
     3912     One alternative is translating here after every semantic action,
     3913     but that translation would be missed if the semantic action invokes
     3914     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
     3915     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
     3916     incorrect destructor might then be invoked immediately.  In the
     3917     case of YYERROR or YYBACKUP, subsequent parser actions might lead
     3918     to an incorrect destructor call or verbose syntax error message
     3919     before the lookahead is translated.  */
    42513920  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
    42523921
     
    42573926  *++yyvsp = yyval;
    42583927
    4259   /* Now `shift' the result of the reduction.  Determine what state
     3928  /* Now 'shift' the result of the reduction.  Determine what state
    42603929     that goes to, based on the state we popped back to and the rule
    42613930     number reduced by.  */
     
    42723941
    42733942
    4274 /*------------------------------------.
    4275 | yyerrlab -- here on detecting error |
    4276 `------------------------------------*/
     3943/*--------------------------------------.
     3944| yyerrlab -- here on detecting error. |
     3945`--------------------------------------*/
    42773946yyerrlab:
     3947  /* Make sure we have latest lookahead translation.  See comments at
     3948     user semantic actions for why this is necessary.  */
     3949  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
     3950
    42783951  /* If not already recovering from an error, report this error.  */
    42793952  if (!yyerrstatus)
     
    42833956      yyerror (YY_("syntax error"));
    42843957#else
     3958# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
     3959                                        yyssp, yytoken)
    42853960      {
    4286         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
    4287         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
    4288           {
    4289             YYSIZE_T yyalloc = 2 * yysize;
    4290             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
    4291               yyalloc = YYSTACK_ALLOC_MAXIMUM;
    4292             if (yymsg != yymsgbuf)
    4293               YYSTACK_FREE (yymsg);
    4294             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
    4295             if (yymsg)
    4296               yymsg_alloc = yyalloc;
    4297             else
    4298               {
    4299                 yymsg = yymsgbuf;
    4300                 yymsg_alloc = sizeof yymsgbuf;
    4301               }
    4302           }
    4303 
    4304         if (0 < yysize && yysize <= yymsg_alloc)
    4305           {
    4306             (void) yysyntax_error (yymsg, yystate, yychar);
    4307             yyerror (yymsg);
    4308           }
    4309         else
    4310           {
    4311             yyerror (YY_("syntax error"));
    4312             if (yysize != 0)
    4313               goto yyexhaustedlab;
    4314           }
     3961        char const *yymsgp = YY_("syntax error");
     3962        int yysyntax_error_status;
     3963        yysyntax_error_status = YYSYNTAX_ERROR;
     3964        if (yysyntax_error_status == 0)
     3965          yymsgp = yymsg;
     3966        else if (yysyntax_error_status == 1)
     3967          {
     3968            if (yymsg != yymsgbuf)
     3969              YYSTACK_FREE (yymsg);
     3970            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
     3971            if (!yymsg)
     3972              {
     3973                yymsg = yymsgbuf;
     3974                yymsg_alloc = sizeof yymsgbuf;
     3975                yysyntax_error_status = 2;
     3976              }
     3977            else
     3978              {
     3979                yysyntax_error_status = YYSYNTAX_ERROR;
     3980                yymsgp = yymsg;
     3981              }
     3982          }
     3983        yyerror (yymsgp);
     3984        if (yysyntax_error_status == 2)
     3985          goto yyexhaustedlab;
    43153986      }
     3987# undef YYSYNTAX_ERROR
    43163988#endif
    43173989    }
     
    43223994    {
    43233995      /* If just tried and failed to reuse lookahead token after an
    4324         error, discard it.  */
     3996        error, discard it.  */
    43253997
    43263998      if (yychar <= YYEOF)
    4327         {
    4328           /* Return failure if at end of input.  */
    4329           if (yychar == YYEOF)
    4330             YYABORT;
    4331         }
     3999        {
     4000          /* Return failure if at end of input.  */
     4001          if (yychar == YYEOF)
     4002            YYABORT;
     4003        }
    43324004      else
    4333         {
    4334           yydestruct ("Error: discarding",
    4335                       yytoken, &yylval);
    4336           yychar = YYEMPTY;
    4337         }
     4005        {
     4006          yydestruct ("Error: discarding",
     4007                      yytoken, &yylval);
     4008          yychar = YYEMPTY;
     4009        }
    43384010    }
    43394011
     
    43544026     goto yyerrorlab;
    43554027
    4356   /* Do not reclaim the symbols of the rule which action triggered
     4028  /* Do not reclaim the symbols of the rule whose action triggered
    43574029     this YYERROR.  */
    43584030  YYPOPSTACK (yylen);
     
    43674039`-------------------------------------------------------------*/
    43684040yyerrlab1:
    4369   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
     4041  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
    43704042
    43714043  for (;;)
    43724044    {
    43734045      yyn = yypact[yystate];
    4374       if (yyn != YYPACT_NINF)
    4375         {
    4376           yyn += YYTERROR;
    4377           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
    4378             {
    4379               yyn = yytable[yyn];
    4380               if (0 < yyn)
    4381                 break;
    4382             }
    4383         }
     4046      if (!yypact_value_is_default (yyn))
     4047        {
     4048          yyn += YYTERROR;
     4049          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
     4050            {
     4051              yyn = yytable[yyn];
     4052              if (0 < yyn)
     4053                break;
     4054            }
     4055        }
    43844056
    43854057      /* Pop the current state because it cannot handle the error token.  */
    43864058      if (yyssp == yyss)
    4387         YYABORT;
     4059        YYABORT;
    43884060
    43894061
    43904062      yydestruct ("Error: popping",
    4391                   yystos[yystate], yyvsp);
     4063                  yystos[yystate], yyvsp);
    43924064      YYPOPSTACK (1);
    43934065      yystate = *yyssp;
     
    43954067    }
    43964068
     4069  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    43974070  *++yyvsp = yylval;
     4071  YY_IGNORE_MAYBE_UNINITIALIZED_END
    43984072
    43994073
     
    44194093  goto yyreturn;
    44204094
    4421 #if !defined(yyoverflow) || YYERROR_VERBOSE
     4095#if !defined yyoverflow || YYERROR_VERBOSE
    44224096/*-------------------------------------------------.
    44234097| yyexhaustedlab -- memory exhaustion comes here.  |
     
    44314105yyreturn:
    44324106  if (yychar != YYEMPTY)
    4433      yydestruct ("Cleanup: discarding lookahead",
    4434                  yytoken, &yylval);
    4435   /* Do not reclaim the symbols of the rule which action triggered
     4107    {
     4108      /* Make sure we have latest lookahead translation.  See comments at
     4109         user semantic actions for why this is necessary.  */
     4110      yytoken = YYTRANSLATE (yychar);
     4111      yydestruct ("Cleanup: discarding lookahead",
     4112                  yytoken, &yylval);
     4113    }
     4114  /* Do not reclaim the symbols of the rule whose action triggered
    44364115     this YYABORT or YYACCEPT.  */
    44374116  YYPOPSTACK (yylen);
     
    44404119    {
    44414120      yydestruct ("Cleanup: popping",
    4442                   yystos[*yyssp], yyvsp);
     4121                  yystos[*yyssp], yyvsp);
    44434122      YYPOPSTACK (1);
    44444123    }
     
    44514130    YYSTACK_FREE (yymsg);
    44524131#endif
    4453   /* Make sure YYID is used.  */
    4454   return YYID (yyresult);
     4132  return yyresult;
    44554133}
    4456 
    4457 
    4458 
  • Singular/grammar.h

    r3238c1 re54c6ee  
    1 /* A Bison parser, made by GNU Bison 2.4.3.  */
     1/* A Bison parser, made by GNU Bison 3.0.4.  */
    22
    3 /* Skeleton interface for Bison's Yacc-like parsers in C
     3/* Bison interface for Yacc-like parsers in C
    44
    5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
    6    2009, 2010 Free Software Foundation, Inc.
     5   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
    76
    87   This program is free software: you can redistribute it and/or modify
     
    3231   version 2.2 of Bison.  */
    3332
     33#ifndef YY_YY_GRAMMAR_HH_INCLUDED
     34# define YY_YY_GRAMMAR_HH_INCLUDED
     35/* Debug traces.  */
     36#ifndef YYDEBUG
     37# define YYDEBUG 1
     38#endif
     39#if YYDEBUG
     40extern int yydebug;
     41#endif
    3442
    35 /* Tokens.  */
     43/* Token type.  */
    3644#ifndef YYTOKENTYPE
    3745# define YYTOKENTYPE
    38    /* Put the tokens into the symbol table, so that GDB and other debuggers
    39       know about them.  */
    40    enum yytokentype {
    41      DOTDOT = 258,
    42      EQUAL_EQUAL = 259,
    43      GE = 260,
    44      LE = 261,
    45      MINUSMINUS = 262,
    46      NOT = 263,
    47      NOTEQUAL = 264,
    48      PLUSPLUS = 265,
    49      COLONCOLON = 266,
    50      ARROW = 267,
    51      GRING_CMD = 268,
    52      BIGINTMAT_CMD = 269,
    53      INTMAT_CMD = 270,
    54      PROC_CMD = 271,
    55      RING_CMD = 272,
    56      BEGIN_RING = 273,
    57      IDEAL_CMD = 274,
    58      MAP_CMD = 275,
    59      MATRIX_CMD = 276,
    60      MODUL_CMD = 277,
    61      NUMBER_CMD = 278,
    62      POLY_CMD = 279,
    63      RESOLUTION_CMD = 280,
    64      VECTOR_CMD = 281,
    65      BETTI_CMD = 282,
    66      E_CMD = 283,
    67      FETCH_CMD = 284,
    68      FREEMODULE_CMD = 285,
    69      KEEPRING_CMD = 286,
    70      IMAP_CMD = 287,
    71      KOSZUL_CMD = 288,
    72      MAXID_CMD = 289,
    73      MONOM_CMD = 290,
    74      PAR_CMD = 291,
    75      PREIMAGE_CMD = 292,
    76      VAR_CMD = 293,
    77      VALTVARS = 294,
    78      VMAXDEG = 295,
    79      VMAXMULT = 296,
    80      VNOETHER = 297,
    81      VMINPOLY = 298,
    82      END_RING = 299,
    83      CMD_1 = 300,
    84      CMD_2 = 301,
    85      CMD_3 = 302,
    86      CMD_12 = 303,
    87      CMD_13 = 304,
    88      CMD_23 = 305,
    89      CMD_123 = 306,
    90      CMD_M = 307,
    91      ROOT_DECL = 308,
    92      ROOT_DECL_LIST = 309,
    93      RING_DECL = 310,
    94      RING_DECL_LIST = 311,
    95      EXAMPLE_CMD = 312,
    96      EXPORT_CMD = 313,
    97      HELP_CMD = 314,
    98      KILL_CMD = 315,
    99      LIB_CMD = 316,
    100      LISTVAR_CMD = 317,
    101      SETRING_CMD = 318,
    102      TYPE_CMD = 319,
    103      STRINGTOK = 320,
    104      BLOCKTOK = 321,
    105      INT_CONST = 322,
    106      UNKNOWN_IDENT = 323,
    107      RINGVAR = 324,
    108      PROC_DEF = 325,
    109      APPLY = 326,
    110      ASSUME_CMD = 327,
    111      BREAK_CMD = 328,
    112      CONTINUE_CMD = 329,
    113      ELSE_CMD = 330,
    114      EVAL = 331,
    115      QUOTE = 332,
    116      FOR_CMD = 333,
    117      IF_CMD = 334,
    118      SYS_BREAK = 335,
    119      WHILE_CMD = 336,
    120      RETURN = 337,
    121      PARAMETER = 338,
    122      SYSVAR = 339,
    123      UMINUS = 340
    124    };
     46  enum yytokentype
     47  {
     48    DOTDOT = 258,
     49    EQUAL_EQUAL = 259,
     50    GE = 260,
     51    LE = 261,
     52    MINUSMINUS = 262,
     53    NOT = 263,
     54    NOTEQUAL = 264,
     55    PLUSPLUS = 265,
     56    COLONCOLON = 266,
     57    ARROW = 267,
     58    GRING_CMD = 268,
     59    BIGINTMAT_CMD = 269,
     60    INTMAT_CMD = 270,
     61    PROC_CMD = 271,
     62    RING_CMD = 272,
     63    BEGIN_RING = 273,
     64    IDEAL_CMD = 274,
     65    MAP_CMD = 275,
     66    MATRIX_CMD = 276,
     67    MODUL_CMD = 277,
     68    NUMBER_CMD = 278,
     69    POLY_CMD = 279,
     70    RESOLUTION_CMD = 280,
     71    VECTOR_CMD = 281,
     72    BETTI_CMD = 282,
     73    E_CMD = 283,
     74    FETCH_CMD = 284,
     75    FREEMODULE_CMD = 285,
     76    KEEPRING_CMD = 286,
     77    IMAP_CMD = 287,
     78    KOSZUL_CMD = 288,
     79    MAXID_CMD = 289,
     80    MONOM_CMD = 290,
     81    PAR_CMD = 291,
     82    PREIMAGE_CMD = 292,
     83    VAR_CMD = 293,
     84    VALTVARS = 294,
     85    VMAXDEG = 295,
     86    VMAXMULT = 296,
     87    VNOETHER = 297,
     88    VMINPOLY = 298,
     89    END_RING = 299,
     90    CMD_1 = 300,
     91    CMD_2 = 301,
     92    CMD_3 = 302,
     93    CMD_12 = 303,
     94    CMD_13 = 304,
     95    CMD_23 = 305,
     96    CMD_123 = 306,
     97    CMD_M = 307,
     98    ROOT_DECL = 308,
     99    ROOT_DECL_LIST = 309,
     100    RING_DECL = 310,
     101    RING_DECL_LIST = 311,
     102    EXAMPLE_CMD = 312,
     103    EXPORT_CMD = 313,
     104    HELP_CMD = 314,
     105    KILL_CMD = 315,
     106    LIB_CMD = 316,
     107    LISTVAR_CMD = 317,
     108    SETRING_CMD = 318,
     109    TYPE_CMD = 319,
     110    STRINGTOK = 320,
     111    BLOCKTOK = 321,
     112    INT_CONST = 322,
     113    UNKNOWN_IDENT = 323,
     114    RINGVAR = 324,
     115    PROC_DEF = 325,
     116    APPLY = 326,
     117    ASSUME_CMD = 327,
     118    BREAK_CMD = 328,
     119    CONTINUE_CMD = 329,
     120    ELSE_CMD = 330,
     121    EVAL = 331,
     122    QUOTE = 332,
     123    FOR_CMD = 333,
     124    IF_CMD = 334,
     125    SYS_BREAK = 335,
     126    WHILE_CMD = 336,
     127    RETURN = 337,
     128    PARAMETER = 338,
     129    SYSVAR = 339,
     130    UMINUS = 340
     131  };
    125132#endif
     133
     134/* Value type.  */
    126135
    127136
    128137
    129 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     138int yyparse (void);
    130139
    131 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    132 # define YYSTYPE_IS_DECLARED 1
    133 #endif
    134 
    135 
    136 
    137 
     140#endif /* !YY_YY_GRAMMAR_HH_INCLUDED  */
  • Singular/grammar.y

    r3238c1 re54c6ee  
    13261326            if (iiAssignCR(&$2,&$4)) YYERROR;
    13271327          }
     1328        | ringcmd1 elemexpr cmdeq elemexpr '[' exprlist ']'
     1329        {
     1330          #ifdef SINGULAR_4_1
     1331          yyInRingConstruction = FALSE;
     1332          sleftv tmp;
     1333          $4.next=(leftv)omAlloc(sizeof(sleftv));
     1334          memcpy($4.next,&$6,sizeof(sleftv));
     1335          memset(&$6,0,sizeof(sleftv));
     1336          if (iiExprArithM(&tmp,&$4,'[')) YYERROR;
     1337          if (iiAssignCR(&$2,&tmp)) YYERROR;
     1338          #else
     1339          YYERROR;
     1340          #endif
     1341        }
    13281342        ;
    13291343
  • Singular/iparith.cc

    r3238c1 re54c6ee  
    147147typedef struct _scmdnames cmdnames;
    148148
    149 
    150 typedef char * (*Proc1)(char *);
    151149struct sValCmd1
    152150{
     
    80388036}
    80398037
     8038#ifdef SINGULAR_4_1
     8039static BOOLEAN jjRING_PL(leftv res, leftv a)
     8040{
     8041  Print("construct ring\n");
     8042  if (a->Typ()!=CRING_CMD)
     8043  {
     8044    WerrorS("expected `Ring` [ `id` ... ]");
     8045    return TRUE;
     8046  }
     8047  assume(a->next!=NULL);
     8048  leftv names=a->next;
     8049  int N=names->listLength();
     8050  char **n=(char**)omAlloc0(N*sizeof(char*));
     8051  for(int i=0; i<N;i++,names=names->next)
     8052  {
     8053    n[i]=(char *)names->Name();
     8054  }
     8055  coeffs cf=(coeffs)a->CopyD();
     8056  res->data=rDefault(cf,N,n, ringorder_dp);
     8057  omFreeSize(n,N*sizeof(char*));
     8058  return FALSE;
     8059}
     8060#endif
    80408061
    80418062static Subexpr jjMakeSub(leftv e)
     
    87018722 * then alphabetically */
    87028723
    8703 BOOLEAN jjANY2LIST(leftv res, leftv v, int cnt)
     8724static BOOLEAN jjANY2LIST(leftv res, leftv v, int cnt)
    87048725{
    87058726  // cnt = 0: all
     
    89638984  if (tok==IDHDL) return "identifier";
    89648985  #ifdef SINGULAR_4_1
    8965   if (tok==CRING_CMD) return "(c)ring";
     8986  if (tok==CRING_CMD) return "Ring";
    89668987  #endif
    89678988  if (tok==QRING_CMD) return "ring";
  • Singular/ipassign.cc

    r3238c1 re54c6ee  
    470470    else
    471471    {
    472       WerrorS("no (c)ring avialable for conversion from int");
     472      WerrorS("no Ring avialable for conversion from int");
    473473      return TRUE;
    474474    }
  • Singular/ipshell.h

    r3238c1 re54c6ee  
    121121
    122122#ifdef GENTABLE
    123 typedef char * (*Proc1)(char *);
    124123struct sValCmd1
    125124{
  • Singular/links/asciiLink.cc

    r3238c1 re54c6ee  
    295295  if (type_id == PACKAGE_CMD)
    296296  {
    297     if (strcmp(IDID(h),"Top")==0) return FALSE;
     297    if (strcmp(IDID(h),"Top")==0) return FALSE; // do not dump "Top"
    298298    if (IDPACKAGE(h)->language==LANG_SINGULAR) return FALSE;
    299299  }
     300#ifdef SINGULAR_4_1
     301  if (type_id == CRING_CMD)
     302  {
     303    // do not dump the default CRINGs:
     304    if (strcmp(IDID(h),"QQ")==0) return FALSE;
     305    if (strcmp(IDID(h),"ZZ")==0) return FALSE;
     306    if (strcmp(IDID(h),"AE")==0) return FALSE;
     307    if (strcmp(IDID(h),"QAE")==0) return FALSE;
     308    if (strcmp(IDID(h),"flint_poly_Q")==0) return FALSE;
     309  }
     310#endif
    300311
    301312  // we do not throw an error if a wrong type was attempted to be dumped
  • Singular/misc_ip.cc

    r3238c1 re54c6ee  
    12621262  if(TRUE)
    12631263  {
    1264     n_coeffType type = nRegister(n_polyExt, naInitChar);
    1265     assume(type == n_algExt);
     1264    n_coeffType type;
     1265    #ifdef SINGULAR_4_1
     1266    type = nRegister(n_polyExt, naInitChar);
     1267    assume(type == n_polyExt);
     1268    #endif
    12661269
    12671270    type = nRegister(n_algExt, naInitChar);
  • Singular/table.h

    r3238c1 re54c6ee  
    825825// proc            cmd               res        number_of_args   context
    826826 {D(jjKLAMMER_PL),  '(',           ANY_TYPE,           -2      , ALLOW_PLURAL |ALLOW_RING}
     827#ifdef SINGULAR_4_1
     828,{D(jjRING_PL),   '[',             RING_CMD,           -2      , ALLOW_PLURAL |ALLOW_RING}
     829#endif
    827830,{D(jjBREAK0),    BREAKPOINT_CMD,  NONE,               0       , ALLOW_PLURAL |ALLOW_RING}
    828831,{D(jjBREAK1),    BREAKPOINT_CMD,  NONE,               -2      , ALLOW_PLURAL |ALLOW_RING}
     
    926929  { "contract",    0, CONTRACT_CMD ,      CMD_2},
    927930  { "convhull",    0, NEWTONPOLY_CMD,     CMD_1},
    928 #ifdef SINGULAR_4_1
    929   { "cring",       0, CRING_CMD,          ROOT_DECL},
    930 #endif
    931931  { "dbprint",     0, DBPRINT_CMD ,       CMD_M},
    932932  { "def",         0, DEF_CMD ,           ROOT_DECL},
     
    10141014  { "map",         0, MAP_CMD ,           RING_DECL},
    10151015  { "matrix",      0, MATRIX_CMD ,        MATRIX_CMD},
     1016#ifdef SINGULAR_4_1
     1017  { "Matrix",     0, CMATRIX_CMD ,       ROOT_DECL_LIST},
     1018#endif
    10161019  { "maxideal",    0, MAXID_CMD ,         CMD_1},
    10171020  { "memory",      0, MEMORY_CMD ,        CMD_1},
     
    10491052  { "nrows",       0, ROWS_CMD ,          CMD_1},
    10501053  { "number",      0, NUMBER_CMD ,        RING_DECL},
     1054#ifdef SINGULAR_4_1
     1055  { "Number",     0, CNUMBER_CMD ,       ROOT_DECL_LIST},
     1056#endif
    10511057  { "numerator",   0, NUMERATOR_CMD ,     CMD_1},
    10521058  { "nvars",       0, NVARS_CMD ,         CMD_1},
     
    10891095  { "RETURN",      0, END_GRAMMAR ,       RETURN},
    10901096  { "ring",        0, RING_CMD ,          RING_CMD},
     1097#ifdef SINGULAR_4_1
     1098  { "Ring",        0, CRING_CMD,          ROOT_DECL},
     1099#endif
    10911100  { "ringlist",    0, RINGLIST_CMD ,      CMD_1},
    10921101  #ifdef SINGULAR_4_1
  • libpolys/polys/monomials/ring.cc

    r3238c1 re54c6ee  
    146146  return rDefault(cf,N,n,ord_size,ord,block0,block1,wvhdl);
    147147}
    148 ring   rDefault(const coeffs cf, int N, char **n)
     148ring rDefault(const coeffs cf, int N, char **n,  const rRingOrder_t o)
    149149{
    150150  assume( cf != NULL);
    151   /*order: lp,0*/
     151  /*order: o=lp,0*/
    152152  int *order = (int *) omAlloc(2* sizeof(int));
    153153  int *block0 = (int *)omAlloc0(2 * sizeof(int));
    154154  int *block1 = (int *)omAlloc0(2 * sizeof(int));
    155   /* ringorder dp for the first block: var 1..N */
    156   order[0]  = ringorder_lp;
     155  /* ringorder o=lp for the first block: var 1..N */
     156  order[0]  = o;
    157157  block0[0] = 1;
    158158  block1[0] = N;
  • libpolys/polys/monomials/ring.h

    r3238c1 re54c6ee  
    7272ro_typ;
    7373
     74/// order stuff
     75typedef enum rRingOrder_t
     76{
     77  ringorder_no = 0,
     78  ringorder_a,
     79  ringorder_a64, ///< for int64 weights
     80  ringorder_c,
     81  ringorder_C,
     82  ringorder_M,
     83  ringorder_S, ///< S?
     84  ringorder_s, ///< s?
     85  ringorder_lp,
     86  ringorder_dp,
     87  ringorder_rp,
     88  ringorder_Dp,
     89  ringorder_wp,
     90  ringorder_Wp,
     91  ringorder_ls,
     92  ringorder_ds,
     93  ringorder_Ds,
     94  ringorder_ws,
     95  ringorder_Ws,
     96  ringorder_am,
     97  ringorder_L,
     98  // the following are only used internally
     99  ringorder_aa, ///< for idElimination, like a, except pFDeg, pWeigths ignore it
     100  ringorder_rs, ///< opposite of ls
     101  ringorder_IS, ///< Induced (Schreyer) ordering
     102  ringorder_unspec
     103} rRingOrder_t;
     104
     105typedef enum rOrderType_t
     106{
     107  rOrderType_General = 0, ///< non-simple ordering as specified by currRing
     108  rOrderType_CompExp,     ///< simple ordering, component has priority
     109  rOrderType_ExpComp,     ///< simple ordering, exponent vector has priority
     110                          ///< component not compatible with exp-vector order
     111  rOrderType_Exp,         ///< simple ordering, exponent vector has priority
     112                          ///< component is compatible with exp-vector order
     113  rOrderType_Syz,         ///< syzygy ordering
     114  rOrderType_Schreyer,    ///< Schreyer ordering
     115  rOrderType_Syz2dpc,     ///< syzcomp2dpc
     116  rOrderType_ExpNoComp    ///< simple ordering, differences in component are
     117                          ///< not considered
     118} rOrderType_t;
     119
    74120// ordering is a degree ordering
    75121struct sro_dp
     
    341387
    342388ring   rDefault(int ch, int N, char **n);
    343 ring   rDefault(const coeffs cf, int N, char **n);
     389ring   rDefault(const coeffs cf, int N, char **n, const rRingOrder_t o=ringorder_lp);
    344390ring   rDefault(int ch, int N, char **n,int ord_size, int *ord, int *block0, int *block1, int **wvhdl=NULL);
    345391ring   rDefault(const coeffs cf, int N, char **n,int ord_size, int *ord, int *block0, int *block1, int **wvhdl=NULL);
     
    660706
    661707
    662 /// order stuff
    663 typedef enum rRingOrder_t
    664 {
    665   ringorder_no = 0,
    666   ringorder_a,
    667   ringorder_a64, ///< for int64 weights
    668   ringorder_c,
    669   ringorder_C,
    670   ringorder_M,
    671   ringorder_S, ///< S?
    672   ringorder_s, ///< s?
    673   ringorder_lp,
    674   ringorder_dp,
    675   ringorder_rp,
    676   ringorder_Dp,
    677   ringorder_wp,
    678   ringorder_Wp,
    679   ringorder_ls,
    680   ringorder_ds,
    681   ringorder_Ds,
    682   ringorder_ws,
    683   ringorder_Ws,
    684   ringorder_am,
    685   ringorder_L,
    686   // the following are only used internally
    687   ringorder_aa, ///< for idElimination, like a, except pFDeg, pWeigths ignore it
    688   ringorder_rs, ///< opposite of ls
    689   ringorder_IS, ///< Induced (Schreyer) ordering
    690   ringorder_unspec
    691 } rRingOrder_t;
    692 
    693 typedef enum rOrderType_t
    694 {
    695   rOrderType_General = 0, ///< non-simple ordering as specified by currRing
    696   rOrderType_CompExp,     ///< simple ordering, component has priority
    697   rOrderType_ExpComp,     ///< simple ordering, exponent vector has priority
    698                           ///< component not compatible with exp-vector order
    699   rOrderType_Exp,         ///< simple ordering, exponent vector has priority
    700                           ///< component is compatible with exp-vector order
    701   rOrderType_Syz,         ///< syzygy ordering
    702   rOrderType_Schreyer,    ///< Schreyer ordering
    703   rOrderType_Syz2dpc,     ///< syzcomp2dpc
    704   rOrderType_ExpNoComp    ///< simple ordering, differences in component are
    705                           ///< not considered
    706 } rOrderType_t;
    707 
    708708static inline BOOLEAN rIsSyzIndexRing(const ring r)
    709709{ assume(r != NULL); assume(r->cf != NULL); return r->order[0] == ringorder_s;}
Note: See TracChangeset for help on using the changeset viewer.