Changeset 9127cc in git for Singular


Ignore:
Timestamp:
Apr 20, 2012, 6:03:15 PM (12 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
3c25c9013dd11772026c49e15335e5c0c406729e
Parents:
aa2bcca09909ae2deafec8f699cbd2a7ecfc84f3
Message:
add: basics for bigintmat
Location:
Singular
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Singular/grammar.cc

    raa2bcca r9127cc  
    1 /* A Bison parser, made by GNU Bison 1.875d.  */
    2 
    3 /* Skeleton parser for Yacc-like parsing with Bison,
    4    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    5 
    6    This program is free software; you can redistribute it and/or modify
     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.
     7   
     8   This program is free software: you can redistribute it and/or modify
    79   it under the terms of the GNU General Public License as published by
    8    the Free Software Foundation; either version 2, or (at your option)
    9    any later version.
    10 
     10   the Free Software Foundation, either version 3 of the License, or
     11   (at your option) any later version.
     12   
    1113   This program is distributed in the hope that it will be useful,
    1214   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1315   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1416   GNU General Public License for more details.
    15 
     17   
    1618   You should have received a copy of the GNU General Public License
    17    along with this program; if not, write to the Free Software
    18    Foundation, Inc., 59 Temple Place - Suite 330,
    19    Boston, MA 02111-1307, USA.  */
    20 
    21 /* As a special exception, when this file is copied by Bison into a
    22    Bison output file, you may use that output file without restriction.
    23    This special exception was added by the Free Software Foundation
    24    in version 1.24 of Bison.  */
    25 
    26 /* Written by Richard Stallman by simplifying the original so called
    27    ``semantic'' parser.  */
     19   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     20
     21/* As a special exception, you may create a larger work that contains
     22   part or all of the Bison parser skeleton and distribute that work
     23   under terms of your choice, so long as that work isn't itself a
     24   parser generator using the skeleton or a modified version thereof
     25   as a parser skeleton.  Alternatively, if you modify or redistribute
     26   the parser skeleton itself, you may (at your option) remove this
     27   special exception, which will cause the skeleton and the resulting
     28   Bison output files to be licensed under the GNU General Public
     29   License without this special exception.
     30   
     31   This special exception was added by the Free Software Foundation in
     32   version 2.2 of Bison.  */
     33
     34/* C LALR(1) parser skeleton written by Richard Stallman, by
     35   simplifying the original so-called "semantic" parser.  */
    2836
    2937/* All symbols defined below should begin with yy or YY, to avoid
     
    3745#define YYBISON 1
    3846
     47/* Bison version.  */
     48#define YYBISON_VERSION "2.4.3"
     49
    3950/* Skeleton name.  */
    4051#define YYSKELETON_NAME "yacc.c"
     
    4354#define YYPURE 1
    4455
     56/* Push parsers.  */
     57#define YYPUSH 0
     58
     59/* Pull parsers.  */
     60#define YYPULL 1
     61
    4562/* Using locations.  */
    4663#define YYLSP_NEEDED 0
     
    4865
    4966
    50 /* Tokens.  */
    51 #ifndef YYTOKENTYPE
    52 # define YYTOKENTYPE
    53    /* Put the tokens into the symbol table, so that GDB and other debuggers
    54       know about them.  */
    55    enum yytokentype {
    56      DOTDOT = 258,
    57      EQUAL_EQUAL = 259,
    58      GE = 260,
    59      LE = 261,
    60      MINUSMINUS = 262,
    61      NOT = 263,
    62      NOTEQUAL = 264,
    63      PLUSPLUS = 265,
    64      COLONCOLON = 266,
    65      GRING_CMD = 267,
    66      INTMAT_CMD = 268,
    67      PROC_CMD = 269,
    68      RING_CMD = 270,
    69      BEGIN_RING = 271,
    70      IDEAL_CMD = 272,
    71      MAP_CMD = 273,
    72      MATRIX_CMD = 274,
    73      MODUL_CMD = 275,
    74      NUMBER_CMD = 276,
    75      POLY_CMD = 277,
    76      RESOLUTION_CMD = 278,
    77      VECTOR_CMD = 279,
    78      BETTI_CMD = 280,
    79      COEFFS_CMD = 281,
    80      COEF_CMD = 282,
    81      CONTRACT_CMD = 283,
    82      DEGREE_CMD = 284,
    83      DEG_CMD = 285,
    84      DIFF_CMD = 286,
    85      DIM_CMD = 287,
    86      DIVISION_CMD = 288,
    87      ELIMINATION_CMD = 289,
    88      E_CMD = 290,
    89      FAREY_CMD = 291,
    90      FETCH_CMD = 292,
    91      FREEMODULE_CMD = 293,
    92      KEEPRING_CMD = 294,
    93      HILBERT_CMD = 295,
    94      HOMOG_CMD = 296,
    95      IMAP_CMD = 297,
    96      INDEPSET_CMD = 298,
    97      INTERRED_CMD = 299,
    98      INTERSECT_CMD = 300,
    99      JACOB_CMD = 301,
    100      JET_CMD = 302,
    101      KBASE_CMD = 303,
    102      KOSZUL_CMD = 304,
    103      LEADCOEF_CMD = 305,
    104      LEADEXP_CMD = 306,
    105      LEAD_CMD = 307,
    106      LEADMONOM_CMD = 308,
    107      LIFTSTD_CMD = 309,
    108      LIFT_CMD = 310,
    109      MAXID_CMD = 311,
    110      MINBASE_CMD = 312,
    111      MINOR_CMD = 313,
    112      MINRES_CMD = 314,
    113      MODULO_CMD = 315,
    114      MONOM_CMD = 316,
    115      MRES_CMD = 317,
    116      MULTIPLICITY_CMD = 318,
    117      ORD_CMD = 319,
    118      PAR_CMD = 320,
    119      PARDEG_CMD = 321,
    120      PREIMAGE_CMD = 322,
    121      QUOTIENT_CMD = 323,
    122      QHWEIGHT_CMD = 324,
    123      REDUCE_CMD = 325,
    124      REGULARITY_CMD = 326,
    125      RES_CMD = 327,
    126      SIMPLIFY_CMD = 328,
    127      SORTVEC_CMD = 329,
    128      SRES_CMD = 330,
    129      STD_CMD = 331,
    130      SUBST_CMD = 332,
    131      SYZYGY_CMD = 333,
    132      VAR_CMD = 334,
    133      VDIM_CMD = 335,
    134      WEDGE_CMD = 336,
    135      WEIGHT_CMD = 337,
    136      VALTVARS = 338,
    137      VMAXDEG = 339,
    138      VMAXMULT = 340,
    139      VNOETHER = 341,
    140      VMINPOLY = 342,
    141      END_RING = 343,
    142      CMD_1 = 344,
    143      CMD_2 = 345,
    144      CMD_3 = 346,
    145      CMD_12 = 347,
    146      CMD_13 = 348,
    147      CMD_23 = 349,
    148      CMD_123 = 350,
    149      CMD_M = 351,
    150      ROOT_DECL = 352,
    151      ROOT_DECL_LIST = 353,
    152      RING_DECL = 354,
    153      RING_DECL_LIST = 355,
    154      EXAMPLE_CMD = 356,
    155      EXPORT_CMD = 357,
    156      HELP_CMD = 358,
    157      KILL_CMD = 359,
    158      LIB_CMD = 360,
    159      LISTVAR_CMD = 361,
    160      SETRING_CMD = 362,
    161      TYPE_CMD = 363,
    162      STRINGTOK = 364,
    163      BLOCKTOK = 365,
    164      INT_CONST = 366,
    165      UNKNOWN_IDENT = 367,
    166      RINGVAR = 368,
    167      PROC_DEF = 369,
    168      BREAK_CMD = 370,
    169      CONTINUE_CMD = 371,
    170      ELSE_CMD = 372,
    171      EVAL = 373,
    172      QUOTE = 374,
    173      FOR_CMD = 375,
    174      IF_CMD = 376,
    175      SYS_BREAK = 377,
    176      WHILE_CMD = 378,
    177      RETURN = 379,
    178      PARAMETER = 380,
    179      SYSVAR = 381,
    180      UMINUS = 382
    181    };
    182 #endif
    183 #define DOTDOT 258
    184 #define EQUAL_EQUAL 259
    185 #define GE 260
    186 #define LE 261
    187 #define MINUSMINUS 262
    188 #define NOT 263
    189 #define NOTEQUAL 264
    190 #define PLUSPLUS 265
    191 #define COLONCOLON 266
    192 #define GRING_CMD 267
    193 #define INTMAT_CMD 268
    194 #define PROC_CMD 269
    195 #define RING_CMD 270
    196 #define BEGIN_RING 271
    197 #define IDEAL_CMD 272
    198 #define MAP_CMD 273
    199 #define MATRIX_CMD 274
    200 #define MODUL_CMD 275
    201 #define NUMBER_CMD 276
    202 #define POLY_CMD 277
    203 #define RESOLUTION_CMD 278
    204 #define VECTOR_CMD 279
    205 #define BETTI_CMD 280
    206 #define COEFFS_CMD 281
    207 #define COEF_CMD 282
    208 #define CONTRACT_CMD 283
    209 #define DEGREE_CMD 284
    210 #define DEG_CMD 285
    211 #define DIFF_CMD 286
    212 #define DIM_CMD 287
    213 #define DIVISION_CMD 288
    214 #define ELIMINATION_CMD 289
    215 #define E_CMD 290
    216 #define FAREY_CMD 291
    217 #define FETCH_CMD 292
    218 #define FREEMODULE_CMD 293
    219 #define KEEPRING_CMD 294
    220 #define HILBERT_CMD 295
    221 #define HOMOG_CMD 296
    222 #define IMAP_CMD 297
    223 #define INDEPSET_CMD 298
    224 #define INTERRED_CMD 299
    225 #define INTERSECT_CMD 300
    226 #define JACOB_CMD 301
    227 #define JET_CMD 302
    228 #define KBASE_CMD 303
    229 #define KOSZUL_CMD 304
    230 #define LEADCOEF_CMD 305
    231 #define LEADEXP_CMD 306
    232 #define LEAD_CMD 307
    233 #define LEADMONOM_CMD 308
    234 #define LIFTSTD_CMD 309
    235 #define LIFT_CMD 310
    236 #define MAXID_CMD 311
    237 #define MINBASE_CMD 312
    238 #define MINOR_CMD 313
    239 #define MINRES_CMD 314
    240 #define MODULO_CMD 315
    241 #define MONOM_CMD 316
    242 #define MRES_CMD 317
    243 #define MULTIPLICITY_CMD 318
    244 #define ORD_CMD 319
    245 #define PAR_CMD 320
    246 #define PARDEG_CMD 321
    247 #define PREIMAGE_CMD 322
    248 #define QUOTIENT_CMD 323
    249 #define QHWEIGHT_CMD 324
    250 #define REDUCE_CMD 325
    251 #define REGULARITY_CMD 326
    252 #define RES_CMD 327
    253 #define SIMPLIFY_CMD 328
    254 #define SORTVEC_CMD 329
    255 #define SRES_CMD 330
    256 #define STD_CMD 331
    257 #define SUBST_CMD 332
    258 #define SYZYGY_CMD 333
    259 #define VAR_CMD 334
    260 #define VDIM_CMD 335
    261 #define WEDGE_CMD 336
    262 #define WEIGHT_CMD 337
    263 #define VALTVARS 338
    264 #define VMAXDEG 339
    265 #define VMAXMULT 340
    266 #define VNOETHER 341
    267 #define VMINPOLY 342
    268 #define END_RING 343
    269 #define CMD_1 344
    270 #define CMD_2 345
    271 #define CMD_3 346
    272 #define CMD_12 347
    273 #define CMD_13 348
    274 #define CMD_23 349
    275 #define CMD_123 350
    276 #define CMD_M 351
    277 #define ROOT_DECL 352
    278 #define ROOT_DECL_LIST 353
    279 #define RING_DECL 354
    280 #define RING_DECL_LIST 355
    281 #define EXAMPLE_CMD 356
    282 #define EXPORT_CMD 357
    283 #define HELP_CMD 358
    284 #define KILL_CMD 359
    285 #define LIB_CMD 360
    286 #define LISTVAR_CMD 361
    287 #define SETRING_CMD 362
    288 #define TYPE_CMD 363
    289 #define STRINGTOK 364
    290 #define BLOCKTOK 365
    291 #define INT_CONST 366
    292 #define UNKNOWN_IDENT 367
    293 #define RINGVAR 368
    294 #define PROC_DEF 369
    295 #define BREAK_CMD 370
    296 #define CONTINUE_CMD 371
    297 #define ELSE_CMD 372
    298 #define EVAL 373
    299 #define QUOTE 374
    300 #define FOR_CMD 375
    301 #define IF_CMD 376
    302 #define SYS_BREAK 377
    303 #define WHILE_CMD 378
    304 #define RETURN 379
    305 #define PARAMETER 380
    306 #define SYSVAR 381
    307 #define UMINUS 382
    308 
    309 
    310 
    311 
    31267/* Copy the first part of user declarations.  */
     68
     69/* Line 189 of yacc.c  */
    31370#line 8 "grammar.y"
    31471
     
    32077#include <string.h>
    32178
    322 #include "config.h"
    32379#include <kernel/mod2.h>
    32480#include <misc/mylimits.h>
     
    486242
    487243
     244/* Line 189 of yacc.c  */
     245#line 246 "grammar.cc"
     246
    488247/* Enabling traces.  */
    489248#ifndef YYDEBUG
     
    499258#endif
    500259
    501 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    502 typedef int YYSTYPE;
     260/* Enabling the token table.  */
     261#ifndef YYTOKEN_TABLE
     262# define YYTOKEN_TABLE 0
     263#endif
     264
     265
     266/* Tokens.  */
     267#ifndef YYTOKENTYPE
     268# define YYTOKENTYPE
     269   /* Put the tokens into the symbol table, so that GDB and other debuggers
     270      know about them.  */
     271   enum yytokentype {
     272     DOTDOT = 258,
     273     EQUAL_EQUAL = 259,
     274     GE = 260,
     275     LE = 261,
     276     MINUSMINUS = 262,
     277     NOT = 263,
     278     NOTEQUAL = 264,
     279     PLUSPLUS = 265,
     280     COLONCOLON = 266,
     281     GRING_CMD = 267,
     282     BIGINTMAT_CMD = 268,
     283     INTMAT_CMD = 269,
     284     PROC_CMD = 270,
     285     RING_CMD = 271,
     286     BEGIN_RING = 272,
     287     IDEAL_CMD = 273,
     288     MAP_CMD = 274,
     289     MATRIX_CMD = 275,
     290     MODUL_CMD = 276,
     291     NUMBER_CMD = 277,
     292     POLY_CMD = 278,
     293     RESOLUTION_CMD = 279,
     294     VECTOR_CMD = 280,
     295     BETTI_CMD = 281,
     296     COEFFS_CMD = 282,
     297     COEF_CMD = 283,
     298     CONTRACT_CMD = 284,
     299     DEGREE_CMD = 285,
     300     DEG_CMD = 286,
     301     DIFF_CMD = 287,
     302     DIM_CMD = 288,
     303     DIVISION_CMD = 289,
     304     ELIMINATION_CMD = 290,
     305     E_CMD = 291,
     306     FAREY_CMD = 292,
     307     FETCH_CMD = 293,
     308     FREEMODULE_CMD = 294,
     309     KEEPRING_CMD = 295,
     310     HILBERT_CMD = 296,
     311     HOMOG_CMD = 297,
     312     IMAP_CMD = 298,
     313     INDEPSET_CMD = 299,
     314     INTERRED_CMD = 300,
     315     INTERSECT_CMD = 301,
     316     JACOB_CMD = 302,
     317     JET_CMD = 303,
     318     KBASE_CMD = 304,
     319     KOSZUL_CMD = 305,
     320     LEADCOEF_CMD = 306,
     321     LEADEXP_CMD = 307,
     322     LEAD_CMD = 308,
     323     LEADMONOM_CMD = 309,
     324     LIFTSTD_CMD = 310,
     325     LIFT_CMD = 311,
     326     MAXID_CMD = 312,
     327     MINBASE_CMD = 313,
     328     MINOR_CMD = 314,
     329     MINRES_CMD = 315,
     330     MODULO_CMD = 316,
     331     MONOM_CMD = 317,
     332     MRES_CMD = 318,
     333     MULTIPLICITY_CMD = 319,
     334     ORD_CMD = 320,
     335     PAR_CMD = 321,
     336     PARDEG_CMD = 322,
     337     PREIMAGE_CMD = 323,
     338     QUOTIENT_CMD = 324,
     339     QHWEIGHT_CMD = 325,
     340     REDUCE_CMD = 326,
     341     REGULARITY_CMD = 327,
     342     RES_CMD = 328,
     343     SIMPLIFY_CMD = 329,
     344     SORTVEC_CMD = 330,
     345     SRES_CMD = 331,
     346     STD_CMD = 332,
     347     SUBST_CMD = 333,
     348     SYZYGY_CMD = 334,
     349     VAR_CMD = 335,
     350     VDIM_CMD = 336,
     351     WEDGE_CMD = 337,
     352     WEIGHT_CMD = 338,
     353     VALTVARS = 339,
     354     VMAXDEG = 340,
     355     VMAXMULT = 341,
     356     VNOETHER = 342,
     357     VMINPOLY = 343,
     358     END_RING = 344,
     359     CMD_1 = 345,
     360     CMD_2 = 346,
     361     CMD_3 = 347,
     362     CMD_12 = 348,
     363     CMD_13 = 349,
     364     CMD_23 = 350,
     365     CMD_123 = 351,
     366     CMD_M = 352,
     367     ROOT_DECL = 353,
     368     ROOT_DECL_LIST = 354,
     369     RING_DECL = 355,
     370     RING_DECL_LIST = 356,
     371     EXAMPLE_CMD = 357,
     372     EXPORT_CMD = 358,
     373     HELP_CMD = 359,
     374     KILL_CMD = 360,
     375     LIB_CMD = 361,
     376     LISTVAR_CMD = 362,
     377     SETRING_CMD = 363,
     378     TYPE_CMD = 364,
     379     STRINGTOK = 365,
     380     BLOCKTOK = 366,
     381     INT_CONST = 367,
     382     UNKNOWN_IDENT = 368,
     383     RINGVAR = 369,
     384     PROC_DEF = 370,
     385     BREAK_CMD = 371,
     386     CONTINUE_CMD = 372,
     387     ELSE_CMD = 373,
     388     EVAL = 374,
     389     QUOTE = 375,
     390     FOR_CMD = 376,
     391     IF_CMD = 377,
     392     SYS_BREAK = 378,
     393     WHILE_CMD = 379,
     394     RETURN = 380,
     395     PARAMETER = 381,
     396     SYSVAR = 382,
     397     UMINUS = 383
     398   };
     399#endif
     400
     401
     402
     403#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     404
    503405# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    504406# define YYSTYPE_IS_DECLARED 1
    505 # define YYSTYPE_IS_TRIVIAL 1
    506 #endif
    507 
     407#endif
    508408
    509409
     
    511411
    512412
    513 /* Line 214 of yacc.c.  */
    514 #line 514 "grammar.cc"
    515 
    516 #if ! defined (yyoverflow) || YYERROR_VERBOSE
    517 
    518 # ifndef YYFREE
    519 #  define YYFREE free
     413/* Line 264 of yacc.c  */
     414#line 415 "grammar.cc"
     415
     416#ifdef short
     417# undef short
     418#endif
     419
     420#ifdef YYTYPE_UINT8
     421typedef YYTYPE_UINT8 yytype_uint8;
     422#else
     423typedef unsigned char yytype_uint8;
     424#endif
     425
     426#ifdef YYTYPE_INT8
     427typedef YYTYPE_INT8 yytype_int8;
     428#elif (defined __STDC__ || defined __C99__FUNC__ \
     429     || defined __cplusplus || defined _MSC_VER)
     430typedef signed char yytype_int8;
     431#else
     432typedef short int yytype_int8;
     433#endif
     434
     435#ifdef YYTYPE_UINT16
     436typedef YYTYPE_UINT16 yytype_uint16;
     437#else
     438typedef unsigned short int yytype_uint16;
     439#endif
     440
     441#ifdef YYTYPE_INT16
     442typedef YYTYPE_INT16 yytype_int16;
     443#else
     444typedef short int yytype_int16;
     445#endif
     446
     447#ifndef YYSIZE_T
     448# ifdef __SIZE_TYPE__
     449#  define YYSIZE_T __SIZE_TYPE__
     450# elif defined size_t
     451#  define YYSIZE_T size_t
     452# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     453     || defined __cplusplus || defined _MSC_VER)
     454#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
     455#  define YYSIZE_T size_t
     456# else
     457#  define YYSIZE_T unsigned int
    520458# endif
    521 # ifndef YYMALLOC
    522 #  define YYMALLOC malloc
     459#endif
     460
     461#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
     462
     463#ifndef YY_
     464# if defined YYENABLE_NLS && YYENABLE_NLS
     465#  if ENABLE_NLS
     466#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
     467#   define YY_(msgid) dgettext ("bison-runtime", msgid)
     468#  endif
    523469# endif
     470# ifndef YY_
     471#  define YY_(msgid) msgid
     472# endif
     473#endif
     474
     475/* Suppress unused-variable warnings by "using" E.  */
     476#if ! defined lint || defined __GNUC__
     477# define YYUSE(e) ((void) (e))
     478#else
     479# define YYUSE(e) /* empty */
     480#endif
     481
     482/* Identity function, used to suppress warnings about constant conditions.  */
     483#ifndef lint
     484# define YYID(n) (n)
     485#else
     486#if (defined __STDC__ || defined __C99__FUNC__ \
     487     || defined __cplusplus || defined _MSC_VER)
     488static int
     489YYID (int yyi)
     490#else
     491static int
     492YYID (yyi)
     493    int yyi;
     494#endif
     495{
     496  return yyi;
     497}
     498#endif
     499
     500#if ! defined yyoverflow || YYERROR_VERBOSE
    524501
    525502/* The parser invokes alloca or malloc; define the necessary symbols.  */
     
    527504# ifdef YYSTACK_USE_ALLOCA
    528505#  if YYSTACK_USE_ALLOCA
    529 #   define YYSTACK_ALLOC alloca
    530 #  endif
    531 # else
    532 #  if defined (alloca) || defined (_ALLOCA_H)
    533 #   define YYSTACK_ALLOC alloca
    534 #  else
    535506#   ifdef __GNUC__
    536507#    define YYSTACK_ALLOC __builtin_alloca
     508#   elif defined __BUILTIN_VA_ARG_INCR
     509#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
     510#   elif defined _AIX
     511#    define YYSTACK_ALLOC __alloca
     512#   elif defined _MSC_VER
     513#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
     514#    define alloca _alloca
     515#   else
     516#    define YYSTACK_ALLOC alloca
     517#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     518     || defined __cplusplus || defined _MSC_VER)
     519#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     520#     ifndef _STDLIB_H
     521#      define _STDLIB_H 1
     522#     endif
     523#    endif
    537524#   endif
    538525#  endif
     
    540527
    541528# ifdef YYSTACK_ALLOC
    542    /* Pacify GCC's `empty if-body' warning. */
    543 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
     529   /* Pacify GCC's `empty if-body' warning.  */
     530#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
     531#  ifndef YYSTACK_ALLOC_MAXIMUM
     532    /* The OS might guarantee only one guard page at the bottom of the stack,
     533       and a page size can be as small as 4096 bytes.  So we cannot safely
     534       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
     535       to allow for a few compiler-allocated temporary stack slots.  */
     536#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
     537#  endif
    544538# else
    545 #  if defined (__STDC__) || defined (__cplusplus)
    546 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    547 #   define YYSIZE_T size_t
    548 #  endif
    549539#  define YYSTACK_ALLOC YYMALLOC
    550540#  define YYSTACK_FREE YYFREE
     541#  ifndef YYSTACK_ALLOC_MAXIMUM
     542#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
     543#  endif
     544#  if (defined __cplusplus && ! defined _STDLIB_H \
     545       && ! ((defined YYMALLOC || defined malloc) \
     546             && (defined YYFREE || defined free)))
     547#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     548#   ifndef _STDLIB_H
     549#    define _STDLIB_H 1
     550#   endif
     551#  endif
     552#  ifndef YYMALLOC
     553#   define YYMALLOC malloc
     554#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     555     || defined __cplusplus || defined _MSC_VER)
     556void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
     557#   endif
     558#  endif
     559#  ifndef YYFREE
     560#   define YYFREE free
     561#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     562     || defined __cplusplus || defined _MSC_VER)
     563void free (void *); /* INFRINGES ON USER NAME SPACE */
     564#   endif
     565#  endif
    551566# endif
    552 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    553 
    554 
    555 #if (! defined (yyoverflow) \
    556      && (! defined (__cplusplus) \
    557          || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
     567#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
     568
     569
     570#if (! defined yyoverflow \
     571     && (! defined __cplusplus \
     572         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    558573
    559574/* A type that is properly aligned for any stack member.  */
    560575union yyalloc
    561576{
    562   short int yyss;
    563   YYSTYPE yyvs;
    564   };
     577  yytype_int16 yyss_alloc;
     578  YYSTYPE yyvs_alloc;
     579};
    565580
    566581/* The size of the maximum gap between one aligned stack and the next.  */
     
    570585   N elements.  */
    571586# define YYSTACK_BYTES(N) \
    572      ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
     587     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
    573588      + YYSTACK_GAP_MAXIMUM)
    574589
     
    576591   not overlap.  */
    577592# ifndef YYCOPY
    578 #  if defined (__GNUC__) && 1 < __GNUC__
     593#  if defined __GNUC__ && 1 < __GNUC__
    579594#   define YYCOPY(To, From, Count) \
    580595      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
     
    583598      do                                        \
    584599        {                                       \
    585           register YYSIZE_T yyi;                \
     600          YYSIZE_T yyi;                         \
    586601          for (yyi = 0; yyi < (Count); yyi++)   \
    587602            (To)[yyi] = (From)[yyi];            \
    588603        }                                       \
    589       while (0)
     604      while (YYID (0))
    590605#  endif
    591606# endif
     
    596611   stack.  Advance YYPTR to a properly aligned location for the next
    597612   stack.  */
    598 # define YYSTACK_RELOCATE(Stack)                                        \
     613# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    599614    do                                                                  \
    600615      {                                                                 \
    601616        YYSIZE_T yynewbytes;                                            \
    602         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
    603         Stack = &yyptr->Stack                                        \
     617        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
     618        Stack = &yyptr->Stack_alloc;                                    \
    604619        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    605620        yyptr += yynewbytes / sizeof (*yyptr);                          \
    606621      }                                                                 \
    607     while (0)
    608 
    609 #endif
    610 
    611 #if defined (__STDC__) || defined (__cplusplus)
    612    typedef signed char yysigned_char;
    613 #else
    614    typedef short int yysigned_char;
    615 #endif
    616 
    617 /* YYFINAL -- State number of the termination state. */
     622    while (YYID (0))
     623
     624#endif
     625
     626/* YYFINAL -- State number of the termination state.  */
    618627#define YYFINAL  2
    619628/* YYLAST -- Last index in YYTABLE.  */
    620 #define YYLAST   2002
    621 
    622 /* YYNTOKENS -- Number of terminals. */
    623 #define YYNTOKENS  146
    624 /* YYNNTS -- Number of nonterminals. */
    625 #define YYNNTS  43
    626 /* YYNRULES -- Number of rules. */
    627 #define YYNRULES  167
    628 /* YYNRULES -- Number of states. */
    629 #define YYNSTATES  373
     629#define YYLAST   1814
     630
     631/* YYNTOKENS -- Number of terminals.  */
     632#define YYNTOKENS  147
     633/* YYNNTS -- Number of nonterminals.  */
     634#define YYNNTS  44
     635/* YYNRULES -- Number of rules.  */
     636#define YYNRULES  164
     637/* YYNRULES -- Number of states.  */
     638#define YYNSTATES  355
    630639
    631640/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    632641#define YYUNDEFTOK  2
    633 #define YYMAXUTOK   382
    634 
    635 #define YYTRANSLATE(YYX)                                                \
     642#define YYMAXUTOK   383
     643
     644#define YYTRANSLATE(YYX)                                                \
    636645  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    637646
    638647/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    639 static const unsigned char yytranslate[] =
     648static const yytype_uint8 yytranslate[] =
    640649{
    641650       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    642651       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    643652       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    644        2,     2,     2,     2,     2,     2,     2,     2,   138,     2,
    645      142,   143,   140,   130,   136,   131,   144,   132,     2,     2,
    646        2,     2,     2,     2,     2,     2,     2,     2,   139,   137,
    647      128,   127,   129,     2,     2,     2,     2,     2,     2,     2,
     653       2,     2,     2,     2,     2,     2,     2,     2,   139,     2,
     654     143,   144,   141,   131,   137,   132,   145,   133,     2,     2,
     655       2,     2,     2,     2,     2,     2,     2,     2,   140,   138,
     656     129,   128,   130,     2,     2,     2,     2,     2,     2,     2,
    648657       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    649658       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    650        2,   133,     2,   134,   135,     2,   145,     2,     2,     2,
     659       2,   134,     2,   135,   136,     2,   146,     2,     2,     2,
    651660       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    652661       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    677686     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    678687     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    679      125,   126,   141
     688     125,   126,   127,   142
    680689};
    681690
     
    683692/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    684693   YYRHS.  */
    685 static const unsigned short int yyprhs[] =
     694static const yytype_uint16 yyprhs[] =
    686695{
    687696       0,     0,     3,     4,     7,     9,    12,    15,    17,    19,
     
    692701     136,   140,   145,   150,   154,   159,   166,   175,   182,   191,
    693702     196,   201,   208,   213,   220,   229,   238,   242,   247,   256,
    694      261,   270,   275,   284,   289,   293,   299,   300,   306,   309,
    695      311,   314,   317,   321,   325,   329,   333,   337,   341,   345,
    696      349,   353,   357,   360,   363,   366,   369,   371,   375,   378,
    697      381,   384,   387,   396,   399,   408,   411,   415,   418,   420,
    698      422,   428,   430,   432,   437,   439,   443,   445,   449,   451,
    699      452,   457,   461,   464,   468,   471,   474,   478,   483,   488,
    700      493,   498,   503,   508,   513,   518,   523,   530,   537,   544,
    701      551,   558,   565,   572,   579,   583,   585,   594,   597,   600,
    702      602,   604,   607,   610,   612,   618,   621,   627,   629,   631,
    703      635,   641,   645,   649,   654,   657,   660,   665
     703     261,   270,   275,   279,   285,   286,   292,   295,   297,   300,
     704     303,   307,   311,   315,   319,   323,   327,   331,   335,   339,
     705     343,   346,   349,   352,   355,   357,   361,   364,   367,   370,
     706     373,   382,   385,   389,   392,   394,   396,   402,   404,   406,
     707     411,   413,   417,   419,   423,   425,   427,   429,   431,   432,
     708     437,   441,   444,   448,   451,   454,   458,   463,   468,   473,
     709     478,   483,   488,   493,   498,   505,   512,   519,   526,   533,
     710     540,   547,   551,   553,   562,   565,   568,   570,   572,   575,
     711     578,   580,   586,   589,   595,   597,   599,   603,   609,   613,
     712     617,   622,   625,   628,   633
    704713};
    705714
    706 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
    707 static const short int yyrhs[] =
     715/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
     716static const yytype_int16 yyrhs[] =
    708717{
    709      147,     0,    -1,    -1,   147,   148,    -1,   149,    -1,   151,
    710      137,    -1,   162,   137,    -1,   188,    -1,   122,    -1,   137,
    711       -1,     1,   137,    -1,   183,    -1,   184,    -1,   150,    -1,
    712      185,    -1,   186,    -1,   170,    -1,   172,    -1,   173,    -1,
    713      101,   110,    -1,   152,    -1,   174,    -1,   175,    -1,   176,
    714       -1,   187,    -1,   178,    -1,   179,    -1,   181,    -1,   182,
    715       -1,   160,   154,    -1,   113,    -1,   161,    -1,   153,    11,
    716      153,    -1,   153,   144,   153,    -1,   153,   142,   143,    -1,
    717      153,   142,   154,   143,    -1,   133,   154,   134,    -1,   111,
    718       -1,   126,    -1,   163,    -1,    14,   142,   155,   143,    -1,
    719      154,   136,   155,    -1,   155,    -1,   159,    -1,   153,    -1,
    720      142,   154,   143,    -1,   155,   133,   155,   136,   155,   134,
    721       -1,   155,   133,   155,   134,    -1,    97,   142,   155,   143,
    722       -1,    98,   142,   154,   143,    -1,    98,   142,   143,    -1,
    723       99,   142,   155,   143,    -1,   100,   142,   154,   143,    -1,
    724      100,   142,   143,    -1,    89,   142,   155,   143,    -1,    90,
    725      142,   155,   136,   155,   143,    -1,    91,   142,   155,   136,
    726      155,   136,   155,   143,    -1,    94,   142,   155,   136,   155,
    727      143,    -1,    94,   142,   155,   136,   155,   136,   155,   143,
    728       -1,    92,   142,   155,   143,    -1,    93,   142,   155,   143,
    729       -1,    92,   142,   155,   136,   155,   143,    -1,    95,   142,
    730      155,   143,    -1,    95,   142,   155,   136,   155,   143,    -1,
    731       93,   142,   155,   136,   155,   136,   155,   143,    -1,    95,
    732      142,   155,   136,   155,   136,   155,   143,    -1,    96,   142,
    733      143,    -1,    96,   142,   154,   143,    -1,    19,   142,   155,
    734      136,   155,   136,   155,   143,    -1,    19,   142,   155,   143,
    735       -1,    13,   142,   155,   136,   155,   136,   155,   143,    -1,
    736       13,   142,   155,   143,    -1,    15,   142,   164,   136,   164,
    737      136,   168,   143,    -1,    15,   142,   155,   143,    -1,   157,
    738      155,   158,    -1,   157,   155,   127,   155,   158,    -1,    -1,
    739      118,   142,   156,   155,   143,    -1,   119,   142,    -1,   143,
    740       -1,   155,    10,    -1,   155,     7,    -1,   155,   130,   155,
    741       -1,   155,   131,   155,    -1,   155,   132,   155,    -1,   155,
    742      135,   155,    -1,   155,   128,   155,    -1,   155,   138,   155,
    743       -1,   155,     9,   155,    -1,   155,     4,   155,    -1,   155,
    744        3,   155,    -1,   155,   139,   155,    -1,     8,   155,    -1,
    745      131,   155,    -1,   162,   169,    -1,   154,   127,    -1,   112,
    746       -1,   145,   155,   145,    -1,    97,   153,    -1,    98,   153,
    747       -1,    99,   153,    -1,   100,   153,    -1,    19,   153,   133,
    748      155,   134,   133,   155,   134,    -1,    19,   153,    -1,    13,
    749      153,   133,   155,   134,   133,   155,   134,    -1,    13,   153,
    750       -1,   162,   136,   153,    -1,    14,   153,    -1,   109,    -1,
    751      155,    -1,   142,   155,   136,   154,   143,    -1,   112,    -1,
    752      165,    -1,   165,   142,   154,   143,    -1,   166,    -1,   166,
    753      136,   167,    -1,   166,    -1,   142,   167,   143,    -1,   127,
    754       -1,    -1,   128,   163,   171,   137,    -1,   103,   109,   137,
    755       -1,   103,   137,    -1,   101,   109,   137,    -1,   102,   154,
    756       -1,   104,   153,    -1,   175,   136,   153,    -1,   106,   142,
    757       97,   143,    -1,   106,   142,    98,   143,    -1,   106,   142,
    758       99,   143,    -1,   106,   142,   100,   143,    -1,   106,   142,
    759       15,   143,    -1,   106,   142,    19,   143,    -1,   106,   142,
    760       13,   143,    -1,   106,   142,    14,   143,    -1,   106,   142,
    761      153,   143,    -1,   106,   142,   153,   136,    97,   143,    -1,
    762      106,   142,   153,   136,    98,   143,    -1,   106,   142,   153,
    763      136,    99,   143,    -1,   106,   142,   153,   136,   100,   143,
    764       -1,   106,   142,   153,   136,    15,   143,    -1,   106,   142,
    765      153,   136,    19,   143,    -1,   106,   142,   153,   136,    13,
    766      143,    -1,   106,   142,   153,   136,    14,   143,    -1,   106,
    767      142,   143,    -1,    15,    -1,   177,   153,   169,   164,   136,
    768      164,   136,   168,    -1,   177,   153,    -1,   126,   163,    -1,
    769      107,    -1,    39,    -1,   180,   155,    -1,   108,   155,    -1,
    770      154,    -1,   121,   142,   155,   143,   110,    -1,   117,   110,
    771       -1,   121,   142,   155,   143,   115,    -1,   115,    -1,   116,
    772       -1,   123,   109,   110,    -1,   120,   109,   109,   109,   110,
    773       -1,    14,   161,   110,    -1,   114,   109,   110,    -1,   114,
    774      109,   109,   110,    -1,   125,   162,    -1,   125,   155,    -1,
    775      124,   142,   154,   143,    -1,   124,   142,   143,    -1
     718     148,     0,    -1,    -1,   148,   149,    -1,   150,    -1,   152,
     719     138,    -1,   163,   138,    -1,   190,    -1,   123,    -1,   138,
     720      -1,     1,   138,    -1,   185,    -1,   186,    -1,   151,    -1,
     721     187,    -1,   188,    -1,   172,    -1,   174,    -1,   175,    -1,
     722     102,   111,    -1,   153,    -1,   176,    -1,   177,    -1,   178,
     723      -1,   189,    -1,   180,    -1,   181,    -1,   183,    -1,   184,
     724      -1,   161,   155,    -1,   114,    -1,   162,    -1,   154,    11,
     725     154,    -1,   154,   145,   154,    -1,   154,   143,   144,    -1,
     726     154,   143,   155,   144,    -1,   134,   155,   135,    -1,   112,
     727      -1,   127,    -1,   164,    -1,    15,   143,   156,   144,    -1,
     728     155,   137,   156,    -1,   156,    -1,   160,    -1,   154,    -1,
     729     143,   155,   144,    -1,   156,   134,   156,   137,   156,   135,
     730      -1,   156,   134,   156,   135,    -1,    98,   143,   156,   144,
     731      -1,    99,   143,   155,   144,    -1,    99,   143,   144,    -1,
     732     100,   143,   156,   144,    -1,   101,   143,   155,   144,    -1,
     733     101,   143,   144,    -1,    90,   143,   156,   144,    -1,    91,
     734     143,   156,   137,   156,   144,    -1,    92,   143,   156,   137,
     735     156,   137,   156,   144,    -1,    95,   143,   156,   137,   156,
     736     144,    -1,    95,   143,   156,   137,   156,   137,   156,   144,
     737      -1,    93,   143,   156,   144,    -1,    94,   143,   156,   144,
     738      -1,    93,   143,   156,   137,   156,   144,    -1,    96,   143,
     739     156,   144,    -1,    96,   143,   156,   137,   156,   144,    -1,
     740      94,   143,   156,   137,   156,   137,   156,   144,    -1,    96,
     741     143,   156,   137,   156,   137,   156,   144,    -1,    97,   143,
     742     144,    -1,    97,   143,   155,   144,    -1,   171,   143,   156,
     743     137,   156,   137,   156,   144,    -1,   171,   143,   156,   144,
     744      -1,    16,   143,   165,   137,   165,   137,   169,   144,    -1,
     745      16,   143,   156,   144,    -1,   158,   156,   159,    -1,   158,
     746     156,   128,   156,   159,    -1,    -1,   119,   143,   157,   156,
     747     144,    -1,   120,   143,    -1,   144,    -1,   156,    10,    -1,
     748     156,     7,    -1,   156,   131,   156,    -1,   156,   132,   156,
     749      -1,   156,   133,   156,    -1,   156,   136,   156,    -1,   156,
     750     129,   156,    -1,   156,   139,   156,    -1,   156,     9,   156,
     751      -1,   156,     4,   156,    -1,   156,     3,   156,    -1,   156,
     752     140,   156,    -1,     8,   156,    -1,   132,   156,    -1,   163,
     753     170,    -1,   155,   128,    -1,   113,    -1,   146,   156,   146,
     754      -1,    98,   154,    -1,    99,   154,    -1,   100,   154,    -1,
     755     101,   154,    -1,   171,   154,   134,   156,   135,   134,   156,
     756     135,    -1,   171,   154,    -1,   163,   137,   154,    -1,    15,
     757     154,    -1,   110,    -1,   156,    -1,   143,   156,   137,   155,
     758     144,    -1,   113,    -1,   166,    -1,   166,   143,   155,   144,
     759      -1,   167,    -1,   167,   137,   168,    -1,   167,    -1,   143,
     760     168,   144,    -1,   128,    -1,    20,    -1,    14,    -1,    13,
     761      -1,    -1,   129,   164,   173,   138,    -1,   104,   110,   138,
     762      -1,   104,   138,    -1,   102,   110,   138,    -1,   103,   155,
     763      -1,   105,   154,    -1,   177,   137,   154,    -1,   107,   143,
     764      98,   144,    -1,   107,   143,    99,   144,    -1,   107,   143,
     765     100,   144,    -1,   107,   143,   101,   144,    -1,   107,   143,
     766      16,   144,    -1,   107,   143,   171,   144,    -1,   107,   143,
     767      15,   144,    -1,   107,   143,   154,   144,    -1,   107,   143,
     768     154,   137,    98,   144,    -1,   107,   143,   154,   137,    99,
     769     144,    -1,   107,   143,   154,   137,   100,   144,    -1,   107,
     770     143,   154,   137,   101,   144,    -1,   107,   143,   154,   137,
     771      16,   144,    -1,   107,   143,   154,   137,   171,   144,    -1,
     772     107,   143,   154,   137,    15,   144,    -1,   107,   143,   144,
     773      -1,    16,    -1,   179,   154,   170,   165,   137,   165,   137,
     774     169,    -1,   179,   154,    -1,   127,   164,    -1,   108,    -1,
     775      40,    -1,   182,   156,    -1,   109,   156,    -1,   155,    -1,
     776     122,   143,   156,   144,   111,    -1,   118,   111,    -1,   122,
     777     143,   156,   144,   116,    -1,   116,    -1,   117,    -1,   124,
     778     110,   111,    -1,   121,   110,   110,   110,   111,    -1,    15,
     779     162,   111,    -1,   115,   110,   111,    -1,   115,   110,   110,
     780     111,    -1,   126,   163,    -1,   126,   156,    -1,   125,   143,
     781     155,   144,    -1,   125,   143,   144,    -1
    776782};
    777783
    778784/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    779 static const unsigned short int yyrline[] =
     785static const yytype_uint16 yyrline[] =
    780786{
    781        0,   360,   360,   362,   396,   397,   399,   401,   405,   410,
    782      412,   463,   464,   465,   466,   467,   468,   469,   470,   474,
    783      477,   478,   479,   480,   481,   482,   483,   484,   485,   488,
    784      495,   500,   504,   508,   512,   516,   529,   557,   581,   587,
    785      593,   600,   611,   617,   622,   623,   624,   628,   632,   636,
    786      640,   644,   648,   652,   656,   660,   664,   668,   672,   676,
    787      680,   684,   688,   692,   696,   700,   704,   708,   712,   716,
    788      720,   724,   728,   732,   736,   740,   758,   757,   775,   783,
    789      792,   796,   800,   804,   808,   812,   816,   820,   824,   828,
    790      832,   836,   840,   847,   854,   855,   874,   875,   887,   892,
    791      897,   901,   905,   921,   925,   941,   955,   976,   984,   988,
    792      989,  1003,  1011,  1020,  1065,  1066,  1075,  1076,  1082,  1095,
    793     1094,  1102,  1107,  1114,  1122,  1134,  1150,  1169,  1173,  1177,
    794     1182,  1186,  1190,  1194,  1198,  1202,  1207,  1213,  1219,  1225,
    795     1231,  1237,  1243,  1249,  1261,  1268,  1272,  1309,  1319,  1332,
    796     1332,  1335,  1407,  1411,  1440,  1453,  1470,  1479,  1484,  1492,
    797     1504,  1523,  1534,  1554,  1578,  1584,  1596,  1603
     787       0,   363,   363,   365,   399,   400,   402,   404,   408,   413,
     788     415,   466,   467,   468,   469,   470,   471,   472,   473,   477,
     789     480,   481,   482,   483,   484,   485,   486,   487,   488,   491,
     790     498,   503,   507,   511,   515,   519,   532,   560,   584,   590,
     791     596,   603,   614,   620,   625,   626,   627,   631,   635,   639,
     792     643,   647,   651,   655,   659,   663,   667,   671,   675,   679,
     793     683,   687,   691,   695,   699,   703,   707,   711,   715,   719,
     794     723,   727,   731,   735,   753,   752,   770,   778,   787,   791,
     795     795,   799,   803,   807,   811,   815,   819,   823,   827,   831,
     796     835,   842,   849,   850,   869,   870,   882,   887,   892,   896,
     797     900,   940,   966,   987,   995,   999,  1000,  1014,  1022,  1031,
     798    1076,  1077,  1086,  1087,  1093,  1099,  1101,  1103,  1113,  1112,
     799    1120,  1125,  1132,  1140,  1152,  1168,  1187,  1191,  1195,  1200,
     800    1204,  1208,  1212,  1216,  1221,  1227,  1233,  1239,  1245,  1251,
     801    1257,  1269,  1276,  1280,  1317,  1327,  1340,  1340,  1343,  1415,
     802    1419,  1448,  1461,  1478,  1487,  1492,  1500,  1512,  1531,  1542,
     803    1562,  1586,  1592,  1604,  1611
    798804};
    799805#endif
    800806
    801 #if YYDEBUG || YYERROR_VERBOSE
    802 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    803    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
     807#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
     808/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
     809   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    804810static const char *const yytname[] =
    805811{
    806812  "$end", "error", "$undefined", "DOTDOT", "EQUAL_EQUAL", "GE", "LE",
    807813  "MINUSMINUS", "NOT", "NOTEQUAL", "PLUSPLUS", "COLONCOLON", "GRING_CMD",
    808   "INTMAT_CMD", "PROC_CMD", "RING_CMD", "BEGIN_RING", "IDEAL_CMD",
    809   "MAP_CMD", "MATRIX_CMD", "MODUL_CMD", "NUMBER_CMD", "POLY_CMD",
    810   "RESOLUTION_CMD", "VECTOR_CMD", "BETTI_CMD", "COEFFS_CMD", "COEF_CMD",
    811   "CONTRACT_CMD", "DEGREE_CMD", "DEG_CMD", "DIFF_CMD", "DIM_CMD",
    812   "DIVISION_CMD", "ELIMINATION_CMD", "E_CMD", "FAREY_CMD", "FETCH_CMD",
    813   "FREEMODULE_CMD", "KEEPRING_CMD", "HILBERT_CMD", "HOMOG_CMD", "IMAP_CMD",
    814   "INDEPSET_CMD", "INTERRED_CMD", "INTERSECT_CMD", "JACOB_CMD", "JET_CMD",
    815   "KBASE_CMD", "KOSZUL_CMD", "LEADCOEF_CMD", "LEADEXP_CMD", "LEAD_CMD",
    816   "LEADMONOM_CMD", "LIFTSTD_CMD", "LIFT_CMD", "MAXID_CMD", "MINBASE_CMD",
    817   "MINOR_CMD", "MINRES_CMD", "MODULO_CMD", "MONOM_CMD", "MRES_CMD",
    818   "MULTIPLICITY_CMD", "ORD_CMD", "PAR_CMD", "PARDEG_CMD", "PREIMAGE_CMD",
    819   "QUOTIENT_CMD", "QHWEIGHT_CMD", "REDUCE_CMD", "REGULARITY_CMD",
    820   "RES_CMD", "SIMPLIFY_CMD", "SORTVEC_CMD", "SRES_CMD", "STD_CMD",
    821   "SUBST_CMD", "SYZYGY_CMD", "VAR_CMD", "VDIM_CMD", "WEDGE_CMD",
    822   "WEIGHT_CMD", "VALTVARS", "VMAXDEG", "VMAXMULT", "VNOETHER", "VMINPOLY",
    823   "END_RING", "CMD_1", "CMD_2", "CMD_3", "CMD_12", "CMD_13", "CMD_23",
    824   "CMD_123", "CMD_M", "ROOT_DECL", "ROOT_DECL_LIST", "RING_DECL",
     814  "BIGINTMAT_CMD", "INTMAT_CMD", "PROC_CMD", "RING_CMD", "BEGIN_RING",
     815  "IDEAL_CMD", "MAP_CMD", "MATRIX_CMD", "MODUL_CMD", "NUMBER_CMD",
     816  "POLY_CMD", "RESOLUTION_CMD", "VECTOR_CMD", "BETTI_CMD", "COEFFS_CMD",
     817  "COEF_CMD", "CONTRACT_CMD", "DEGREE_CMD", "DEG_CMD", "DIFF_CMD",
     818  "DIM_CMD", "DIVISION_CMD", "ELIMINATION_CMD", "E_CMD", "FAREY_CMD",
     819  "FETCH_CMD", "FREEMODULE_CMD", "KEEPRING_CMD", "HILBERT_CMD",
     820  "HOMOG_CMD", "IMAP_CMD", "INDEPSET_CMD", "INTERRED_CMD", "INTERSECT_CMD",
     821  "JACOB_CMD", "JET_CMD", "KBASE_CMD", "KOSZUL_CMD", "LEADCOEF_CMD",
     822  "LEADEXP_CMD", "LEAD_CMD", "LEADMONOM_CMD", "LIFTSTD_CMD", "LIFT_CMD",
     823  "MAXID_CMD", "MINBASE_CMD", "MINOR_CMD", "MINRES_CMD", "MODULO_CMD",
     824  "MONOM_CMD", "MRES_CMD", "MULTIPLICITY_CMD", "ORD_CMD", "PAR_CMD",
     825  "PARDEG_CMD", "PREIMAGE_CMD", "QUOTIENT_CMD", "QHWEIGHT_CMD",
     826  "REDUCE_CMD", "REGULARITY_CMD", "RES_CMD", "SIMPLIFY_CMD", "SORTVEC_CMD",
     827  "SRES_CMD", "STD_CMD", "SUBST_CMD", "SYZYGY_CMD", "VAR_CMD", "VDIM_CMD",
     828  "WEDGE_CMD", "WEIGHT_CMD", "VALTVARS", "VMAXDEG", "VMAXMULT", "VNOETHER",
     829  "VMINPOLY", "END_RING", "CMD_1", "CMD_2", "CMD_3", "CMD_12", "CMD_13",
     830  "CMD_23", "CMD_123", "CMD_M", "ROOT_DECL", "ROOT_DECL_LIST", "RING_DECL",
    825831  "RING_DECL_LIST", "EXAMPLE_CMD", "EXPORT_CMD", "HELP_CMD", "KILL_CMD",
    826832  "LIB_CMD", "LISTVAR_CMD", "SETRING_CMD", "TYPE_CMD", "STRINGTOK",
     
    831837  "';'", "'&'", "':'", "'*'", "UMINUS", "'('", "')'", "'.'", "'`'",
    832838  "$accept", "lines", "pprompt", "flowctrl", "example_dummy", "command",
    833   "assign", "elemexpr", "exprlist", "expr", "@1", "quote_start",
     839  "assign", "elemexpr", "exprlist", "expr", "$@1", "quote_start",
    834840  "quote_end", "expr_arithmetic", "left_value", "extendedid",
    835841  "declare_ip_variable", "stringexpr", "rlist", "ordername", "orderelem",
    836   "OrderingList", "ordering", "cmdeq", "filecmd", "@2", "helpcmd",
    837   "examplecmd", "exportcmd", "killcmd", "listcmd", "ringcmd1", "ringcmd",
    838   "scriptcmd", "setrings", "setringcmd", "typecmd", "ifcmd", "whilecmd",
    839   "forcmd", "proccmd", "parametercmd", "returncmd", 0
     842  "OrderingList", "ordering", "cmdeq", "mat_cmd", "filecmd", "$@2",
     843  "helpcmd", "examplecmd", "exportcmd", "killcmd", "listcmd", "ringcmd1",
     844  "ringcmd", "scriptcmd", "setrings", "setringcmd", "typecmd", "ifcmd",
     845  "whilecmd", "forcmd", "proccmd", "parametercmd", "returncmd", 0
    840846};
    841847#endif
     
    844850/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    845851   token YYLEX-NUM.  */
    846 static const unsigned short int yytoknum[] =
     852static const yytype_uint16 yytoknum[] =
    847853{
    848854       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     
    858864     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    859865     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    860      375,   376,   377,   378,   379,   380,   381,    61,    60,    62,
    861       43,    45,    47,    91,    93,    94,    44,    59,    38,    58,
    862       42,   382,    40,    41,    46,    96
     866     375,   376,   377,   378,   379,   380,   381,   382,    61,    60,
     867      62,    43,    45,    47,    91,    93,    94,    44,    59,    38,
     868      58,    42,   383,    40,    41,    46,    96
    863869};
    864870# endif
    865871
    866872/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    867 static const unsigned char yyr1[] =
     873static const yytype_uint8 yyr1[] =
    868874{
    869        0,   146,   147,   147,   148,   148,   148,   148,   148,   148,
    870      148,   149,   149,   149,   149,   149,   149,   149,   149,   150,
    871      151,   151,   151,   151,   151,   151,   151,   151,   151,   152,
    872      153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
    873      153,   154,   154,   155,   155,   155,   155,   155,   155,   155,
    874      155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
    875      155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
    876      155,   155,   155,   155,   155,   155,   156,   155,   157,   158,
    877      159,   159,   159,   159,   159,   159,   159,   159,   159,   159,
    878      159,   159,   159,   159,   160,   160,   161,   161,   162,   162,
    879      162,   162,   162,   162,   162,   162,   162,   162,   163,   164,
    880      164,   165,   166,   166,   167,   167,   168,   168,   169,   171,
    881      170,   172,   172,   173,   174,   175,   175,   176,   176,   176,
    882      176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
    883      176,   176,   176,   176,   176,   177,   178,   178,   179,   180,
    884      180,   181,   182,   182,   183,   183,   183,   183,   183,   184,
    885      185,   186,   186,   186,   187,   187,   188,   188
     875       0,   147,   148,   148,   149,   149,   149,   149,   149,   149,
     876     149,   150,   150,   150,   150,   150,   150,   150,   150,   151,
     877     152,   152,   152,   152,   152,   152,   152,   152,   152,   153,
     878     154,   154,   154,   154,   154,   154,   154,   154,   154,   154,
     879     154,   155,   155,   156,   156,   156,   156,   156,   156,   156,
     880     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
     881     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
     882     156,   156,   156,   156,   157,   156,   158,   159,   160,   160,
     883     160,   160,   160,   160,   160,   160,   160,   160,   160,   160,
     884     160,   160,   161,   161,   162,   162,   163,   163,   163,   163,
     885     163,   163,   163,   163,   164,   165,   165,   166,   167,   167,
     886     168,   168,   169,   169,   170,   171,   171,   171,   173,   172,
     887     174,   174,   175,   176,   177,   177,   178,   178,   178,   178,
     888     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
     889     178,   178,   179,   180,   180,   181,   182,   182,   183,   184,
     890     184,   185,   185,   185,   185,   185,   186,   187,   188,   188,
     891     188,   189,   189,   190,   190
    886892};
    887893
    888894/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    889 static const unsigned char yyr2[] =
     895static const yytype_uint8 yyr2[] =
    890896{
    891897       0,     2,     0,     2,     1,     2,     2,     1,     1,     1,
     
    896902       3,     4,     4,     3,     4,     6,     8,     6,     8,     4,
    897903       4,     6,     4,     6,     8,     8,     3,     4,     8,     4,
    898        8,     4,     8,     4,     3,     5,     0,     5,     2,     1,
    899        2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
    900        3,     3,     2,     2,     2,     2,     1,     3,     2,     2,
    901        2,     2,     8,     2,     8,     2,     3,     2,     1,     1,
    902        5,     1,     1,     4,     1,     3,     1,     3,     1,     0,
    903        4,     3,     2,     3,     2,     2,     3,     4,     4,     4,
    904        4,     4,     4,     4,     4,     4,     6,     6,     6,     6,
    905        6,     6,     6,     6,     3,     1,     8,     2,     2,     1,
    906        1,     2,     2,     1,     5,     2,     5,     1,     1,     3,
    907        5,     3,     3,     4,     2,     2,     4,     3
     904       8,     4,     3,     5,     0,     5,     2,     1,     2,     2,
     905       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
     906       2,     2,     2,     2,     1,     3,     2,     2,     2,     2,
     907       8,     2,     3,     2,     1,     1,     5,     1,     1,     4,
     908       1,     3,     1,     3,     1,     1,     1,     1,     0,     4,
     909       3,     2,     3,     2,     2,     3,     4,     4,     4,     4,
     910       4,     4,     4,     4,     6,     6,     6,     6,     6,     6,
     911       6,     3,     1,     8,     2,     2,     1,     1,     2,     2,
     912       1,     5,     2,     5,     1,     1,     3,     5,     3,     3,
     913       4,     2,     2,     4,     3
    908914};
    909915
     
    911917   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    912918   means the default is an error.  */
    913 static const unsigned char yydefact[] =
     919static const yytype_uint8 yydefact[] =
    914920{
    915        2,     0,     1,     0,     0,     0,     0,   145,     0,   150,
     921       2,     0,     1,     0,     0,   117,   116,     0,   142,   115,
     922     147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     923       0,     0,     0,     0,     0,     0,     0,     0,   146,     0,
     924     104,    37,    94,    30,     0,   154,   155,     0,     0,     0,
     925       0,     0,     8,     0,     0,     0,    38,     0,     0,     0,
     926       9,     0,     0,     3,     4,    13,     0,    20,    44,   150,
     927      42,     0,    43,     0,    31,     0,    39,     0,    16,    17,
     928      18,    21,    22,    23,     0,    25,    26,     0,    27,    28,
     929      11,    12,    14,    15,    24,     7,    10,     0,     0,     0,
     930       0,     0,     0,    38,    90,     0,     0,   103,    31,     0,
     931       0,     0,     0,     0,     0,     0,     0,     0,     0,    96,
     932       0,    97,     0,    98,     0,    99,     0,    19,   123,     0,
     933     121,   124,     0,   149,     0,   152,    74,    76,     0,     0,
     934       0,     0,     0,   162,   161,   145,   118,    91,     0,     0,
     935       0,     5,     0,     0,     0,    93,     0,     0,     0,    79,
     936       0,    78,     0,     0,     0,     0,     0,     0,     0,     0,
     937       0,    29,   114,     0,     6,    92,     0,   101,     0,   144,
     938     148,     0,   158,     0,   105,     0,     0,     0,     0,     0,
     939       0,     0,     0,    66,     0,     0,    50,     0,     0,    53,
     940       0,   122,   120,     0,     0,     0,     0,     0,     0,   141,
     941       0,     0,     0,   159,     0,     0,     0,   156,   164,     0,
     942       0,    36,    45,    95,    32,    34,     0,    33,    41,    88,
     943      87,    86,    84,    80,    81,    82,     0,    83,    85,    89,
     944       0,    77,    72,   102,     0,     0,   125,     0,    40,    42,
     945      71,     0,    54,     0,     0,     0,    59,     0,    60,     0,
     946       0,    62,    67,    48,    49,    51,    52,   132,   130,   126,
     947     127,   128,   129,     0,   133,   131,   160,     0,     0,     0,
     948     163,   119,    35,    47,     0,     0,     0,    69,     0,   105,
    916949       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    917        0,     0,     0,     0,     0,     0,     0,   149,     0,   108,
    918       37,    96,    30,     0,   157,   158,     0,     0,     0,     0,
    919        0,     8,     0,     0,     0,    38,     0,     0,     0,     9,
    920        0,     0,     3,     4,    13,     0,    20,    44,   153,    42,
    921        0,    43,     0,    31,     0,    39,    16,    17,    18,    21,
    922       22,    23,     0,    25,    26,     0,    27,    28,    11,    12,
    923       14,    15,    24,     7,    10,     0,     0,     0,     0,     0,
    924        0,     0,     0,    38,    92,     0,   105,     0,   107,    31,
    925        0,     0,   103,     0,     0,     0,     0,     0,     0,     0,
    926        0,     0,    98,     0,    99,     0,   100,     0,   101,     0,
    927       19,   124,     0,   122,   125,     0,   152,     0,   155,    76,
    928       78,     0,     0,     0,     0,     0,   165,   164,   148,   119,
    929       93,     0,     0,     0,     5,     0,     0,     0,    95,     0,
    930        0,     0,    81,     0,    80,     0,     0,     0,     0,     0,
    931        0,     0,     0,     0,    29,   118,     0,     6,    94,     0,
    932      147,   151,     0,     0,     0,   161,     0,   109,     0,     0,
    933        0,     0,     0,     0,     0,     0,     0,     0,    66,     0,
    934        0,    50,     0,     0,    53,     0,   123,   121,     0,     0,
    935        0,     0,     0,     0,     0,     0,   144,     0,     0,   162,
    936        0,     0,     0,   159,   167,     0,     0,    36,    45,    97,
    937       32,    34,     0,    33,    41,    90,    89,    88,    86,    82,
    938       83,    84,     0,    85,    87,    91,     0,    79,    74,   106,
    939      126,     0,     0,    71,     0,    40,    42,    73,     0,     0,
    940       69,     0,    54,     0,     0,     0,    59,     0,    60,     0,
    941        0,    62,    67,    48,    49,    51,    52,   133,   134,   131,
    942      132,   127,   128,   129,   130,     0,   135,   163,     0,     0,
    943        0,   166,   120,    35,    47,     0,     0,   109,     0,     0,
    944        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    945        0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
    946      160,   154,   156,     0,    75,     0,     0,     0,     0,     0,
    947        0,     0,    55,     0,    61,     0,     0,    57,     0,    63,
    948      142,   143,   140,   141,   136,   137,   138,   139,    46,     0,
    949        0,     0,   110,   111,     0,   112,   116,     0,     0,     0,
    950        0,     0,     0,     0,     0,    70,   104,   114,     0,     0,
    951       72,    68,   102,    56,    64,    58,    65,   146,     0,   117,
    952        0,   115,   113
     950       0,     0,     0,     0,     0,     0,    75,   157,   151,   153,
     951       0,    73,     0,     0,     0,     0,     0,    55,     0,    61,
     952       0,     0,    57,     0,    63,   140,   138,   134,   135,   136,
     953     137,   139,    46,     0,     0,     0,   106,   107,     0,   108,
     954     112,     0,     0,     0,     0,     0,     0,     0,     0,   110,
     955       0,     0,    70,    56,    64,    58,    65,    68,   100,   143,
     956       0,   113,     0,   111,   109
    953957};
    954958
    955 /* YYDEFGOTO[NTERM-NUM]. */
    956 static const short int yydefgoto[] =
     959/* YYDEFGOTO[NTERM-NUM].  */
     960static const yytype_int16 yydefgoto[] =
    957961{
    958       -1,     1,    52,    53,    54,    55,    56,    57,   142,    59,
    959      210,    60,   238,    61,    62,    63,    64,    65,   178,   345,
    960      346,   358,   347,   168,    66,   216,    67,    68,    69,    70,
    961       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    962       81,    82,    83
     962      -1,     1,    53,    54,    55,    56,    57,    58,   139,    60,
     963     204,    61,   232,    62,    63,    64,    65,    66,   175,   329,
     964     330,   340,   331,   165,    95,    68,   210,    69,    70,    71,
     965      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
     966      82,    83,    84,    85
    963967};
    964968
    965969/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    966970   STATE-NUM.  */
    967 #define YYPACT_NINF -339
    968 static const short int yypact[] =
     971#define YYPACT_NINF -319
     972static const yytype_int16 yypact[] =
    969973{
    970     -339,   270,  -339,  -127,  1223,  1728,  1777,  -121,  1788,  -339,
    971     -117,   -88,   -77,   -68,   -66,   -63,   -60,   -52,  1829,  1834,
    972     1839,  1857,   -40,  1223,  -104,  1634,   -51,  -339,  1223,  -339,
    973     -339,  -339,  -339,   -94,  -339,  -339,   -73,   -50,   -48,   -11,
    974      -43,  -339,    -5,   -41,  1280,    -4,    -4,  1223,  1223,  -339,
    975     1223,  1223,  -339,  -339,  -339,   -31,  -339,    23,  -113,  1679,
    976     1223,  -339,  1223,  -339,   -92,  -339,  -339,  -339,  -339,  -339,
    977      -29,  -339,  1634,  -339,  -339,  1223,  -339,  -339,  -339,  -339,
    978     -339,  -339,  -339,  -339,  -339,   -34,   -32,  -121,   -28,   -24,
    979      -20,     7,     8,  -339,    -3,  1223,    55,  1223,    23,     1,
    980     1338,  1223,    78,  1223,  1223,  1223,  1223,  1223,  1223,  1223,
    981      891,  1223,    23,   993,    23,  1223,    23,  1050,    23,    14,
    982     -339,   -23,    18,  -339,    23,  1782,  1679,   -37,  -339,  -339,
    983     -339,    29,  1223,    47,  1108,  1777,  1679,    22,  -339,  -339,
    984       -3,  -125,  -105,     9,  -339,  1634,  1165,  1634,  -339,  1223,
    985     1223,  1223,  -339,  1223,  -339,  1223,  1223,  1223,  1223,  1223,
    986     1223,  1223,  1223,    74,   -23,  -339,  1634,  -339,  -339,  1634,
    987       -8,  1679,    93,  1223,   456,  -339,  1223,   483,    26,   182,
    988     1223,   497,  1378,  1393,   288,   319,  1405,   346,  -339,  -100,
    989      511,  -339,   -87,   538,  -339,   -86,  -339,  -339,    31,   -57,
    990       40,    41,    51,    52,    60,    65,  -339,    17,    53,  -339,
    991     1223,    63,   562,  -339,  -339,   -85,    27,  -339,  -339,  -339,
    992       54,  -339,   -84,  -339,  1679,  1691,   309,   309,   446,   337,
    993      337,    -3,  1357,    10,  1703,   337,  1223,  -339,  -339,    23,
    994       23,  1338,  1223,  -339,   922,  -339,  1436,  -339,  1338,  1223,
    995     -339,  1451,  -339,  1223,  1223,  1223,  -339,  1223,  -339,  1223,
    996     1223,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
    997     -339,  -339,  -339,  -339,  -339,   233,  -339,  -339,   593,   100,
    998      -47,  -339,  -339,  -339,  -339,  1223,   648,  1679,    79,  1463,
    999       81,  1223,    80,  1494,    85,   675,  1542,   699,  1600,   401,
    1000      425,    76,    84,    90,    91,    92,    94,    95,    96,  -339,
    1001     -339,  -339,  -339,  1631,  -339,  1338,  1223,  1223,   -83,  -110,
    1002     1223,  1223,  -339,  1223,  -339,  1223,  1223,  -339,  1223,  -339,
    1003     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,   104,
    1004      730,  1643,  -339,  -339,   129,   101,  -339,    99,   744,  1655,
    1005      758,   785,   812,   836,  -110,  -339,  -339,   108,   102,  1223,
    1006     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,   129,  -339,
    1007      -81,  -339,  -339
     974    -319,   253,  -319,  -134,  1202,  -319,  -319,   366,  -129,  -319,
     975    -319,  -125,  -121,  -105,  -100,   -69,   -63,   -60,   -52,   890,
     976    1527,  1566,  1650,   -54,  1202,  -107,  1427,   -50,  -319,  1202,
     977    -319,  -319,  -319,  -319,   -80,  -319,  -319,   -53,   -49,   -46,
     978     -12,   -43,  -319,    -7,   -39,  1260,    -5,    -5,  1202,  1202,
     979    -319,  1202,  1202,  -319,  -319,  -319,   -77,  -319,     2,  -113,
     980    1589,  1202,  -319,  1202,  -319,   -87,  -319,  1660,  -319,  -319,
     981    -319,  -319,   -30,  -319,  1427,  -319,  -319,  1202,  -319,  -319,
     982    -319,  -319,  -319,  -319,  -319,  -319,  -319,   -35,  -129,   -31,
     983     -19,   -18,   -17,  -319,    19,   -15,  1202,     2,    23,  1317,
     984    1202,  1202,  1202,  1202,  1202,  1202,  1202,   915,  1202,     2,
     985     972,     2,  1202,     2,  1030,     2,   -28,  -319,    -8,    11,
     986    -319,     2,  1668,  1589,   -33,  -319,  -319,  -319,    30,  1202,
     987      46,  1087,   366,  1589,    22,  -319,  -319,    19,   -82,  -117,
     988      61,  -319,  1427,  1145,  1427,  -319,  1202,  1202,  1202,  -319,
     989    1202,  -319,  1202,  1202,  1202,  1202,  1202,  1202,  1202,  1202,
     990      92,    -8,  -319,  1427,  -319,  -319,  1202,    -2,  1427,     5,
     991    1589,   443,  -319,  1202,   464,    27,   478,  1337,  1359,   176,
     992     272,  1374,   291,  -319,   -98,   492,  -319,   -95,   523,  -319,
     993     -90,  -319,  -319,   -58,    16,    31,    32,    34,    40,  -319,
     994      -6,    45,    55,  -319,  1202,    81,   537,  -319,  -319,   -85,
     995      49,  -319,  -319,  -319,    51,  -319,   -71,  -319,  1589,  1613,
     996      77,    77,   403,    18,    18,    19,   827,     1,  1625,    18,
     997    1202,  -319,  -319,     2,   326,  1202,     2,  1317,  -319,  1386,
     998    -319,  1317,  -319,  1202,  1202,  1202,  -319,  1202,  -319,  1202,
     999    1202,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
     1000    -319,  -319,  -319,   633,  -319,  -319,  -319,   581,    87,   -99,
     1001    -319,  -319,  -319,  -319,  1202,   630,  1202,  -319,  1416,  1589,
     1002      62,  1202,    65,   675,  1431,   689,  1443,   385,   429,    59,
     1003      60,    68,    70,    71,    72,    74,  -319,  -319,  -319,  -319,
     1004    1455,  -319,  1475,    88,  1317,   -65,  -106,  -319,  1202,  -319,
     1005    1202,  1202,  -319,  1202,  -319,  -319,  -319,  -319,  -319,  -319,
     1006    -319,  -319,  -319,  1202,  1202,    90,  -319,  -319,   116,    91,
     1007    -319,    86,   719,   733,   747,   768,   782,  1524,  -106,    96,
     1008      93,  1202,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
     1009     116,  -319,   -62,  -319,  -319
    10081010};
    10091011
    10101012/* YYPGOTO[NTERM-NUM].  */
    1011 static const short int yypgoto[] =
     1013static const yytype_int16 yypgoto[] =
    10121014{
    1013     -339,  -339,  -339,  -339,  -339,  -339,  -339,    21,    -1,    20,
    1014     -339,  -339,   -36,  -339,  -339,   243,   207,    42,  -240,  -339,
    1015     -338,  -115,   -99,    87,  -339,  -339,  -339,  -339,  -339,  -339,
    1016     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
    1017     -339,  -339,  -339
     1015    -319,  -319,  -319,  -319,  -319,  -319,  -319,    14,    -1,    15,
     1016    -319,  -319,   -70,  -319,  -319,   228,   193,    43,  -235,  -319,
     1017    -318,  -111,   -97,    73,     0,  -319,  -319,  -319,  -319,  -319,
     1018    -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
     1019    -319,  -319,  -319,  -319
    10181020};
    10191021
     
    10231025   If YYTABLE_NINF, syntax error.  */
    10241026#define YYTABLE_NINF -1
    1025 static const short int yytable[] =
     1027static const yytype_int16 yytable[] =
    10261028{
    1027       58,   288,   343,   145,   152,   122,   357,   154,   292,   217,
    1028       84,   149,   150,   151,   148,   127,   152,   152,   153,   154,
    1029      154,   100,   121,   149,    94,   103,    96,    98,   145,   102,
    1030      357,   149,   344,   123,   145,   165,   149,   128,   218,   112,
    1031      114,   116,   118,   262,   166,   167,   124,   141,   126,   149,
    1032      149,   149,   149,   149,   104,   149,   264,   266,   281,   283,
    1033      342,   164,   372,   311,   136,   105,   145,   140,   312,   119,
    1034      120,   143,   208,   209,   106,   339,   107,   150,   151,   108,
    1035      163,   152,   109,   153,   154,    97,   268,   138,   139,   145,
    1036      110,   125,   129,   170,   130,   171,   150,   151,   131,   132,
    1037      152,   134,   153,   154,   133,    29,   144,   169,    95,   189,
    1038       97,   175,   192,   149,   101,   172,   195,   174,   111,   165,
    1039      177,   179,   113,   181,   182,   183,   184,   185,   186,   187,
    1040      159,   190,   160,   215,   146,   193,   147,   155,   211,   156,
    1041      157,   158,   159,   159,   160,   222,   207,   161,   162,   115,
    1042      117,   196,   212,   275,   219,   197,    98,   213,   166,   146,
    1043      276,   147,   248,   277,   282,   146,   220,   147,   223,   224,
    1044      225,   226,   279,   227,   267,   228,   229,   230,   231,   232,
    1045      233,   234,   235,   269,   270,   150,   151,   239,   173,   152,
    1046      240,   153,   154,   244,   271,   272,   246,   146,   147,   147,
    1047      251,   236,   155,   273,   156,   157,   158,   159,   274,   160,
    1048      310,   180,   161,   162,   317,   315,   319,   237,   321,   330,
    1049      146,   155,   147,   156,   157,   158,   159,   331,   160,   242,
    1050      278,   161,   162,   332,   333,   334,   243,   335,   336,   337,
    1051      354,   343,   360,   359,   368,   369,   301,   302,   303,    99,
    1052      314,   137,   304,   371,     0,   367,   286,   241,     0,     0,
    1053        0,   287,   289,     0,     0,     0,     0,     0,   287,   293,
    1054        2,     3,     0,   295,   296,   297,     0,   298,     4,   299,
    1055      300,     0,     0,     5,     6,     7,     0,     0,     0,     8,
    1056      318,   150,   151,     0,     0,   152,     0,   153,   154,     0,
    1057        0,     0,     0,     0,     0,   313,     0,     0,     0,     9,
    1058      155,     0,   156,   157,   158,   159,   152,   160,   249,   154,
    1059      161,   162,   150,   151,     0,   250,   152,     0,   153,   154,
    1060      305,   306,   307,   308,     0,   287,   340,   341,     0,     0,
    1061      348,   349,     0,   350,   152,   351,   352,   154,   353,   150,
    1062      151,     0,     0,   152,     0,   153,   154,     0,   370,    10,
     1029      59,    67,   280,   119,    86,   142,   282,   327,   149,   142,
     1030     339,   151,   298,   142,    99,   145,   142,   299,   100,    94,
     1031     146,    97,   101,   118,   146,   149,   149,   212,   151,   151,
     1032     124,   120,   339,   109,   111,   113,   115,   328,   102,   146,
     1033     121,   162,   146,   103,   123,    67,   252,   146,   138,   254,
     1034     163,   164,   146,   211,   256,   146,   116,   117,   125,   270,
     1035     133,   141,   161,   137,   147,   148,   146,   140,   149,   325,
     1036     150,   151,   146,   272,   104,   146,   160,   202,   203,   326,
     1037     105,   167,   354,   106,   149,    96,   257,   151,   169,   135,
     1038     136,   107,   170,   122,   126,   147,   148,   127,   128,   149,
     1039     129,   150,   151,   130,   131,    30,   184,   168,    96,   187,
     1040     191,   171,   108,   190,   174,   176,   177,   178,   179,   180,
     1041     181,   182,   201,   185,   110,   112,   114,   188,   166,   146,
     1042     209,   263,   235,   162,   172,   156,   200,   143,   264,   144,
     1043     205,   143,   216,   144,   206,   143,    97,   144,   143,   192,
     1044     144,   155,   156,   156,   157,   157,   214,   207,   217,   163,
     1045     258,   218,   219,   220,   241,   221,   266,   222,   223,   224,
     1046     225,   226,   227,   228,   229,   259,   260,   233,   261,   147,
     1047     148,   234,   236,   149,   262,   150,   151,   271,   239,   265,
     1048     152,   268,   153,   154,   155,   156,   144,   157,   297,   304,
     1049     158,   159,   306,   315,   316,   301,   152,   213,   153,   154,
     1050     155,   156,   317,   157,   318,   319,   320,   159,   321,   267,
     1051     230,   152,   324,   153,   154,   155,   156,   338,   157,   327,
     1052     342,   158,   159,   350,   341,    98,   231,   351,   134,   353,
     1053       0,   349,   237,     0,     0,   275,     0,     0,     0,     0,
     1054     278,     0,   279,     2,     3,     0,   279,     0,   283,   284,
     1055     285,     4,   286,   295,   287,   288,     5,     6,     7,     8,
     1056       0,     0,     0,     9,     0,   147,   148,     0,     0,   149,
     1057     305,   150,   151,     0,     0,     0,     0,     0,     0,   300,
     1058       0,   302,     0,    10,   147,   148,     0,     0,   149,     0,
     1059     150,   151,     0,     0,     0,   152,     0,   153,   154,   155,
     1060     156,     0,   157,   245,     0,   158,   159,     0,     0,   279,
     1061     246,     0,     0,   332,     0,   333,   334,     0,   335,   147,
     1062     148,     0,     0,   149,     0,   150,   151,     0,   336,   337,
     1063     352,     0,     0,    11,    12,    13,    14,    15,    16,    17,
     1064      18,    19,    20,    21,    22,    23,    24,    25,    26,     0,
     1065      27,    28,    29,    30,     0,    31,    32,    33,    34,    35,
     1066      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
     1067      46,    87,    47,     0,     0,    48,     0,    49,   147,   148,
     1068       0,    50,   149,     0,   150,   151,    51,     0,     0,    52,
     1069       0,   152,     0,   153,   154,   155,   156,     0,   157,   247,
     1070     149,   158,   159,   151,     0,     0,   248,     0,     0,     0,
     1071     152,     0,   153,   154,   155,   156,     0,   157,   250,     0,
     1072     158,   159,   147,   148,     0,   251,   149,     0,   150,   151,
     1073       0,     0,     0,     0,     0,     0,   147,   148,     0,     0,
     1074     149,     0,   150,   151,     0,   152,     0,   153,   154,   155,
     1075     156,     0,   157,   276,     0,   158,   159,   147,   148,     0,
     1076     277,   149,     0,   150,   151,     0,    30,     0,    31,    32,
     1077      33,   147,   148,     0,     0,   149,     0,   150,   151,     0,
     1078       0,     0,     0,    93,     0,   147,   148,     0,     0,   149,
     1079      49,   150,   151,     0,     0,     0,     0,     0,     0,    96,
     1080       0,     0,    52,     0,   152,     0,   153,   154,   155,   156,
     1081       0,   157,   311,     0,   158,   159,   147,   148,     0,   312,
     1082     149,     0,   150,   151,   153,   154,   155,   156,     0,   157,
     1083     147,   148,     0,   159,   149,     0,   150,   151,     0,     0,
     1084       0,     0,     0,     0,     0,     0,     0,     0,   152,     0,
     1085     153,   154,   155,   156,     0,   157,   313,     0,   158,   159,
     1086       0,     0,   152,   314,   153,   154,   155,   156,     0,   157,
     1087       0,     0,   158,   159,   147,   148,     0,   238,   149,     0,
     1088     150,   151,     0,   152,     0,   153,   154,   155,   156,     0,
     1089     157,     0,     0,   158,   159,     0,     0,   152,   240,   153,
     1090     154,   155,   156,     0,   157,     0,     0,   158,   159,     0,
     1091       0,   152,   242,   153,   154,   155,   156,     0,   157,     0,
     1092       0,   158,   159,   147,   148,     0,   253,   149,     0,   150,
     1093     151,     0,     0,     0,     0,     0,     5,     6,   289,   290,
     1094       0,     0,   152,     9,   153,   154,   155,   156,     0,   157,
     1095       0,     0,   158,   159,     0,     0,   152,   255,   153,   154,
     1096     155,   156,     0,   157,     0,     0,   158,   159,   147,   148,
     1097       0,   269,   149,     0,   150,   151,     0,     0,     0,     0,
     1098       0,     0,   147,   148,     0,     0,   149,     0,   150,   151,
     1099       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1100     152,     0,   153,   154,   155,   156,     0,   157,     0,     0,
     1101     158,   159,   147,   148,     0,   296,   149,     0,   150,   151,
     1102       0,   291,   292,   293,   294,     0,   147,   148,     0,     0,
     1103     149,     0,   150,   151,     0,     0,     0,     0,     0,     0,
     1104     147,   148,     0,     0,   149,     0,   150,   151,     0,   152,
     1105       0,   153,   154,   155,   156,     0,   157,     0,     0,   158,
     1106     159,   147,   148,     0,   231,   149,     0,   150,   151,     0,
     1107       0,     0,     0,     0,     0,   147,   148,     0,     0,   149,
     1108       0,   150,   151,     0,     0,     0,     0,     0,     0,     0,
     1109       0,     0,     0,     0,   152,     0,   153,   154,   155,   156,
     1110       0,   157,     0,     0,   158,   159,     0,     0,   152,   307,
     1111     153,   154,   155,   156,     0,   157,     0,     0,   158,   159,
     1112     147,   148,     0,   309,   149,     0,   150,   151,     0,     0,
     1113       0,     0,     0,     0,     0,     0,     0,     0,   152,     0,
     1114     153,   154,   155,   156,     0,   157,     0,     0,   158,   159,
     1115       0,     0,   152,   343,   153,   154,   155,   156,     0,   157,
     1116       0,     0,   158,   159,     0,     0,   152,   344,   153,   154,
     1117     155,   156,     0,   157,     0,     0,   158,   159,     0,     0,
     1118       0,   345,     0,     0,     0,     0,     0,   152,     0,   153,
     1119     154,   155,   156,     0,   157,    87,     0,   158,   159,     0,
     1120       0,   152,   346,   153,   154,   155,   156,     0,   157,     0,
     1121       0,   158,   159,     4,     0,     0,   347,     0,     5,     6,
     1122      87,    88,     0,     0,     0,     9,     0,     0,     0,     0,
     1123       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1124       0,     0,     0,     0,     0,     0,   152,     0,   153,   154,
     1125     155,   156,   273,   157,   274,     0,   158,   159,     0,     0,
     1126       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1127       4,     0,     0,     0,     0,     5,     6,    87,    88,     0,
     1128       0,     0,     9,     0,     0,     0,     0,     0,     0,     0,
     1129      30,     0,    31,    32,    33,    11,    12,    13,    14,    15,
     1130      16,    17,    18,    89,    90,    91,    92,    93,     0,     0,
     1131       0,     0,     0,     0,    49,    30,     0,    31,    32,    33,
     1132       0,     0,     0,   108,    38,    39,    52,     0,     4,     0,
     1133       0,     0,    93,     5,     6,    87,    88,    48,     0,    49,
     1134       9,     0,     0,     0,     0,     0,     0,     0,    51,   183,
     1135       0,    52,    11,    12,    13,    14,    15,    16,    17,    18,
     1136      89,    90,    91,    92,     0,     0,     0,     0,     0,     0,
     1137       0,     0,    30,     0,    31,    32,    33,     0,     0,     0,
     1138       0,    38,    39,     0,     0,     4,     0,     0,     0,    93,
     1139       5,     6,    87,    88,    48,     0,    49,     9,     0,     0,
     1140       0,     0,     0,     0,     0,    51,   186,     0,    52,     0,
     1141      11,    12,    13,    14,    15,    16,    17,    18,    89,    90,
     1142      91,    92,     0,     0,     0,     0,     0,     0,     0,     0,
     1143      30,     0,    31,    32,    33,     0,     0,     0,     0,    38,
     1144      39,     0,     0,     4,     0,     0,     0,    93,     5,     6,
     1145      87,    88,    48,     0,    49,     9,     0,     0,     0,     0,
     1146       0,     0,     0,    51,   189,     0,    52,    11,    12,    13,
     1147      14,    15,    16,    17,    18,    89,    90,    91,    92,     0,
     1148       0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
     1149      32,    33,     0,     0,     0,     0,    38,    39,     0,     0,
     1150       4,     0,     0,     0,    93,     5,     6,    87,    88,    48,
     1151       0,    49,     9,     0,     0,     0,     0,     0,     0,     0,
     1152      51,   208,     0,    52,     0,    11,    12,    13,    14,    15,
     1153      16,    17,    18,    89,    90,    91,    92,     0,     0,     0,
     1154       0,     0,     0,     0,     0,    30,     0,    31,    32,    33,
     1155       0,     0,     0,     0,    38,    39,     0,     0,     4,     0,
     1156       0,     0,    93,     5,     6,   132,    88,    48,     0,    49,
     1157       9,     0,     0,     0,     0,     0,     0,     0,    51,   215,
     1158       0,    52,    11,    12,    13,    14,    15,    16,    17,    18,
     1159      89,    90,    91,    92,     0,     0,     0,     0,     0,     0,
     1160       0,     0,    30,     0,    31,    32,    33,     0,     0,     0,
     1161       0,    38,    39,     0,     0,     4,     0,     0,     0,    93,
     1162       5,     6,    87,    88,    48,     0,    49,     9,     0,     0,
     1163     147,   148,     0,     0,   149,    51,   150,   151,    52,     0,
    10631164      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    1064       21,    22,    23,    24,    25,     0,    26,    27,    28,    29,
    1065        0,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    1066       39,    40,    41,    42,    43,    44,    45,     0,    46,     0,
    1067        0,    47,     0,    48,   150,   151,     0,    49,   152,     0,
    1068      153,   154,    50,     0,     0,    51,   155,     0,   156,   157,
    1069      158,   159,     0,   160,   255,     0,   161,   162,   150,   151,
    1070        0,   256,   152,     0,   153,   154,     0,   155,     0,   156,
    1071      157,   158,   159,     0,   160,     0,     0,   155,   162,   156,
    1072      157,   158,   159,   152,   160,   257,   154,   161,   162,   150,
    1073      151,     0,   258,   152,     0,   153,   154,     0,     0,   158,
    1074      159,     0,   160,     0,   155,     0,   156,   157,   158,   159,
    1075        0,   160,   260,     0,   161,   162,   150,   151,     0,   261,
    1076      152,     0,   153,   154,     0,     0,     0,     0,     0,     0,
    1077      150,   151,     0,     0,   152,     0,   153,   154,     0,     0,
    1078        0,     0,     0,     0,   150,   151,     0,     0,   152,     0,
    1079      153,   154,     0,     0,     0,     0,     0,     0,     0,   155,
    1080        0,   156,   157,   158,   159,     0,   160,   326,     0,   161,
    1081      162,   150,   151,     0,   327,   152,     0,   153,   154,     0,
    1082        0,     0,     0,   155,     0,   156,   157,   158,   159,     0,
    1083      160,   328,     0,   161,   162,   150,   151,     0,   329,   152,
    1084        0,   153,   154,     0,     0,     0,   156,   157,   158,   159,
    1085        0,   160,     0,     0,   155,   162,   156,   157,   158,   159,
    1086        0,   160,     0,     0,   161,   162,   150,   151,     0,   245,
    1087      152,     0,   153,   154,     0,     0,     0,     0,     0,     0,
    1088        0,   155,     0,   156,   157,   158,   159,     0,   160,     0,
    1089        0,   161,   162,     0,     0,   155,   247,   156,   157,   158,
    1090      159,     0,   160,     0,     0,   161,   162,     0,     0,   155,
    1091      252,   156,   157,   158,   159,     0,   160,     0,     0,   161,
    1092      162,   150,   151,     0,   263,   152,     0,   153,   154,     0,
    1093        0,     0,     0,     0,     0,     0,   155,     0,   156,   157,
    1094      158,   159,     0,   160,     0,     0,   161,   162,   150,   151,
    1095        0,   265,   152,     0,   153,   154,     0,     0,     0,     0,
    1096      155,     0,   156,   157,   158,   159,     0,   160,     0,     0,
    1097      161,   162,   150,   151,     0,   280,   152,     0,   153,   154,
     1165      21,    22,   147,   148,     0,     0,   149,     0,   150,   151,
     1166      30,     0,    31,    32,    33,     0,     0,   147,   148,    38,
     1167      39,   149,     0,   150,   151,     0,     0,    93,     0,   147,
     1168     148,     0,    48,   149,    49,   150,   151,     0,     0,     0,
     1169       0,     0,     0,    51,     0,     0,    52,    11,    12,    13,
     1170      14,    15,    16,    17,    18,    89,    90,    91,    92,   147,
     1171     148,     0,     0,   149,     0,   150,   151,    30,     0,    31,
     1172      32,    33,     0,     0,   147,   148,    38,    39,   149,     0,
     1173     150,   151,    87,     0,    93,     0,   147,   148,     0,    48,
     1174     149,    49,   150,   151,     0,     0,     0,     0,   147,   148,
     1175     173,     0,   149,    52,   150,   151,   152,     0,   153,   154,
     1176     155,   156,     0,   157,   243,     0,   158,   159,   147,   148,
     1177       0,     0,   149,     0,   150,   151,     0,     0,   152,     0,
     1178     153,   154,   155,   156,     0,   157,   244,     0,   158,   159,
     1179       0,     0,     0,   152,     0,   153,   154,   155,   156,     0,
     1180     157,   249,     0,   158,   159,   152,     0,   153,   154,   155,
     1181     156,     0,   157,   281,     0,   158,   159,   147,   148,     0,
     1182       0,   149,     0,   150,   151,     0,     0,    30,     0,    31,
     1183      32,    33,    87,     0,     0,   152,     0,   153,   154,   155,
     1184     156,   303,   157,     0,    93,   158,   159,     0,     0,     0,
     1185     152,    49,   153,   154,   155,   156,     0,   157,   308,     0,
     1186     158,   159,   152,    52,   153,   154,   155,   156,     0,   157,
     1187     310,    87,   158,   159,   152,     0,   153,   154,   155,   156,
     1188     322,   157,   147,   148,   158,   159,   149,     0,   150,   151,
     1189       0,     0,     0,     0,   152,     0,   153,   154,   155,   156,
     1190       0,   157,   323,     0,   158,   159,    -1,   148,     0,     0,
     1191     149,     0,   150,   151,     0,     0,     0,     0,     0,   148,
     1192       0,     0,   149,     0,   150,   151,     0,    30,     0,    31,
     1193      32,    33,     0,     0,     0,     0,     0,     0,     0,     0,
     1194       0,     0,     0,   152,    93,   153,   154,   155,   156,   348,
     1195     157,    49,     0,   158,   159,    87,     0,     0,     0,     0,
     1196     110,     0,     0,    52,     0,    87,    30,     0,    31,    32,
     1197      33,     5,     6,   193,   194,     0,     0,     0,     9,     0,
     1198       0,     0,     0,    93,     0,     0,     0,     0,     0,     0,
     1199      49,     0,     0,     0,     0,     0,     0,     0,     0,   112,
     1200       0,     0,    52,     0,     0,     0,     0,     0,   152,     0,
     1201     153,   154,   155,   156,     0,   157,     0,     0,   158,   159,
    10981202       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1099        0,   155,     0,   156,   157,   158,   159,     0,   160,     0,
    1100        0,   161,   162,   150,   151,     0,   309,   152,     0,   153,
    1101      154,     0,     0,     0,     0,     0,     0,   150,   151,     0,
    1102        0,   152,     0,   153,   154,     0,     0,     0,     0,     0,
    1103        0,   150,   151,     0,     0,   152,     0,   153,   154,     0,
    1104        0,     0,     0,     0,     0,     0,   155,     0,   156,   157,
    1105      158,   159,     0,   160,     0,     0,   161,   162,   150,   151,
    1106        0,   237,   152,     0,   153,   154,     0,     0,     0,     0,
    1107        0,     0,     0,   155,     0,   156,   157,   158,   159,     0,
    1108      160,     0,     0,   161,   162,   150,   151,     0,   322,   152,
    1109        0,   153,   154,     0,     0,     0,     0,   155,     0,   156,
    1110      157,   158,   159,     0,   160,     0,     0,   161,   162,   150,
    1111      151,     0,   324,   152,     0,   153,   154,     0,     0,     0,
    1112        0,     0,     0,     0,     0,     0,     0,     0,   155,     0,
    1113      156,   157,   158,   159,     0,   160,     0,     0,   161,   162,
    1114        0,     0,   155,   355,   156,   157,   158,   159,     0,   160,
    1115        0,     0,   161,   162,     0,     0,   155,   361,   156,   157,
    1116      158,   159,     0,   160,     0,     0,   161,   162,     0,     4,
    1117        0,   363,     0,     0,    85,    86,    87,     0,     0,     0,
    1118       88,     0,     0,   155,     0,   156,   157,   158,   159,     0,
    1119      160,     0,     0,   161,   162,   150,   151,     0,   364,   152,
    1120        0,   153,   154,     0,     0,     0,     0,     0,     0,     0,
    1121      155,     0,   156,   157,   158,   159,     0,   160,     0,     0,
    1122      161,   162,     0,     0,     0,   365,     0,     0,     0,     0,
    1123        0,     0,     0,     0,   155,     0,   156,   157,   158,   159,
    1124        0,   160,     0,     0,   161,   162,     0,     0,     0,   366,
    1125       10,    11,    12,    13,    14,    15,    16,    17,    89,    90,
    1126       91,    92,     0,     0,     0,     0,     0,     0,     0,     0,
    1127       29,     4,    30,    31,    32,     0,    85,    86,    87,    37,
    1128       38,     0,    88,     0,     0,     0,     0,    93,     0,     0,
    1129        0,     0,    47,     0,    48,     0,     0,     0,     0,     0,
    1130        0,     0,     0,    50,   188,     0,    51,     0,     0,     0,
    1131        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1132      155,     0,   156,   157,   158,   159,   290,   160,     4,     0,
    1133      161,   162,     0,    85,    86,    87,     0,     0,     0,    88,
    1134        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1135        0,     0,    10,    11,    12,    13,    14,    15,    16,    17,
    1136       89,    90,    91,    92,     0,     0,     0,     0,     0,     0,
    1137        0,     0,    29,     0,    30,    31,    32,     0,     0,     0,
    1138        0,    37,    38,     0,     0,     0,     4,     0,     0,    93,
    1139        0,    85,    86,    87,    47,     0,    48,    88,     0,     0,
    1140        0,     0,     0,     0,     0,    50,   191,     0,    51,    10,
    1141       11,    12,    13,    14,    15,    16,    17,    89,    90,    91,
    1142       92,     0,     0,     0,     0,     0,     0,     0,     0,    29,
    1143        0,    30,    31,    32,     0,     0,     0,     0,    37,    38,
    1144        0,     0,     0,     4,     0,     0,    93,     0,    85,    86,
    1145       87,    47,     0,    48,    88,     0,     0,     0,     0,     0,
    1146        0,     0,    50,   194,     0,    51,     0,    10,    11,    12,
    1147       13,    14,    15,    16,    17,    89,    90,    91,    92,     0,
    1148        0,     0,     0,     0,     0,     0,     0,    29,     0,    30,
    1149       31,    32,     0,     0,     0,     0,    37,    38,     0,     0,
    1150        0,     4,     0,     0,    93,     0,    85,    86,    87,    47,
    1151        0,    48,    88,     0,     0,     0,     0,     0,     0,     0,
    1152       50,   214,     0,    51,    10,    11,    12,    13,    14,    15,
    1153       16,    17,    89,    90,    91,    92,     0,     0,     0,     0,
    1154        0,     0,     0,     0,    29,     0,    30,    31,    32,     0,
    1155        0,     0,     0,    37,    38,     0,     0,     0,     4,     0,
    1156        0,    93,     0,     5,   135,    87,    47,     0,    48,     8,
    1157        0,     0,     0,     0,     0,     0,     0,    50,   221,     0,
    1158       51,     0,    10,    11,    12,    13,    14,    15,    16,    17,
    1159       89,    90,    91,    92,     0,     0,     0,     0,     0,     0,
    1160        0,     0,    29,     0,    30,    31,    32,     0,     0,     0,
    1161        0,    37,    38,     0,     0,     0,     4,     0,     0,    93,
    1162        0,    85,    86,    87,    47,     0,    48,    88,     0,     0,
    1163      150,   151,     0,     0,   152,    50,   153,   154,    51,    10,
    1164       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    1165       21,   150,   151,     0,     0,   152,     0,   153,   154,    29,
    1166        0,    30,    31,    32,     0,     0,   150,   151,    37,    38,
    1167      152,     0,   153,   154,     0,     0,    93,     0,   150,   151,
    1168        0,    47,   152,    48,   153,   154,     0,     0,     0,     0,
    1169        0,     0,    50,     0,     0,    51,     0,    10,    11,    12,
    1170       13,    14,    15,    16,    17,    89,    90,    91,    92,   150,
    1171      151,     0,     0,   152,     0,   153,   154,    29,     0,    30,
    1172       31,    32,     0,     0,   150,   151,    37,    38,   152,     0,
    1173      153,   154,     0,     0,    93,     0,   150,   151,     0,    47,
    1174      152,    48,   153,   154,     0,     0,     0,     0,     0,     0,
    1175      176,     0,     0,    51,     0,   155,     0,   156,   157,   158,
    1176      159,   284,   160,   285,     0,   161,   162,   150,   151,     0,
    1177        0,   152,     0,   153,   154,     0,   155,     0,   156,   157,
    1178      158,   159,     0,   160,   253,     0,   161,   162,     0,     0,
    1179        0,   155,     0,   156,   157,   158,   159,     0,   160,   254,
    1180        0,   161,   162,   155,     0,   156,   157,   158,   159,     0,
    1181      160,   259,     0,   161,   162,   150,   151,     0,     0,   152,
    1182        0,   153,   154,     0,     0,     0,     0,     0,     0,     0,
    1183        0,     0,     0,     0,   155,     0,   156,   157,   158,   159,
    1184        0,   160,   291,     0,   161,   162,     0,     0,     0,   155,
    1185        0,   156,   157,   158,   159,   294,   160,     0,     0,   161,
    1186      162,   155,     0,   156,   157,   158,   159,     0,   160,   316,
    1187        0,   161,   162,   150,   151,     0,     0,   152,     0,   153,
    1188      154,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1189        0,     0,   155,     0,   156,   157,   158,   159,     0,   160,
    1190      320,     0,   161,   162,   150,   151,     0,     0,   152,     0,
    1191      153,   154,     0,     0,     0,     0,   150,   151,    86,     0,
    1192      152,     0,   153,   154,     0,     0,     0,     0,   150,   151,
    1193        0,     0,   152,     0,   153,   154,     0,     0,     0,     0,
    1194      155,     0,   156,   157,   158,   159,     0,   160,   323,     0,
    1195      161,   162,   150,   151,     0,     0,   152,     0,   153,   154,
    1196        0,     0,     0,     0,    -1,   151,     0,     0,   152,     0,
    1197      153,   154,     0,     0,     0,     0,     0,   151,     0,     0,
    1198      152,     0,   153,   154,     0,     0,     0,     0,     0,     0,
    1199        0,     0,     0,     0,     0,     0,     0,     0,   155,     0,
    1200      156,   157,   158,   159,     0,   160,   325,     0,   161,   162,
    1201        0,     0,    86,    29,     0,    30,    31,    32,     0,     0,
    1202        0,     0,     0,     0,     0,     0,     0,     0,     0,   155,
    1203       93,   156,   157,   158,   159,   338,   160,    48,     0,   161,
    1204      162,   155,     0,   156,   157,   158,   159,   356,   160,    51,
    1205        0,   161,   162,   155,     0,   156,   157,   158,   159,   362,
    1206      160,    86,     0,   161,   162,   198,   199,   200,     0,     0,
    1207        0,   201,    86,     0,     0,     0,     0,   155,     0,   156,
    1208      157,   158,   159,     0,   160,     0,     0,   161,   162,   155,
    1209        0,   156,   157,   158,   159,     0,   160,     0,     0,   161,
    1210      162,   155,     0,   156,   157,   158,   159,    29,   160,    30,
    1211       31,    32,   162,    86,     0,     0,     0,     0,    86,     0,
    1212        0,     0,     0,    86,    93,     0,     0,     0,     0,     0,
    1213        0,    48,     0,     0,     0,     0,     0,     0,     0,     0,
    1214       95,    86,     0,    51,     0,     0,     0,     0,     0,   202,
    1215      203,   204,   205,     0,     0,     0,    29,     0,    30,    31,
    1216       32,    29,     0,    30,    31,    32,     0,    29,     0,    30,
    1217       31,    32,     0,    93,     0,     0,     0,     0,    93,     0,
    1218       48,     0,     0,     0,    93,    48,     0,     0,     0,    97,
    1219        0,    48,    51,     0,     0,   206,     0,    51,     0,     0,
    1220      101,     0,     0,    51,     0,     0,     0,     0,    29,     0,
    1221       30,    31,    32,    29,     0,    30,    31,    32,    29,     0,
    1222       30,    31,    32,     0,     0,    93,     0,     0,     0,     0,
    1223       93,     0,    48,     0,     0,    93,    29,    48,    30,    31,
    1224       32,   111,    48,     0,    51,     0,   113,     0,     0,    51,
    1225        0,   115,     0,    93,    51,     0,     0,     0,     0,     0,
    1226       48,     0,     0,     0,     0,     0,     0,     0,     0,   117,
    1227        0,     0,    51
     1203       0,     0,   152,     0,   153,   154,   155,   156,     0,   157,
     1204       0,     0,   158,   159,   152,     0,   153,   154,   155,   156,
     1205      30,   157,    31,    32,    33,   159,   195,   196,   197,   198,
     1206      30,     0,    31,    32,    33,     0,     0,    93,    30,     0,
     1207      31,    32,    33,     0,    49,     0,     0,    93,     0,     0,
     1208       0,     0,     0,   114,    49,    93,    52,     0,     0,     0,
     1209       0,     0,    49,   166,     0,     0,    52,     0,     0,     0,
     1210       0,     0,   199,     0,    52
    12281211};
    12291212
    1230 static const short int yycheck[] =
     1213static const yytype_int16 yycheck[] =
    12311214{
    1232        1,   241,   112,    11,     7,   109,   344,    10,   248,   134,
    1233      137,   136,     3,     4,   127,   109,     7,     7,     9,    10,
    1234       10,   142,    23,   136,     4,   142,     5,     6,    11,     8,
    1235      368,   136,   142,   137,    11,   127,   136,   110,   143,    18,
    1236       19,    20,    21,   143,   136,   137,    25,    48,    28,   136,
    1237      136,   136,   136,   136,   142,   136,   143,   143,   143,   143,
    1238      143,    62,   143,   110,    44,   142,    11,    47,   115,   109,
    1239      110,    51,   109,   110,   142,   315,   142,     3,     4,   142,
    1240       60,     7,   142,     9,    10,   142,   143,    45,    46,    11,
    1241      142,   142,   142,    72,   142,    75,     3,     4,   109,   142,
    1242        7,   142,     9,    10,   109,   109,   137,   136,   142,   110,
    1243      142,   110,   113,   136,   142,    95,   117,    97,   142,   127,
    1244      100,   101,   142,   103,   104,   105,   106,   107,   108,   109,
    1245      133,   111,   135,   134,   142,   115,   144,   128,   109,   130,
    1246      131,   132,   133,   133,   135,   146,   125,   138,   139,   142,
    1247      142,   137,   132,   136,   145,   137,   135,   110,   136,   142,
    1248      143,   144,   136,   110,   137,   142,   145,   144,   147,   149,
    1249      150,   151,   109,   153,   143,   155,   156,   157,   158,   159,
    1250      160,   161,   162,   143,   143,     3,     4,   166,   133,     7,
    1251      169,     9,    10,   173,   143,   143,   176,   142,   144,   144,
    1252      180,   127,   128,   143,   130,   131,   132,   133,   143,   135,
    1253      110,   133,   138,   139,   133,   136,   136,   143,   133,   143,
    1254      142,   128,   144,   130,   131,   132,   133,   143,   135,   136,
    1255      210,   138,   139,   143,   143,   143,   143,   143,   143,   143,
    1256      136,   112,   143,   142,   136,   143,    13,    14,    15,     6,
    1257      286,    44,    19,   368,    -1,   354,   236,   170,    -1,    -1,
    1258       -1,   241,   242,    -1,    -1,    -1,    -1,    -1,   248,   249,
    1259        0,     1,    -1,   253,   254,   255,    -1,   257,     8,   259,
    1260      260,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,    19,
    1261      291,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
    1262       -1,    -1,    -1,    -1,    -1,   285,    -1,    -1,    -1,    39,
    1263      128,    -1,   130,   131,   132,   133,     7,   135,   136,    10,
    1264      138,   139,     3,     4,    -1,   143,     7,    -1,     9,    10,
    1265       97,    98,    99,   100,    -1,   315,   316,   317,    -1,    -1,
    1266      320,   321,    -1,   323,     7,   325,   326,    10,   328,     3,
    1267        4,    -1,    -1,     7,    -1,     9,    10,    -1,   359,    89,
     1215       1,     1,   237,   110,   138,    11,   241,   113,     7,    11,
     1216     328,    10,   111,    11,   143,   128,    11,   116,   143,     4,
     1217     137,     7,   143,    24,   137,     7,     7,   144,    10,    10,
     1218     110,   138,   350,    19,    20,    21,    22,   143,   143,   137,
     1219      26,   128,   137,   143,    29,    45,   144,   137,    49,   144,
     1220     137,   138,   137,   135,   144,   137,   110,   111,   111,   144,
     1221      45,   138,    63,    48,     3,     4,   137,    52,     7,   304,
     1222       9,    10,   137,   144,   143,   137,    61,   110,   111,   144,
     1223     143,    67,   144,   143,     7,   143,   144,    10,    74,    46,
     1224      47,   143,    77,   143,   143,     3,     4,   143,   110,     7,
     1225     143,     9,    10,   110,   143,   110,   107,   137,   143,   110,
     1226     138,    96,   143,   114,    99,   100,   101,   102,   103,   104,
     1227     105,   106,   122,   108,   143,   143,   143,   112,   143,   137,
     1228     131,   137,   134,   128,   111,   134,   122,   143,   144,   145,
     1229     110,   143,   143,   145,   129,   143,   132,   145,   143,   138,
     1230     145,   133,   134,   134,   136,   136,   142,   111,   144,   137,
     1231     144,   146,   147,   148,   137,   150,   111,   152,   153,   154,
     1232     155,   156,   157,   158,   159,   144,   144,   163,   144,     3,
     1233       4,   166,   168,     7,   144,     9,    10,   138,   173,   144,
     1234     129,   110,   131,   132,   133,   134,   145,   136,   111,   137,
     1235     139,   140,   137,   144,   144,   275,   129,   146,   131,   132,
     1236     133,   134,   144,   136,   144,   144,   144,   140,   144,   204,
     1237     128,   129,   134,   131,   132,   133,   134,   137,   136,   113,
     1238     144,   139,   140,   137,   143,     7,   144,   144,    45,   350,
     1239      -1,   338,   169,    -1,    -1,   230,    -1,    -1,    -1,    -1,
     1240     235,    -1,   237,     0,     1,    -1,   241,    -1,   243,   244,
     1241     245,     8,   247,   263,   249,   250,    13,    14,    15,    16,
     1242      -1,    -1,    -1,    20,    -1,     3,     4,    -1,    -1,     7,
     1243     281,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,   274,
     1244      -1,   276,    -1,    40,     3,     4,    -1,    -1,     7,    -1,
     1245       9,    10,    -1,    -1,    -1,   129,    -1,   131,   132,   133,
     1246     134,    -1,   136,   137,    -1,   139,   140,    -1,    -1,   304,
     1247     144,    -1,    -1,   308,    -1,   310,   311,    -1,   313,     3,
     1248       4,    -1,    -1,     7,    -1,     9,    10,    -1,   323,   324,
     1249     341,    -1,    -1,    90,    91,    92,    93,    94,    95,    96,
     1250      97,    98,    99,   100,   101,   102,   103,   104,   105,    -1,
     1251     107,   108,   109,   110,    -1,   112,   113,   114,   115,   116,
     1252     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
     1253     127,    15,   129,    -1,    -1,   132,    -1,   134,     3,     4,
     1254      -1,   138,     7,    -1,     9,    10,   143,    -1,    -1,   146,
     1255      -1,   129,    -1,   131,   132,   133,   134,    -1,   136,   137,
     1256       7,   139,   140,    10,    -1,    -1,   144,    -1,    -1,    -1,
     1257     129,    -1,   131,   132,   133,   134,    -1,   136,   137,    -1,
     1258     139,   140,     3,     4,    -1,   144,     7,    -1,     9,    10,
     1259      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
     1260       7,    -1,     9,    10,    -1,   129,    -1,   131,   132,   133,
     1261     134,    -1,   136,   137,    -1,   139,   140,     3,     4,    -1,
     1262     144,     7,    -1,     9,    10,    -1,   110,    -1,   112,   113,
     1263     114,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
     1264      -1,    -1,    -1,   127,    -1,     3,     4,    -1,    -1,     7,
     1265     134,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,   143,
     1266      -1,    -1,   146,    -1,   129,    -1,   131,   132,   133,   134,
     1267      -1,   136,   137,    -1,   139,   140,     3,     4,    -1,   144,
     1268       7,    -1,     9,    10,   131,   132,   133,   134,    -1,   136,
     1269       3,     4,    -1,   140,     7,    -1,     9,    10,    -1,    -1,
     1270      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,    -1,
     1271     131,   132,   133,   134,    -1,   136,   137,    -1,   139,   140,
     1272      -1,    -1,   129,   144,   131,   132,   133,   134,    -1,   136,
     1273      -1,    -1,   139,   140,     3,     4,    -1,   144,     7,    -1,
     1274       9,    10,    -1,   129,    -1,   131,   132,   133,   134,    -1,
     1275     136,    -1,    -1,   139,   140,    -1,    -1,   129,   144,   131,
     1276     132,   133,   134,    -1,   136,    -1,    -1,   139,   140,    -1,
     1277      -1,   129,   144,   131,   132,   133,   134,    -1,   136,    -1,
     1278      -1,   139,   140,     3,     4,    -1,   144,     7,    -1,     9,
     1279      10,    -1,    -1,    -1,    -1,    -1,    13,    14,    15,    16,
     1280      -1,    -1,   129,    20,   131,   132,   133,   134,    -1,   136,
     1281      -1,    -1,   139,   140,    -1,    -1,   129,   144,   131,   132,
     1282     133,   134,    -1,   136,    -1,    -1,   139,   140,     3,     4,
     1283      -1,   144,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
     1284      -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,
     1285      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1286     129,    -1,   131,   132,   133,   134,    -1,   136,    -1,    -1,
     1287     139,   140,     3,     4,    -1,   144,     7,    -1,     9,    10,
     1288      -1,    98,    99,   100,   101,    -1,     3,     4,    -1,    -1,
     1289       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
     1290       3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,   129,
     1291      -1,   131,   132,   133,   134,    -1,   136,    -1,    -1,   139,
     1292     140,     3,     4,    -1,   144,     7,    -1,     9,    10,    -1,
     1293      -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
     1294      -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1295      -1,    -1,    -1,    -1,   129,    -1,   131,   132,   133,   134,
     1296      -1,   136,    -1,    -1,   139,   140,    -1,    -1,   129,   144,
     1297     131,   132,   133,   134,    -1,   136,    -1,    -1,   139,   140,
     1298       3,     4,    -1,   144,     7,    -1,     9,    10,    -1,    -1,
     1299      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,    -1,
     1300     131,   132,   133,   134,    -1,   136,    -1,    -1,   139,   140,
     1301      -1,    -1,   129,   144,   131,   132,   133,   134,    -1,   136,
     1302      -1,    -1,   139,   140,    -1,    -1,   129,   144,   131,   132,
     1303     133,   134,    -1,   136,    -1,    -1,   139,   140,    -1,    -1,
     1304      -1,   144,    -1,    -1,    -1,    -1,    -1,   129,    -1,   131,
     1305     132,   133,   134,    -1,   136,    15,    -1,   139,   140,    -1,
     1306      -1,   129,   144,   131,   132,   133,   134,    -1,   136,    -1,
     1307      -1,   139,   140,     8,    -1,    -1,   144,    -1,    13,    14,
     1308      15,    16,    -1,    -1,    -1,    20,    -1,    -1,    -1,    -1,
     1309      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1310      -1,    -1,    -1,    -1,    -1,    -1,   129,    -1,   131,   132,
     1311     133,   134,   135,   136,   137,    -1,   139,   140,    -1,    -1,
     1312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1313       8,    -1,    -1,    -1,    -1,    13,    14,    15,    16,    -1,
     1314      -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1315     110,    -1,   112,   113,   114,    90,    91,    92,    93,    94,
     1316      95,    96,    97,    98,    99,   100,   101,   127,    -1,    -1,
     1317      -1,    -1,    -1,    -1,   134,   110,    -1,   112,   113,   114,
     1318      -1,    -1,    -1,   143,   119,   120,   146,    -1,     8,    -1,
     1319      -1,    -1,   127,    13,    14,    15,    16,   132,    -1,   134,
     1320      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,   144,
     1321      -1,   146,    90,    91,    92,    93,    94,    95,    96,    97,
     1322      98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     1323      -1,    -1,   110,    -1,   112,   113,   114,    -1,    -1,    -1,
     1324      -1,   119,   120,    -1,    -1,     8,    -1,    -1,    -1,   127,
     1325      13,    14,    15,    16,   132,    -1,   134,    20,    -1,    -1,
     1326      -1,    -1,    -1,    -1,    -1,   143,   144,    -1,   146,    -1,
    12681327      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    1269      100,   101,   102,   103,   104,    -1,   106,   107,   108,   109,
    1270       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
    1271      120,   121,   122,   123,   124,   125,   126,    -1,   128,    -1,
    1272       -1,   131,    -1,   133,     3,     4,    -1,   137,     7,    -1,
    1273        9,    10,   142,    -1,    -1,   145,   128,    -1,   130,   131,
    1274      132,   133,    -1,   135,   136,    -1,   138,   139,     3,     4,
    1275       -1,   143,     7,    -1,     9,    10,    -1,   128,    -1,   130,
    1276      131,   132,   133,    -1,   135,    -1,    -1,   128,   139,   130,
    1277      131,   132,   133,     7,   135,   136,    10,   138,   139,     3,
    1278        4,    -1,   143,     7,    -1,     9,    10,    -1,    -1,   132,
    1279      133,    -1,   135,    -1,   128,    -1,   130,   131,   132,   133,
    1280       -1,   135,   136,    -1,   138,   139,     3,     4,    -1,   143,
    1281        7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1282        3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,
    1283       -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
    1284        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
    1285       -1,   130,   131,   132,   133,    -1,   135,   136,    -1,   138,
    1286      139,     3,     4,    -1,   143,     7,    -1,     9,    10,    -1,
    1287       -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,    -1,
    1288      135,   136,    -1,   138,   139,     3,     4,    -1,   143,     7,
    1289       -1,     9,    10,    -1,    -1,    -1,   130,   131,   132,   133,
    1290       -1,   135,    -1,    -1,   128,   139,   130,   131,   132,   133,
    1291       -1,   135,    -1,    -1,   138,   139,     3,     4,    -1,   143,
    1292        7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1293       -1,   128,    -1,   130,   131,   132,   133,    -1,   135,    -1,
    1294       -1,   138,   139,    -1,    -1,   128,   143,   130,   131,   132,
    1295      133,    -1,   135,    -1,    -1,   138,   139,    -1,    -1,   128,
    1296      143,   130,   131,   132,   133,    -1,   135,    -1,    -1,   138,
    1297      139,     3,     4,    -1,   143,     7,    -1,     9,    10,    -1,
    1298       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
    1299      132,   133,    -1,   135,    -1,    -1,   138,   139,     3,     4,
    1300       -1,   143,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    1301      128,    -1,   130,   131,   132,   133,    -1,   135,    -1,    -1,
    1302      138,   139,     3,     4,    -1,   143,     7,    -1,     9,    10,
     1328     100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1329     110,    -1,   112,   113,   114,    -1,    -1,    -1,    -1,   119,
     1330     120,    -1,    -1,     8,    -1,    -1,    -1,   127,    13,    14,
     1331      15,    16,   132,    -1,   134,    20,    -1,    -1,    -1,    -1,
     1332      -1,    -1,    -1,   143,   144,    -1,   146,    90,    91,    92,
     1333      93,    94,    95,    96,    97,    98,    99,   100,   101,    -1,
     1334      -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,   112,
     1335     113,   114,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,
     1336       8,    -1,    -1,    -1,   127,    13,    14,    15,    16,   132,
     1337      -1,   134,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1338     143,   144,    -1,   146,    -1,    90,    91,    92,    93,    94,
     1339      95,    96,    97,    98,    99,   100,   101,    -1,    -1,    -1,
     1340      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,   113,   114,
     1341      -1,    -1,    -1,    -1,   119,   120,    -1,    -1,     8,    -1,
     1342      -1,    -1,   127,    13,    14,    15,    16,   132,    -1,   134,
     1343      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,   144,
     1344      -1,   146,    90,    91,    92,    93,    94,    95,    96,    97,
     1345      98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     1346      -1,    -1,   110,    -1,   112,   113,   114,    -1,    -1,    -1,
     1347      -1,   119,   120,    -1,    -1,     8,    -1,    -1,    -1,   127,
     1348      13,    14,    15,    16,   132,    -1,   134,    20,    -1,    -1,
     1349       3,     4,    -1,    -1,     7,   143,     9,    10,   146,    -1,
     1350      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     1351     100,   101,     3,     4,    -1,    -1,     7,    -1,     9,    10,
     1352     110,    -1,   112,   113,   114,    -1,    -1,     3,     4,   119,
     1353     120,     7,    -1,     9,    10,    -1,    -1,   127,    -1,     3,
     1354       4,    -1,   132,     7,   134,     9,    10,    -1,    -1,    -1,
     1355      -1,    -1,    -1,   143,    -1,    -1,   146,    90,    91,    92,
     1356      93,    94,    95,    96,    97,    98,    99,   100,   101,     3,
     1357       4,    -1,    -1,     7,    -1,     9,    10,   110,    -1,   112,
     1358     113,   114,    -1,    -1,     3,     4,   119,   120,     7,    -1,
     1359       9,    10,    15,    -1,   127,    -1,     3,     4,    -1,   132,
     1360       7,   134,     9,    10,    -1,    -1,    -1,    -1,     3,     4,
     1361     143,    -1,     7,   146,     9,    10,   129,    -1,   131,   132,
     1362     133,   134,    -1,   136,   137,    -1,   139,   140,     3,     4,
     1363      -1,    -1,     7,    -1,     9,    10,    -1,    -1,   129,    -1,
     1364     131,   132,   133,   134,    -1,   136,   137,    -1,   139,   140,
     1365      -1,    -1,    -1,   129,    -1,   131,   132,   133,   134,    -1,
     1366     136,   137,    -1,   139,   140,   129,    -1,   131,   132,   133,
     1367     134,    -1,   136,   137,    -1,   139,   140,     3,     4,    -1,
     1368      -1,     7,    -1,     9,    10,    -1,    -1,   110,    -1,   112,
     1369     113,   114,    15,    -1,    -1,   129,    -1,   131,   132,   133,
     1370     134,   135,   136,    -1,   127,   139,   140,    -1,    -1,    -1,
     1371     129,   134,   131,   132,   133,   134,    -1,   136,   137,    -1,
     1372     139,   140,   129,   146,   131,   132,   133,   134,    -1,   136,
     1373     137,    15,   139,   140,   129,    -1,   131,   132,   133,   134,
     1374     135,   136,     3,     4,   139,   140,     7,    -1,     9,    10,
     1375      -1,    -1,    -1,    -1,   129,    -1,   131,   132,   133,   134,
     1376      -1,   136,   137,    -1,   139,   140,     3,     4,    -1,    -1,
     1377       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,     4,
     1378      -1,    -1,     7,    -1,     9,    10,    -1,   110,    -1,   112,
     1379     113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1380      -1,    -1,    -1,   129,   127,   131,   132,   133,   134,   135,
     1381     136,   134,    -1,   139,   140,    15,    -1,    -1,    -1,    -1,
     1382     143,    -1,    -1,   146,    -1,    15,   110,    -1,   112,   113,
     1383     114,    13,    14,    15,    16,    -1,    -1,    -1,    20,    -1,
     1384      -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,
     1385     134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,
     1386      -1,    -1,   146,    -1,    -1,    -1,    -1,    -1,   129,    -1,
     1387     131,   132,   133,   134,    -1,   136,    -1,    -1,   139,   140,
    13031388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1304       -1,   128,    -1,   130,   131,   132,   133,    -1,   135,    -1,
    1305       -1,   138,   139,     3,     4,    -1,   143,     7,    -1,     9,
    1306       10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
    1307       -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
    1308       -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
    1309       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
    1310      132,   133,    -1,   135,    -1,    -1,   138,   139,     3,     4,
    1311       -1,   143,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    1312       -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,    -1,
    1313      135,    -1,    -1,   138,   139,     3,     4,    -1,   143,     7,
    1314       -1,     9,    10,    -1,    -1,    -1,    -1,   128,    -1,   130,
    1315      131,   132,   133,    -1,   135,    -1,    -1,   138,   139,     3,
    1316        4,    -1,   143,     7,    -1,     9,    10,    -1,    -1,    -1,
    1317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
    1318      130,   131,   132,   133,    -1,   135,    -1,    -1,   138,   139,
    1319       -1,    -1,   128,   143,   130,   131,   132,   133,    -1,   135,
    1320       -1,    -1,   138,   139,    -1,    -1,   128,   143,   130,   131,
    1321      132,   133,    -1,   135,    -1,    -1,   138,   139,    -1,     8,
    1322       -1,   143,    -1,    -1,    13,    14,    15,    -1,    -1,    -1,
    1323       19,    -1,    -1,   128,    -1,   130,   131,   132,   133,    -1,
    1324      135,    -1,    -1,   138,   139,     3,     4,    -1,   143,     7,
    1325       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1326      128,    -1,   130,   131,   132,   133,    -1,   135,    -1,    -1,
    1327      138,   139,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
    1328       -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
    1329       -1,   135,    -1,    -1,   138,   139,    -1,    -1,    -1,   143,
    1330       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
    1331       99,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1332      109,     8,   111,   112,   113,    -1,    13,    14,    15,   118,
    1333      119,    -1,    19,    -1,    -1,    -1,    -1,   126,    -1,    -1,
    1334       -1,    -1,   131,    -1,   133,    -1,    -1,    -1,    -1,    -1,
    1335       -1,    -1,    -1,   142,   143,    -1,   145,    -1,    -1,    -1,
    1336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1337      128,    -1,   130,   131,   132,   133,   134,   135,     8,    -1,
    1338      138,   139,    -1,    13,    14,    15,    -1,    -1,    -1,    19,
    1339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1340       -1,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
    1341       97,    98,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
    1342       -1,    -1,   109,    -1,   111,   112,   113,    -1,    -1,    -1,
    1343       -1,   118,   119,    -1,    -1,    -1,     8,    -1,    -1,   126,
    1344       -1,    13,    14,    15,   131,    -1,   133,    19,    -1,    -1,
    1345       -1,    -1,    -1,    -1,    -1,   142,   143,    -1,   145,    89,
    1346       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    1347      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    1348       -1,   111,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
    1349       -1,    -1,    -1,     8,    -1,    -1,   126,    -1,    13,    14,
    1350       15,   131,    -1,   133,    19,    -1,    -1,    -1,    -1,    -1,
    1351       -1,    -1,   142,   143,    -1,   145,    -1,    89,    90,    91,
    1352       92,    93,    94,    95,    96,    97,    98,    99,   100,    -1,
    1353       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    1354      112,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,
    1355       -1,     8,    -1,    -1,   126,    -1,    13,    14,    15,   131,
    1356       -1,   133,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1357      142,   143,    -1,   145,    89,    90,    91,    92,    93,    94,
    1358       95,    96,    97,    98,    99,   100,    -1,    -1,    -1,    -1,
    1359       -1,    -1,    -1,    -1,   109,    -1,   111,   112,   113,    -1,
    1360       -1,    -1,    -1,   118,   119,    -1,    -1,    -1,     8,    -1,
    1361       -1,   126,    -1,    13,    14,    15,   131,    -1,   133,    19,
    1362       -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,   143,    -1,
    1363      145,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
    1364       97,    98,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
    1365       -1,    -1,   109,    -1,   111,   112,   113,    -1,    -1,    -1,
    1366       -1,   118,   119,    -1,    -1,    -1,     8,    -1,    -1,   126,
    1367       -1,    13,    14,    15,   131,    -1,   133,    19,    -1,    -1,
    1368        3,     4,    -1,    -1,     7,   142,     9,    10,   145,    89,
    1369       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    1370      100,     3,     4,    -1,    -1,     7,    -1,     9,    10,   109,
    1371       -1,   111,   112,   113,    -1,    -1,     3,     4,   118,   119,
    1372        7,    -1,     9,    10,    -1,    -1,   126,    -1,     3,     4,
    1373       -1,   131,     7,   133,     9,    10,    -1,    -1,    -1,    -1,
    1374       -1,    -1,   142,    -1,    -1,   145,    -1,    89,    90,    91,
    1375       92,    93,    94,    95,    96,    97,    98,    99,   100,     3,
    1376        4,    -1,    -1,     7,    -1,     9,    10,   109,    -1,   111,
    1377      112,   113,    -1,    -1,     3,     4,   118,   119,     7,    -1,
    1378        9,    10,    -1,    -1,   126,    -1,     3,     4,    -1,   131,
    1379        7,   133,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1380      142,    -1,    -1,   145,    -1,   128,    -1,   130,   131,   132,
    1381      133,   134,   135,   136,    -1,   138,   139,     3,     4,    -1,
    1382       -1,     7,    -1,     9,    10,    -1,   128,    -1,   130,   131,
    1383      132,   133,    -1,   135,   136,    -1,   138,   139,    -1,    -1,
    1384       -1,   128,    -1,   130,   131,   132,   133,    -1,   135,   136,
    1385       -1,   138,   139,   128,    -1,   130,   131,   132,   133,    -1,
    1386      135,   136,    -1,   138,   139,     3,     4,    -1,    -1,     7,
    1387       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1388       -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
    1389       -1,   135,   136,    -1,   138,   139,    -1,    -1,    -1,   128,
    1390       -1,   130,   131,   132,   133,   134,   135,    -1,    -1,   138,
    1391      139,   128,    -1,   130,   131,   132,   133,    -1,   135,   136,
    1392       -1,   138,   139,     3,     4,    -1,    -1,     7,    -1,     9,
    1393       10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1394       -1,    -1,   128,    -1,   130,   131,   132,   133,    -1,   135,
    1395      136,    -1,   138,   139,     3,     4,    -1,    -1,     7,    -1,
    1396        9,    10,    -1,    -1,    -1,    -1,     3,     4,    14,    -1,
    1397        7,    -1,     9,    10,    -1,    -1,    -1,    -1,     3,     4,
    1398       -1,    -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    1399      128,    -1,   130,   131,   132,   133,    -1,   135,   136,    -1,
    1400      138,   139,     3,     4,    -1,    -1,     7,    -1,     9,    10,
    1401       -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,
    1402        9,    10,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,
    1403        7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
    1405      130,   131,   132,   133,    -1,   135,   136,    -1,   138,   139,
    1406       -1,    -1,    14,   109,    -1,   111,   112,   113,    -1,    -1,
    1407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
    1408      126,   130,   131,   132,   133,   134,   135,   133,    -1,   138,
    1409      139,   128,    -1,   130,   131,   132,   133,   134,   135,   145,
    1410       -1,   138,   139,   128,    -1,   130,   131,   132,   133,   134,
    1411      135,    14,    -1,   138,   139,    13,    14,    15,    -1,    -1,
    1412       -1,    19,    14,    -1,    -1,    -1,    -1,   128,    -1,   130,
    1413      131,   132,   133,    -1,   135,    -1,    -1,   138,   139,   128,
    1414       -1,   130,   131,   132,   133,    -1,   135,    -1,    -1,   138,
    1415      139,   128,    -1,   130,   131,   132,   133,   109,   135,   111,
    1416      112,   113,   139,    14,    -1,    -1,    -1,    -1,    14,    -1,
    1417       -1,    -1,    -1,    14,   126,    -1,    -1,    -1,    -1,    -1,
    1418       -1,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1419      142,    14,    -1,   145,    -1,    -1,    -1,    -1,    -1,    97,
    1420       98,    99,   100,    -1,    -1,    -1,   109,    -1,   111,   112,
    1421      113,   109,    -1,   111,   112,   113,    -1,   109,    -1,   111,
    1422      112,   113,    -1,   126,    -1,    -1,    -1,    -1,   126,    -1,
    1423      133,    -1,    -1,    -1,   126,   133,    -1,    -1,    -1,   142,
    1424       -1,   133,   145,    -1,    -1,   143,    -1,   145,    -1,    -1,
    1425      142,    -1,    -1,   145,    -1,    -1,    -1,    -1,   109,    -1,
    1426      111,   112,   113,   109,    -1,   111,   112,   113,   109,    -1,
    1427      111,   112,   113,    -1,    -1,   126,    -1,    -1,    -1,    -1,
    1428      126,    -1,   133,    -1,    -1,   126,   109,   133,   111,   112,
    1429      113,   142,   133,    -1,   145,    -1,   142,    -1,    -1,   145,
    1430       -1,   142,    -1,   126,   145,    -1,    -1,    -1,    -1,    -1,
    1431      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,
    1432       -1,    -1,   145
     1389      -1,    -1,   129,    -1,   131,   132,   133,   134,    -1,   136,
     1390      -1,    -1,   139,   140,   129,    -1,   131,   132,   133,   134,
     1391     110,   136,   112,   113,   114,   140,    98,    99,   100,   101,
     1392     110,    -1,   112,   113,   114,    -1,    -1,   127,   110,    -1,
     1393     112,   113,   114,    -1,   134,    -1,    -1,   127,    -1,    -1,
     1394      -1,    -1,    -1,   143,   134,   127,   146,    -1,    -1,    -1,
     1395      -1,    -1,   134,   143,    -1,    -1,   146,    -1,    -1,    -1,
     1396      -1,    -1,   144,    -1,   146
    14331397};
    14341398
    14351399/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    14361400   symbol of state STATE-NUM.  */
    1437 static const unsigned char yystos[] =
     1401static const yytype_uint8 yystos[] =
    14381402{
    1439        0,   147,     0,     1,     8,    13,    14,    15,    19,    39,
    1440       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
    1441       99,   100,   101,   102,   103,   104,   106,   107,   108,   109,
    1442      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
    1443      121,   122,   123,   124,   125,   126,   128,   131,   133,   137,
    1444      142,   145,   148,   149,   150,   151,   152,   153,   154,   155,
    1445      157,   159,   160,   161,   162,   163,   170,   172,   173,   174,
     1403       0,   148,     0,     1,     8,    13,    14,    15,    16,    20,
     1404      40,    90,    91,    92,    93,    94,    95,    96,    97,    98,
     1405      99,   100,   101,   102,   103,   104,   105,   107,   108,   109,
     1406     110,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     1407     121,   122,   123,   124,   125,   126,   127,   129,   132,   134,
     1408     138,   143,   146,   149,   150,   151,   152,   153,   154,   155,
     1409     156,   158,   160,   161,   162,   163,   164,   171,   172,   174,
    14461410     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    1447      185,   186,   187,   188,   137,    13,    14,    15,    19,    97,
    1448       98,    99,   100,   126,   155,   142,   153,   142,   153,   161,
    1449      142,   142,   153,   142,   142,   142,   142,   142,   142,   142,
    1450      142,   142,   153,   142,   153,   142,   153,   142,   153,   109,
    1451      110,   154,   109,   137,   153,   142,   155,   109,   110,   142,
    1452      142,   109,   142,   109,   142,    14,   155,   162,   163,   163,
    1453      155,   154,   154,   155,   137,    11,   142,   144,   127,   136,
    1454        3,     4,     7,     9,    10,   128,   130,   131,   132,   133,
    1455      135,   138,   139,   155,   154,   127,   136,   137,   169,   136,
    1456      153,   155,   155,   133,   155,   110,   142,   155,   164,   155,
    1457      133,   155,   155,   155,   155,   155,   155,   155,   143,   154,
    1458      155,   143,   154,   155,   143,   154,   137,   137,    13,    14,
    1459       15,    19,    97,    98,    99,   100,   143,   153,   109,   110,
    1460      156,   109,   155,   110,   143,   154,   171,   134,   143,   145,
    1461      153,   143,   154,   153,   155,   155,   155,   155,   155,   155,
    1462      155,   155,   155,   155,   155,   155,   127,   143,   158,   153,
    1463      153,   169,   136,   143,   155,   143,   155,   143,   136,   136,
    1464      143,   155,   143,   136,   136,   136,   143,   136,   143,   136,
    1465      136,   143,   143,   143,   143,   143,   143,   143,   143,   143,
    1466      143,   143,   143,   143,   143,   136,   143,   110,   155,   109,
    1467      143,   143,   137,   143,   134,   136,   155,   155,   164,   155,
    1468      134,   136,   164,   155,   134,   155,   155,   155,   155,   155,
    1469      155,    13,    14,    15,    19,    97,    98,    99,   100,   143,
    1470      110,   110,   115,   155,   158,   136,   136,   133,   154,   136,
    1471      136,   133,   143,   136,   143,   136,   136,   143,   136,   143,
    1472      143,   143,   143,   143,   143,   143,   143,   143,   134,   164,
    1473      155,   155,   143,   112,   142,   165,   166,   168,   155,   155,
    1474      155,   155,   155,   155,   136,   143,   134,   166,   167,   142,
    1475      143,   143,   134,   143,   143,   143,   143,   168,   136,   143,
    1476      154,   167,   143
     1411     185,   186,   187,   188,   189,   190,   138,    15,    16,    98,
     1412      99,   100,   101,   127,   156,   171,   143,   154,   162,   143,
     1413     143,   143,   143,   143,   143,   143,   143,   143,   143,   154,
     1414     143,   154,   143,   154,   143,   154,   110,   111,   155,   110,
     1415     138,   154,   143,   156,   110,   111,   143,   143,   110,   143,
     1416     110,   143,    15,   156,   163,   164,   164,   156,   155,   155,
     1417     156,   138,    11,   143,   145,   128,   137,     3,     4,     7,
     1418       9,    10,   129,   131,   132,   133,   134,   136,   139,   140,
     1419     156,   155,   128,   137,   138,   170,   143,   154,   137,   154,
     1420     156,   156,   111,   143,   156,   165,   156,   156,   156,   156,
     1421     156,   156,   156,   144,   155,   156,   144,   155,   156,   144,
     1422     155,   138,   138,    15,    16,    98,    99,   100,   101,   144,
     1423     154,   171,   110,   111,   157,   110,   156,   111,   144,   155,
     1424     173,   135,   144,   146,   154,   144,   155,   154,   156,   156,
     1425     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
     1426     128,   144,   159,   154,   156,   134,   154,   170,   144,   156,
     1427     144,   137,   144,   137,   137,   137,   144,   137,   144,   137,
     1428     137,   144,   144,   144,   144,   144,   144,   144,   144,   144,
     1429     144,   144,   144,   137,   144,   144,   111,   156,   110,   144,
     1430     144,   138,   144,   135,   137,   156,   137,   144,   156,   156,
     1431     165,   137,   165,   156,   156,   156,   156,   156,   156,    15,
     1432      16,    98,    99,   100,   101,   171,   144,   111,   111,   116,
     1433     156,   159,   156,   135,   137,   155,   137,   144,   137,   144,
     1434     137,   137,   144,   137,   144,   144,   144,   144,   144,   144,
     1435     144,   144,   135,   137,   134,   165,   144,   113,   143,   166,
     1436     167,   169,   156,   156,   156,   156,   156,   156,   137,   167,
     1437     168,   143,   144,   144,   144,   144,   144,   144,   135,   169,
     1438     137,   144,   155,   168,   144
    14771439};
    1478 
    1479 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    1480 # define YYSIZE_T __SIZE_TYPE__
    1481 #endif
    1482 #if ! defined (YYSIZE_T) && defined (size_t)
    1483 # define YYSIZE_T size_t
    1484 #endif
    1485 #if ! defined (YYSIZE_T)
    1486 # if defined (__STDC__) || defined (__cplusplus)
    1487 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1488 #  define YYSIZE_T size_t
    1489 # endif
    1490 #endif
    1491 #if ! defined (YYSIZE_T)
    1492 # define YYSIZE_T unsigned int
    1493 #endif
    14941440
    14951441#define yyerrok         (yyerrstatus = 0)
     
    15051451/* Like YYERROR except do call yyerror.  This remains here temporarily
    15061452   to ease the transition to the new meaning of YYERROR, for GCC.
    1507    Once GCC version 2 has supplanted version 1, this can go.  */
     1453   Once GCC version 2 has supplanted version 1, this can go.  However,
     1454   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
     1455   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
     1456   discussed.  */
    15081457
    15091458#define YYFAIL          goto yyerrlab
     1459#if defined YYFAIL
     1460  /* This is here to suppress warnings from the GCC cpp's
     1461     -Wunused-macros.  Normally we don't worry about that warning, but
     1462     some users do, and we want to make it easy for users to remove
     1463     YYFAIL uses, which will produce warnings from Bison 2.5.  */
     1464#endif
    15101465
    15111466#define YYRECOVERING()  (!!yyerrstatus)
     
    15181473      yylval = (Value);                                         \
    15191474      yytoken = YYTRANSLATE (yychar);                           \
    1520       YYPOPSTACK;                                               \
     1475      YYPOPSTACK (1);                                           \
    15211476      goto yybackup;                                            \
    15221477    }                                                           \
    15231478  else                                                          \
    1524     {                                                           \
    1525       yyerror ("syntax error: cannot back up");\
     1479    {                                                           \
     1480      yyerror (YY_("syntax error: cannot back up")); \
    15261481      YYERROR;                                                  \
    15271482    }                                                           \
    1528 while (0)
     1483while (YYID (0))
     1484
    15291485
    15301486#define YYTERROR        1
    15311487#define YYERRCODE       256
    15321488
    1533 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
    1534    are run).  */
    1535 
     1489
     1490/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
     1491   If N is 0, then set CURRENT to the empty location which ends
     1492   the previous symbol: RHS[0] (always defined).  */
     1493
     1494#define YYRHSLOC(Rhs, K) ((Rhs)[K])
    15361495#ifndef YYLLOC_DEFAULT
    1537 # define YYLLOC_DEFAULT(Current, Rhs, N)                \
    1538    ((Current).first_line   = (Rhs)[1].first_line,       \
    1539     (Current).first_column = (Rhs)[1].first_column,     \
    1540     (Current).last_line    = (Rhs)[N].last_line,        \
    1541     (Current).last_column  = (Rhs)[N].last_column)
    1542 #endif
     1496# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
     1497    do                                                                  \
     1498      if (YYID (N))                                                    \
     1499        {                                                               \
     1500          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
     1501          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
     1502          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
     1503          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
     1504        }                                                               \
     1505      else                                                              \
     1506        {                                                               \
     1507          (Current).first_line   = (Current).last_line   =              \
     1508            YYRHSLOC (Rhs, 0).last_line;                                \
     1509          (Current).first_column = (Current).last_column =              \
     1510            YYRHSLOC (Rhs, 0).last_column;                              \
     1511        }                                                               \
     1512    while (YYID (0))
     1513#endif
     1514
     1515
     1516/* YY_LOCATION_PRINT -- Print the location on the stream.
     1517   This macro was not mandated originally: define only if we know
     1518   we won't break user code: when these are the locations we know.  */
     1519
     1520#ifndef YY_LOCATION_PRINT
     1521# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
     1522#  define YY_LOCATION_PRINT(File, Loc)                  \
     1523     fprintf (File, "%d.%d-%d.%d",                      \
     1524              (Loc).first_line, (Loc).first_column,     \
     1525              (Loc).last_line,  (Loc).last_column)
     1526# else
     1527#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
     1528# endif
     1529#endif
     1530
    15431531
    15441532/* YYLEX -- calling `yylex' with the right arguments.  */
     
    15621550  if (yydebug)                                  \
    15631551    YYFPRINTF Args;                             \
    1564 } while (0)
    1565 
    1566 # define YYDSYMPRINT(Args)                      \
    1567 do {                                            \
    1568   if (yydebug)                                  \
    1569     yysymprint Args;                            \
    1570 } while (0)
    1571 
    1572 # define YYDSYMPRINTF(Title, Token, Value, Location)            \
    1573 do {                                                            \
    1574   if (yydebug)                                                  \
    1575     {                                                           \
    1576       YYFPRINTF (stderr, "%s ", Title);                         \
    1577       yysymprint (stderr,                                       \
    1578                   Token, Value);        \
    1579       YYFPRINTF (stderr, "\n");                                 \
    1580     }                                                           \
    1581 } while (0)
     1552} while (YYID (0))
     1553
     1554# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
     1555do {                                                                      \
     1556  if (yydebug)                                                            \
     1557    {                                                                     \
     1558      YYFPRINTF (stderr, "%s ", Title);                                   \
     1559      yy_symbol_print (stderr,                                            \
     1560                  Type, Value); \
     1561      YYFPRINTF (stderr, "\n");                                           \
     1562    }                                                                     \
     1563} while (YYID (0))
     1564
     1565
     1566/*--------------------------------.
     1567| Print this symbol on YYOUTPUT.  |
     1568`--------------------------------*/
     1569
     1570/*ARGSUSED*/
     1571#if (defined __STDC__ || defined __C99__FUNC__ \
     1572     || defined __cplusplus || defined _MSC_VER)
     1573static void
     1574yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
     1575#else
     1576static void
     1577yy_symbol_value_print (yyoutput, yytype, yyvaluep)
     1578    FILE *yyoutput;
     1579    int yytype;
     1580    YYSTYPE const * const yyvaluep;
     1581#endif
     1582{
     1583  if (!yyvaluep)
     1584    return;
     1585# ifdef YYPRINT
     1586  if (yytype < YYNTOKENS)
     1587    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
     1588# else
     1589  YYUSE (yyoutput);
     1590# endif
     1591  switch (yytype)
     1592    {
     1593      default:
     1594        break;
     1595    }
     1596}
     1597
     1598
     1599/*--------------------------------.
     1600| Print this symbol on YYOUTPUT.  |
     1601`--------------------------------*/
     1602
     1603#if (defined __STDC__ || defined __C99__FUNC__ \
     1604     || defined __cplusplus || defined _MSC_VER)
     1605static void
     1606yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
     1607#else
     1608static void
     1609yy_symbol_print (yyoutput, yytype, yyvaluep)
     1610    FILE *yyoutput;
     1611    int yytype;
     1612    YYSTYPE const * const yyvaluep;
     1613#endif
     1614{
     1615  if (yytype < YYNTOKENS)
     1616    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
     1617  else
     1618    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
     1619
     1620  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
     1621  YYFPRINTF (yyoutput, ")");
     1622}
    15821623
    15831624/*------------------------------------------------------------------.
     
    15861627`------------------------------------------------------------------*/
    15871628
    1588 #if defined (__STDC__) || defined (__cplusplus)
     1629#if (defined __STDC__ || defined __C99__FUNC__ \
     1630     || defined __cplusplus || defined _MSC_VER)
    15891631static void
    1590 yy_stack_print (short int *bottom, short int *top)
     1632yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    15911633#else
    15921634static void
    1593 yy_stack_print (bottom, top)
    1594     short int *bottom;
    1595     short int *top;
     1635yy_stack_print (yybottom, yytop)
     1636    yytype_int16 *yybottom;
     1637    yytype_int16 *yytop;
    15961638#endif
    15971639{
    15981640  YYFPRINTF (stderr, "Stack now");
    1599   for (/* Nothing. */; bottom <= top; ++bottom)
    1600     YYFPRINTF (stderr, " %d", *bottom);
     1641  for (; yybottom <= yytop; yybottom++)
     1642    {
     1643      int yybot = *yybottom;
     1644      YYFPRINTF (stderr, " %d", yybot);
     1645    }
    16011646  YYFPRINTF (stderr, "\n");
    16021647}
     
    16061651  if (yydebug)                                                  \
    16071652    yy_stack_print ((Bottom), (Top));                           \
    1608 } while (0)
     1653} while (YYID (0))
    16091654
    16101655
     
    16131658`------------------------------------------------*/
    16141659
    1615 #if defined (__STDC__) || defined (__cplusplus)
     1660#if (defined __STDC__ || defined __C99__FUNC__ \
     1661     || defined __cplusplus || defined _MSC_VER)
    16161662static void
    1617 yy_reduce_print (int yyrule)
     1663yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    16181664#else
    16191665static void
    1620 yy_reduce_print (yyrule)
     1666yy_reduce_print (yyvsp, yyrule)
     1667    YYSTYPE *yyvsp;
    16211668    int yyrule;
    16221669#endif
    16231670{
     1671  int yynrhs = yyr2[yyrule];
    16241672  int yyi;
    1625   unsigned int yylno = yyrline[yyrule];
    1626   YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
    1627              yyrule - 1, yylno);
    1628   /* Print the symbols being reduced, and their result.  */
    1629   for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    1630     YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
    1631   YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
     1673  unsigned long int yylno = yyrline[yyrule];
     1674  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
     1675             yyrule - 1, yylno);
     1676  /* The symbols being reduced.  */
     1677  for (yyi = 0; yyi < yynrhs; yyi++)
     1678    {
     1679      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
     1680      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
     1681                       &(yyvsp[(yyi + 1) - (yynrhs)])
     1682                                       );
     1683      YYFPRINTF (stderr, "\n");
     1684    }
    16321685}
    16331686
     
    16351688do {                                    \
    16361689  if (yydebug)                          \
    1637     yy_reduce_print (Rule);             \
    1638 } while (0)
     1690    yy_reduce_print (yyvsp, Rule); \
     1691} while (YYID (0))
    16391692
    16401693/* Nonzero means print parse trace.  It is left uninitialized so that
     
    16431696#else /* !YYDEBUG */
    16441697# define YYDPRINTF(Args)
    1645 # define YYDSYMPRINT(Args)
    1646 # define YYDSYMPRINTF(Title, Token, Value, Location)
     1698# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    16471699# define YY_STACK_PRINT(Bottom, Top)
    16481700# define YY_REDUCE_PRINT(Rule)
     
    16591711
    16601712   Do not make this value too large; the results are undefined if
    1661    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
     1713   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    16621714   evaluated with infinite-precision integer arithmetic.  */
    1663 
    1664 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
    1665 # undef YYMAXDEPTH
    1666 #endif
    16671715
    16681716#ifndef YYMAXDEPTH
     
    16761724
    16771725# ifndef yystrlen
    1678 #  if defined (__GLIBC__) && defined (_STRING_H)
     1726#  if defined __GLIBC__ && defined _STRING_H
    16791727#   define yystrlen strlen
    16801728#  else
    16811729/* Return the length of YYSTR.  */
     1730#if (defined __STDC__ || defined __C99__FUNC__ \
     1731     || defined __cplusplus || defined _MSC_VER)
    16821732static YYSIZE_T
    1683 #   if defined (__STDC__) || defined (__cplusplus)
    16841733yystrlen (const char *yystr)
    1685 #   else
     1734#else
     1735static YYSIZE_T
    16861736yystrlen (yystr)
    1687      const char *yystr;
    1688 #   endif
     1737    const char *yystr;
     1738#endif
    16891739{
    1690   register const char *yys = yystr;
    1691 
    1692   while (*yys++ != '\0')
     1740  YYSIZE_T yylen;
     1741  for (yylen = 0; yystr[yylen]; yylen++)
    16931742    continue;
    1694 
    1695   return yys - yystr - 1;
     1743  return yylen;
    16961744}
    16971745#  endif
     
    16991747
    17001748# ifndef yystpcpy
    1701 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
     1749#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
    17021750#   define yystpcpy stpcpy
    17031751#  else
    17041752/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    17051753   YYDEST.  */
     1754#if (defined __STDC__ || defined __C99__FUNC__ \
     1755     || defined __cplusplus || defined _MSC_VER)
    17061756static char *
    1707 #   if defined (__STDC__) || defined (__cplusplus)
    17081757yystpcpy (char *yydest, const char *yysrc)
    1709 #   else
     1758#else
     1759static char *
    17101760yystpcpy (yydest, yysrc)
    1711      char *yydest;
    1712      const char *yysrc;
    1713 #   endif
     1761    char *yydest;
     1762    const char *yysrc;
     1763#endif
    17141764{
    1715   register char *yyd = yydest;
    1716   register const char *yys = yysrc;
     1765  char *yyd = yydest;
     1766  const char *yys = yysrc;
    17171767
    17181768  while ((*yyd++ = *yys++) != '\0')
     
    17241774# endif
    17251775
    1726 #endif /* !YYERROR_VERBOSE */
    1727 
    1728 
    1729 
    1730 
    1731 #if YYDEBUG
    1732 /*--------------------------------.
    1733 | Print this symbol on YYOUTPUT.  |
    1734 `--------------------------------*/
    1735 
    1736 #if defined (__STDC__) || defined (__cplusplus)
    1737 static void
    1738 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
    1739 #else
    1740 static void
    1741 yysymprint (yyoutput, yytype, yyvaluep)
    1742     FILE *yyoutput;
    1743     int yytype;
    1744     YYSTYPE *yyvaluep;
    1745 #endif
     1776# ifndef yytnamerr
     1777/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
     1778   quotes and backslashes, so that it's suitable for yyerror.  The
     1779   heuristic is that double-quoting is unnecessary unless the string
     1780   contains an apostrophe, a comma, or backslash (other than
     1781   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
     1782   null, do not copy; instead, return the length of what the result
     1783   would have been.  */
     1784static YYSIZE_T
     1785yytnamerr (char *yyres, const char *yystr)
    17461786{
    1747   /* Pacify ``unused variable'' warnings.  */
    1748   (void) yyvaluep;
    1749 
    1750   if (yytype < YYNTOKENS)
    1751     {
    1752       YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    1753 # ifdef YYPRINT
    1754       YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
     1787  if (*yystr == '"')
     1788    {
     1789      YYSIZE_T yyn = 0;
     1790      char const *yyp = yystr;
     1791
     1792      for (;;)
     1793        switch (*++yyp)
     1794          {
     1795          case '\'':
     1796          case ',':
     1797            goto do_not_strip_quotes;
     1798
     1799          case '\\':
     1800            if (*++yyp != '\\')
     1801              goto do_not_strip_quotes;
     1802            /* Fall through.  */
     1803          default:
     1804            if (yyres)
     1805              yyres[yyn] = *yyp;
     1806            yyn++;
     1807            break;
     1808
     1809          case '"':
     1810            if (yyres)
     1811              yyres[yyn] = '\0';
     1812            return yyn;
     1813          }
     1814    do_not_strip_quotes: ;
     1815    }
     1816
     1817  if (! yyres)
     1818    return yystrlen (yystr);
     1819
     1820  return yystpcpy (yyres, yystr) - yyres;
     1821}
    17551822# endif
     1823
     1824/* Copy into YYRESULT an error message about the unexpected token
     1825   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
     1826   including the terminating null byte.  If YYRESULT is null, do not
     1827   copy anything; just return the number of bytes that would be
     1828   copied.  As a special case, return 0 if an ordinary "syntax error"
     1829   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
     1830   size calculation.  */
     1831static YYSIZE_T
     1832yysyntax_error (char *yyresult, int yystate, int yychar)
     1833{
     1834  int yyn = yypact[yystate];
     1835
     1836  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
     1837    return 0;
     1838  else
     1839    {
     1840      int yytype = YYTRANSLATE (yychar);
     1841      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
     1842      YYSIZE_T yysize = yysize0;
     1843      YYSIZE_T yysize1;
     1844      int yysize_overflow = 0;
     1845      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
     1846      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
     1847      int yyx;
     1848
     1849# if 0
     1850      /* This is so xgettext sees the translatable formats that are
     1851         constructed on the fly.  */
     1852      YY_("syntax error, unexpected %s");
     1853      YY_("syntax error, unexpected %s, expecting %s");
     1854      YY_("syntax error, unexpected %s, expecting %s or %s");
     1855      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
     1856      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
     1857# endif
     1858      char *yyfmt;
     1859      char const *yyf;
     1860      static char const yyunexpected[] = "syntax error, unexpected %s";
     1861      static char const yyexpecting[] = ", expecting %s";
     1862      static char const yyor[] = " or %s";
     1863      char yyformat[sizeof yyunexpected
     1864                    + sizeof yyexpecting - 1
     1865                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
     1866                       * (sizeof yyor - 1))];
     1867      char const *yyprefix = yyexpecting;
     1868
     1869      /* Start YYX at -YYN if negative to avoid negative indexes in
     1870         YYCHECK.  */
     1871      int yyxbegin = yyn < 0 ? -yyn : 0;
     1872
     1873      /* Stay within bounds of both yycheck and yytname.  */
     1874      int yychecklim = YYLAST - yyn + 1;
     1875      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
     1876      int yycount = 1;
     1877
     1878      yyarg[0] = yytname[yytype];
     1879      yyfmt = yystpcpy (yyformat, yyunexpected);
     1880
     1881      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
     1882        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
     1883          {
     1884            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
     1885              {
     1886                yycount = 1;
     1887                yysize = yysize0;
     1888                yyformat[sizeof yyunexpected - 1] = '\0';
     1889                break;
     1890              }
     1891            yyarg[yycount++] = yytname[yyx];
     1892            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
     1893            yysize_overflow |= (yysize1 < yysize);
     1894            yysize = yysize1;
     1895            yyfmt = yystpcpy (yyfmt, yyprefix);
     1896            yyprefix = yyor;
     1897          }
     1898
     1899      yyf = YY_(yyformat);
     1900      yysize1 = yysize + yystrlen (yyf);
     1901      yysize_overflow |= (yysize1 < yysize);
     1902      yysize = yysize1;
     1903
     1904      if (yysize_overflow)
     1905        return YYSIZE_MAXIMUM;
     1906
     1907      if (yyresult)
     1908        {
     1909          /* Avoid sprintf, as that infringes on the user's name space.
     1910             Don't have undefined behavior even if the translation
     1911             produced a string with the wrong number of "%s"s.  */
     1912          char *yyp = yyresult;
     1913          int yyi = 0;
     1914          while ((*yyp = *yyf) != '\0')
     1915            {
     1916              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
     1917                {
     1918                  yyp += yytnamerr (yyp, yyarg[yyi++]);
     1919                  yyf += 2;
     1920                }
     1921              else
     1922                {
     1923                  yyp++;
     1924                  yyf++;
     1925                }
     1926            }
     1927        }
     1928      return yysize;
    17561929    }
    1757   else
    1758     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    1759 
    1760   switch (yytype)
    1761     {
    1762       default:
    1763         break;
    1764     }
    1765   YYFPRINTF (yyoutput, ")");
    17661930}
    1767 
    1768 #endif /* ! YYDEBUG */
     1931#endif /* YYERROR_VERBOSE */
     1932
     1933
     1934
    17691935/*-----------------------------------------------.
    17701936| Release the memory associated to this symbol.  |
    17711937`-----------------------------------------------*/
    17721938
    1773 #if defined (__STDC__) || defined (__cplusplus)
     1939/*ARGSUSED*/
     1940#if (defined __STDC__ || defined __C99__FUNC__ \
     1941     || defined __cplusplus || defined _MSC_VER)
    17741942static void
    1775 yydestruct (int yytype, YYSTYPE *yyvaluep)
     1943yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    17761944#else
    17771945static void
    1778 yydestruct (yytype, yyvaluep)
     1946yydestruct (yymsg, yytype, yyvaluep)
     1947    const char *yymsg;
    17791948    int yytype;
    17801949    YYSTYPE *yyvaluep;
    17811950#endif
    17821951{
    1783   /* Pacify ``unused variable'' warnings.  */
    1784   (void) yyvaluep;
     1952  YYUSE (yyvaluep);
     1953
     1954  if (!yymsg)
     1955    yymsg = "Deleting";
     1956  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    17851957
    17861958  switch (yytype)
     
    17881960
    17891961      default:
    1790         break;
     1962        break;
    17911963    }
    17921964}
    17931965
    1794 
    1795 
    17961966/* Prevent warnings from -Wmissing-prototypes.  */
    1797 
    17981967#ifdef YYPARSE_PARAM
    1799 # if defined (__STDC__) || defined (__cplusplus)
     1968#if defined __STDC__ || defined __cplusplus
    18001969int yyparse (void *YYPARSE_PARAM);
    1801 # else
     1970#else
    18021971int yyparse ();
    1803 # endif
     1972#endif
    18041973#else /* ! YYPARSE_PARAM */
    1805 #if defined (__STDC__) || defined (__cplusplus)
     1974#if defined __STDC__ || defined __cplusplus
    18061975int yyparse (void);
    18071976#else
     
    18141983
    18151984
    1816 
    1817 /*----------.
    1818 | yyparse.  |
    1819 `----------*/
     1985/*-------------------------.
     1986| yyparse or yypush_parse.  |
     1987`-------------------------*/
    18201988
    18211989#ifdef YYPARSE_PARAM
    1822 # if defined (__STDC__) || defined (__cplusplus)
    1823 int yyparse (void *YYPARSE_PARAM)
    1824 # else
    1825 int yyparse (YYPARSE_PARAM)
    1826   void *YYPARSE_PARAM;
    1827 # endif
     1990#if (defined __STDC__ || defined __C99__FUNC__ \
     1991     || defined __cplusplus || defined _MSC_VER)
     1992int
     1993yyparse (void *YYPARSE_PARAM)
     1994#else
     1995int
     1996yyparse (YYPARSE_PARAM)
     1997    void *YYPARSE_PARAM;
     1998#endif
    18281999#else /* ! YYPARSE_PARAM */
    1829 #if defined (__STDC__) || defined (__cplusplus)
     2000#if (defined __STDC__ || defined __C99__FUNC__ \
     2001     || defined __cplusplus || defined _MSC_VER)
    18302002int
    18312003yyparse (void)
     
    18372009#endif
    18382010{
    1839   /* The lookahead symbol.  */
     2011/* The lookahead symbol.  */
    18402012int yychar;
    18412013
     
    18432015YYSTYPE yylval;
    18442016
    1845 /* Number of syntax errors so far.  */
    1846 int yynerrs;
    1847 
    1848   register int yystate;
    1849   register int yyn;
     2017    /* Number of syntax errors so far.  */
     2018    int yynerrs;
     2019
     2020    int yystate;
     2021    /* Number of tokens to shift before error messages enabled.  */
     2022    int yyerrstatus;
     2023
     2024    /* The stacks and their tools:
     2025       `yyss': related to states.
     2026       `yyvs': related to semantic values.
     2027
     2028       Refer to the stacks thru separate pointers, to allow yyoverflow
     2029       to reallocate them elsewhere.  */
     2030
     2031    /* The state stack.  */
     2032    yytype_int16 yyssa[YYINITDEPTH];
     2033    yytype_int16 *yyss;
     2034    yytype_int16 *yyssp;
     2035
     2036    /* The semantic value stack.  */
     2037    YYSTYPE yyvsa[YYINITDEPTH];
     2038    YYSTYPE *yyvs;
     2039    YYSTYPE *yyvsp;
     2040
     2041    YYSIZE_T yystacksize;
     2042
     2043  int yyn;
    18502044  int yyresult;
    1851   /* Number of tokens to shift before error messages enabled.  */
    1852   int yyerrstatus;
    18532045  /* Lookahead token as an internal (translated) token number.  */
    1854   int yytoken = 0;
    1855 
    1856   /* Three stacks and their tools:
    1857      `yyss': related to states,
    1858      `yyvs': related to semantic values,
    1859      `yyls': related to locations.
    1860 
    1861      Refer to the stacks thru separate pointers, to allow yyoverflow
    1862      to reallocate them elsewhere.  */
    1863 
    1864   /* The state stack.  */
    1865   short int yyssa[YYINITDEPTH];
    1866   short int *yyss = yyssa;
    1867   register short int *yyssp;
    1868 
    1869   /* The semantic value stack.  */
    1870   YYSTYPE yyvsa[YYINITDEPTH];
    1871   YYSTYPE *yyvs = yyvsa;
    1872   register YYSTYPE *yyvsp;
    1873 
    1874 
    1875 
    1876 #define YYPOPSTACK   (yyvsp--, yyssp--)
    1877 
    1878   YYSIZE_T yystacksize = YYINITDEPTH;
    1879 
     2046  int yytoken;
    18802047  /* The variables used to return semantic value and location from the
    18812048     action routines.  */
    18822049  YYSTYPE yyval;
    18832050
    1884 
    1885   /* When reducing, the number of symbols on the RHS of the reduced
    1886      rule.  */
    1887   int yylen;
     2051#if YYERROR_VERBOSE
     2052  /* Buffer for error messages, and its allocated size.  */
     2053  char yymsgbuf[128];
     2054  char *yymsg = yymsgbuf;
     2055  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
     2056#endif
     2057
     2058#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
     2059
     2060  /* The number of symbols on the RHS of the reduced rule.
     2061     Keep to zero when no symbol should be popped.  */
     2062  int yylen = 0;
     2063
     2064  yytoken = 0;
     2065  yyss = yyssa;
     2066  yyvs = yyvsa;
     2067  yystacksize = YYINITDEPTH;
    18882068
    18892069  YYDPRINTF ((stderr, "Starting parse\n"));
     
    18922072  yyerrstatus = 0;
    18932073  yynerrs = 0;
    1894   yychar = YYEMPTY;             /* Cause a token to be read.  */
     2074  yychar = YYEMPTY; /* Cause a token to be read.  */
    18952075
    18962076  /* Initialize stack pointers.
     
    18982078     so that they stay on the same level as the state stack.
    18992079     The wasted elements are never initialized.  */
    1900 
    19012080  yyssp = yyss;
    19022081  yyvsp = yyvs;
    1903 
    19042082
    19052083  goto yysetstate;
     
    19102088 yynewstate:
    19112089  /* In all cases, when you get here, the value and location stacks
    1912      have just been pushed. so pushing a state here evens the stacks.
    1913      */
     2090     have just been pushed.  So pushing a state here evens the stacks.  */
    19142091  yyssp++;
    19152092
     
    19242101#ifdef yyoverflow
    19252102      {
    1926         /* Give user a chance to reallocate the stack. Use copies of
     2103        /* Give user a chance to reallocate the stack.  Use copies of
    19272104           these so that the &'s don't force the real ones into
    19282105           memory.  */
    19292106        YYSTYPE *yyvs1 = yyvs;
    1930         short int *yyss1 = yyss;
    1931 
     2107        yytype_int16 *yyss1 = yyss;
    19322108
    19332109        /* Each stack pointer address is followed by the size of the
     
    19352111           conditional around just the two extra args, but that might
    19362112           be undefined if yyoverflow is a macro.  */
    1937         yyoverflow ("parser stack overflow",
     2113        yyoverflow (YY_("memory exhausted"),
    19382114                    &yyss1, yysize * sizeof (*yyssp),
    19392115                    &yyvs1, yysize * sizeof (*yyvsp),
    1940 
    19412116                    &yystacksize);
    19422117
     
    19462121#else /* no yyoverflow */
    19472122# ifndef YYSTACK_RELOCATE
    1948       goto yyoverflowlab;
     2123      goto yyexhaustedlab;
    19492124# else
    19502125      /* Extend the stack our own way.  */
    19512126      if (YYMAXDEPTH <= yystacksize)
    1952         goto yyoverflowlab;
     2127        goto yyexhaustedlab;
    19532128      yystacksize *= 2;
    19542129      if (YYMAXDEPTH < yystacksize)
     
    19562131
    19572132      {
    1958         short int *yyss1 = yyss;
     2133        yytype_int16 *yyss1 = yyss;
    19592134        union yyalloc *yyptr =
    19602135          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    19612136        if (! yyptr)
    1962           goto yyoverflowlab;
    1963         YYSTACK_RELOCATE (yyss);
    1964         YYSTACK_RELOCATE (yyvs);
    1965 
     2137          goto yyexhaustedlab;
     2138        YYSTACK_RELOCATE (yyss_alloc, yyss);
     2139        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    19662140#  undef YYSTACK_RELOCATE
    19672141        if (yyss1 != yyssa)
     
    19742148      yyvsp = yyvs + yysize - 1;
    19752149
    1976 
    19772150      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    19782151                  (unsigned long int) yystacksize));
     
    19832156
    19842157  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
     2158
     2159  if (yystate == YYFINAL)
     2160    YYACCEPT;
    19852161
    19862162  goto yybackup;
     
    19912167yybackup:
    19922168
    1993 /* Do appropriate processing given the current state.  */
    1994 /* Read a lookahead token if we need one and don't already have one.  */
    1995 /* yyresume: */
     2169  /* Do appropriate processing given the current state.  Read a
     2170     lookahead token if we need one and don't already have one.  */
    19962171
    19972172  /* First try to decide what to do without reference to lookahead token.  */
    1998 
    19992173  yyn = yypact[yystate];
    20002174  if (yyn == YYPACT_NINF)
     
    20182192    {
    20192193      yytoken = YYTRANSLATE (yychar);
    2020       YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     2194      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    20212195    }
    20222196
     
    20352209    }
    20362210
    2037   if (yyn == YYFINAL)
    2038     YYACCEPT;
    2039 
    2040   /* Shift the lookahead token.  */
    2041   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
    2042 
    2043   /* Discard the token being shifted unless it is eof.  */
    2044   if (yychar != YYEOF)
    2045     yychar = YYEMPTY;
    2046 
    2047   *++yyvsp = yylval;
    2048 
    2049 
    20502211  /* Count tokens shifted since error; after three, turn off error
    20512212     status.  */
     
    20532214    yyerrstatus--;
    20542215
     2216  /* Shift the lookahead token.  */
     2217  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
     2218
     2219  /* Discard the shifted token.  */
     2220  yychar = YYEMPTY;
     2221
    20552222  yystate = yyn;
     2223  *++yyvsp = yylval;
     2224
    20562225  goto yynewstate;
    20572226
     
    20892258    {
    20902259        case 3:
    2091 #line 363 "grammar.y"
     2260
     2261/* Line 1464 of yacc.c  */
     2262#line 366 "grammar.y"
    20922263    {
    20932264            if (timerv)
     
    21082279            {
    21092280              WerrorS("abort...");
    2110               while((currentVoice!=NULL) && (currentVoice->prev!=NULL)) exitVoice();
    2111               if (currentVoice!=NULL) currentVoice->ifsw=0;
     2281              while((currentVoice!=NULL) && (currentVoice->prev!=NULL)) exitVoice();
     2282              if (currentVoice!=NULL) currentVoice->ifsw=0;
    21122283            }
    21132284            if (errorreported) /* also catches abort... */
     
    21232294
    21242295  case 5:
    2125 #line 398 "grammar.y"
     2296
     2297/* Line 1464 of yacc.c  */
     2298#line 401 "grammar.y"
    21262299    {currentVoice->ifsw=0;;}
    21272300    break;
    21282301
    21292302  case 6:
    2130 #line 400 "grammar.y"
    2131     { yyvsp[-1].lv.CleanUp(); currentVoice->ifsw=0;;}
     2303
     2304/* Line 1464 of yacc.c  */
     2305#line 403 "grammar.y"
     2306    { (yyvsp[(1) - (2)].lv).CleanUp(); currentVoice->ifsw=0;;}
    21322307    break;
    21332308
    21342309  case 7:
    2135 #line 402 "grammar.y"
     2310
     2311/* Line 1464 of yacc.c  */
     2312#line 405 "grammar.y"
    21362313    {
    21372314            YYACCEPT;
     
    21402317
    21412318  case 8:
    2142 #line 406 "grammar.y"
     2319
     2320/* Line 1464 of yacc.c  */
     2321#line 409 "grammar.y"
    21432322    {
    21442323            currentVoice->ifsw=0;
     
    21482327
    21492328  case 9:
    2150 #line 411 "grammar.y"
     2329
     2330/* Line 1464 of yacc.c  */
     2331#line 414 "grammar.y"
    21512332    {currentVoice->ifsw=0;;}
    21522333    break;
    21532334
    21542335  case 10:
    2155 #line 413 "grammar.y"
     2336
     2337/* Line 1464 of yacc.c  */
     2338#line 416 "grammar.y"
    21562339    {
    21572340            #ifdef SIQ
     
    21632346            {
    21642347/*  bison failed here*/
    2165               if ((inerror!=3) && (yyvsp[-1].i<UMINUS) && (yyvsp[-1].i>' '))
     2348              if ((inerror!=3) && ((yyvsp[(1) - (2)].i)<UMINUS) && ((yyvsp[(1) - (2)].i)>' '))
    21662349              {
    21672350                // 1: yyerror called
     
    21692352                // 3: error rule put token+\n
    21702353                inerror=3;
    2171                 Print(" error at token `%s`\n",iiTwoOps(yyvsp[-1].i));
     2354                Print(" error at token `%s`\n",iiTwoOps((yyvsp[(1) - (2)].i)));
    21722355              }
    21732356/**/
     
    22052388
    22062389  case 18:
    2207 #line 471 "grammar.y"
     2390
     2391/* Line 1464 of yacc.c  */
     2392#line 474 "grammar.y"
    22082393    {if (currentVoice!=NULL) currentVoice->ifsw=0;;}
    22092394    break;
    22102395
    22112396  case 19:
    2212 #line 474 "grammar.y"
    2213     { omFree((ADDRESS)yyvsp[0].name); ;}
     2397
     2398/* Line 1464 of yacc.c  */
     2399#line 477 "grammar.y"
     2400    { omFree((ADDRESS)(yyvsp[(2) - (2)].name)); ;}
    22142401    break;
    22152402
    22162403  case 29:
    2217 #line 489 "grammar.y"
    2218     {
    2219             if(iiAssign(&yyvsp[-1].lv,&yyvsp[0].lv)) YYERROR;
     2404
     2405/* Line 1464 of yacc.c  */
     2406#line 492 "grammar.y"
     2407    {
     2408            if(iiAssign(&(yyvsp[(1) - (2)].lv),&(yyvsp[(2) - (2)].lv))) YYERROR;
    22202409          ;}
    22212410    break;
    22222411
    22232412  case 30:
    2224 #line 496 "grammar.y"
     2413
     2414/* Line 1464 of yacc.c  */
     2415#line 499 "grammar.y"
    22252416    {
    22262417            if (currRing==NULL) MYYERROR("no ring active");
    2227             syMake(&yyval.lv,omStrDup(yyvsp[0].name));
     2418            syMake(&(yyval.lv),omStrDup((yyvsp[(1) - (1)].name)));
    22282419          ;}
    22292420    break;
    22302421
    22312422  case 31:
    2232 #line 501 "grammar.y"
    2233     {
    2234             syMake(&yyval.lv,yyvsp[0].name);
     2423
     2424/* Line 1464 of yacc.c  */
     2425#line 504 "grammar.y"
     2426    {
     2427            syMake(&(yyval.lv),(yyvsp[(1) - (1)].name));
    22352428          ;}
    22362429    break;
    22372430
    22382431  case 32:
    2239 #line 505 "grammar.y"
    2240     {
    2241             if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, COLONCOLON, &yyvsp[0].lv)) YYERROR;
     2432
     2433/* Line 1464 of yacc.c  */
     2434#line 508 "grammar.y"
     2435    {
     2436            if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), COLONCOLON, &(yyvsp[(3) - (3)].lv))) YYERROR;
    22422437          ;}
    22432438    break;
    22442439
    22452440  case 33:
    2246 #line 509 "grammar.y"
    2247     {
    2248             if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, '.', &yyvsp[0].lv)) YYERROR;
     2441
     2442/* Line 1464 of yacc.c  */
     2443#line 512 "grammar.y"
     2444    {
     2445            if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), '.', &(yyvsp[(3) - (3)].lv))) YYERROR;
    22492446          ;}
    22502447    break;
    22512448
    22522449  case 34:
    2253 #line 513 "grammar.y"
    2254     {
    2255             if(iiExprArith1(&yyval.lv,&yyvsp[-2].lv,'(')) YYERROR;
     2450
     2451/* Line 1464 of yacc.c  */
     2452#line 516 "grammar.y"
     2453    {
     2454            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'(')) YYERROR;
    22562455          ;}
    22572456    break;
    22582457
    22592458  case 35:
    2260 #line 517 "grammar.y"
    2261     {
    2262             if (yyvsp[-3].lv.rtyp==UNKNOWN)
    2263             { // for x(i)(j)
    2264               if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'(',&yyvsp[-1].lv)) YYERROR;
    2265             }
    2266             else
    2267             {
    2268               yyvsp[-3].lv.next=(leftv)omAllocBin(sleftv_bin);
    2269               memcpy(yyvsp[-3].lv.next,&yyvsp[-1].lv,sizeof(sleftv));
    2270               if(iiExprArithM(&yyval.lv,&yyvsp[-3].lv,'(')) YYERROR;
    2271             }
     2459
     2460/* Line 1464 of yacc.c  */
     2461#line 520 "grammar.y"
     2462    {
     2463            if ((yyvsp[(1) - (4)].lv).rtyp==UNKNOWN)
     2464            { // for x(i)(j)
     2465              if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;
     2466            }
     2467            else
     2468            {
     2469              (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
     2470              memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
     2471              if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
     2472            }
    22722473          ;}
    22732474    break;
    22742475
    22752476  case 36:
    2276 #line 530 "grammar.y"
     2477
     2478/* Line 1464 of yacc.c  */
     2479#line 533 "grammar.y"
    22772480    {
    22782481            if (currRingHdl==NULL) MYYERROR("no ring active");
    22792482            int j = 0;
    2280             memset(&yyval.lv,0,sizeof(sleftv));
    2281             yyval.lv.rtyp=VECTOR_CMD;
    2282             leftv v = &yyvsp[-1].lv;
     2483            memset(&(yyval.lv),0,sizeof(sleftv));
     2484            (yyval.lv).rtyp=VECTOR_CMD;
     2485            leftv v = &(yyvsp[(2) - (3)].lv);
    22832486            while (v!=NULL)
    22842487            {
     
    22892492              if((i==0) || (iiConvert(t /*v->Typ()*/,POLY_CMD,i,v,&tmp)))
    22902493              {
    2291                 pDelete((poly *)&yyval.lv.data);
    2292                 yyvsp[-1].lv.CleanUp();
     2494                pDelete((poly *)&(yyval.lv).data);
     2495                (yyvsp[(2) - (3)].lv).CleanUp();
    22932496                MYYERROR("expected '[poly,...'");
    22942497              }
    22952498              poly p = (poly)tmp.CopyD(POLY_CMD);
    22962499              pSetCompP(p,++j);
    2297               yyval.lv.data = (void *)pAdd((poly)yyval.lv.data,p);
     2500              (yyval.lv).data = (void *)pAdd((poly)(yyval.lv).data,p);
    22982501              v->next=tmp.next;tmp.next=NULL;
    22992502              tmp.CleanUp();
    23002503              v=v->next;
    23012504            }
    2302             yyvsp[-1].lv.CleanUp();
     2505            (yyvsp[(2) - (3)].lv).CleanUp();
    23032506          ;}
    23042507    break;
    23052508
    23062509  case 37:
    2307 #line 558 "grammar.y"
    2308     {
    2309             memset(&yyval.lv,0,sizeof(yyval.lv));
    2310             int i = atoi(yyvsp[0].name);
     2510
     2511/* Line 1464 of yacc.c  */
     2512#line 561 "grammar.y"
     2513    {
     2514            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2515            int i = atoi((yyvsp[(1) - (1)].name));
    23112516            /*remember not to omFree($1)
    23122517            *because it is a part of the scanner buffer*/
    2313             yyval.lv.rtyp  = INT_CMD;
    2314             yyval.lv.data = (void *)(long)i;
     2518            (yyval.lv).rtyp  = INT_CMD;
     2519            (yyval.lv).data = (void *)(long)i;
    23152520
    23162521            /* check: out of range input */
    2317             int l = strlen(yyvsp[0].name)+2;
     2522            int l = strlen((yyvsp[(1) - (1)].name))+2;
    23182523            number n;
    23192524            if (l >= MAX_INT_LEN)
     
    23212526              char tmp[MAX_INT_LEN+5];
    23222527              sprintf(tmp,"%d",i);
    2323               if (strcmp(tmp,yyvsp[0].name)!=0)
     2528              if (strcmp(tmp,(yyvsp[(1) - (1)].name))!=0)
    23242529              {
    2325                 n_Read(yyvsp[0].name,&n,coeffs_BIGINT);
    2326                 yyval.lv.rtyp=BIGINT_CMD;
    2327                 yyval.lv.data = n;
     2530                n_Read((yyvsp[(1) - (1)].name),&n,coeffs_BIGINT);
     2531                (yyval.lv).rtyp=BIGINT_CMD;
     2532                (yyval.lv).data = n;
    23282533              }
    23292534            }
     
    23322537
    23332538  case 38:
    2334 #line 582 "grammar.y"
    2335     {
    2336             memset(&yyval.lv,0,sizeof(yyval.lv));
    2337             yyval.lv.rtyp = yyvsp[0].i;
    2338             yyval.lv.data = yyval.lv.Data();
     2539
     2540/* Line 1464 of yacc.c  */
     2541#line 585 "grammar.y"
     2542    {
     2543            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2544            (yyval.lv).rtyp = (yyvsp[(1) - (1)].i);
     2545            (yyval.lv).data = (yyval.lv).Data();
    23392546          ;}
    23402547    break;
    23412548
    23422549  case 39:
    2343 #line 588 "grammar.y"
    2344     {
    2345             memset(&yyval.lv,0,sizeof(yyval.lv));
    2346             yyval.lv.rtyp  = STRING_CMD;
    2347             yyval.lv.data = yyvsp[0].name;
     2550
     2551/* Line 1464 of yacc.c  */
     2552#line 591 "grammar.y"
     2553    {
     2554            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2555            (yyval.lv).rtyp  = STRING_CMD;
     2556            (yyval.lv).data = (yyvsp[(1) - (1)].name);
    23482557          ;}
    23492558    break;
    23502559
    23512560  case 40:
    2352 #line 594 "grammar.y"
    2353     {
    2354             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2561
     2562/* Line 1464 of yacc.c  */
     2563#line 597 "grammar.y"
     2564    {
     2565            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    23552566          ;}
    23562567    break;
    23572568
    23582569  case 41:
    2359 #line 601 "grammar.y"
    2360     {
    2361             leftv v = &yyvsp[-2].lv;
     2570
     2571/* Line 1464 of yacc.c  */
     2572#line 604 "grammar.y"
     2573    {
     2574            leftv v = &(yyvsp[(1) - (3)].lv);
    23622575            while (v->next!=NULL)
    23632576            {
     
    23652578            }
    23662579            v->next = (leftv)omAllocBin(sleftv_bin);
    2367             memcpy(v->next,&(yyvsp[0].lv),sizeof(sleftv));
    2368             yyval.lv = yyvsp[-2].lv;
     2580            memcpy(v->next,&((yyvsp[(3) - (3)].lv)),sizeof(sleftv));
     2581            (yyval.lv) = (yyvsp[(1) - (3)].lv);
    23692582          ;}
    23702583    break;
    23712584
    23722585  case 42:
    2373 #line 612 "grammar.y"
    2374     {
    2375             yyval.lv = yyvsp[0].lv;
     2586
     2587/* Line 1464 of yacc.c  */
     2588#line 615 "grammar.y"
     2589    {
     2590            (yyval.lv) = (yyvsp[(1) - (1)].lv);
    23762591          ;}
    23772592    break;
    23782593
    23792594  case 43:
    2380 #line 618 "grammar.y"
     2595
     2596/* Line 1464 of yacc.c  */
     2597#line 621 "grammar.y"
    23812598    {
    23822599            /*if ($1.typ == eunknown) YYERROR;*/
    2383             yyval.lv = yyvsp[0].lv;
     2600            (yyval.lv) = (yyvsp[(1) - (1)].lv);
    23842601          ;}
    23852602    break;
    23862603
    23872604  case 44:
    2388 #line 622 "grammar.y"
    2389     { yyval.lv = yyvsp[0].lv; ;}
     2605
     2606/* Line 1464 of yacc.c  */
     2607#line 625 "grammar.y"
     2608    { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
    23902609    break;
    23912610
    23922611  case 45:
    2393 #line 623 "grammar.y"
    2394     { yyval.lv = yyvsp[-1].lv; ;}
     2612
     2613/* Line 1464 of yacc.c  */
     2614#line 626 "grammar.y"
     2615    { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
    23952616    break;
    23962617
    23972618  case 46:
    2398 #line 625 "grammar.y"
    2399     {
    2400             if(iiExprArith3(&yyval.lv,'[',&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2619
     2620/* Line 1464 of yacc.c  */
     2621#line 628 "grammar.y"
     2622    {
     2623            if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;
    24012624          ;}
    24022625    break;
    24032626
    24042627  case 47:
    2405 #line 629 "grammar.y"
    2406     {
    2407             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'[',&yyvsp[-1].lv)) YYERROR;
     2628
     2629/* Line 1464 of yacc.c  */
     2630#line 632 "grammar.y"
     2631    {
     2632            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;
    24082633          ;}
    24092634    break;
    24102635
    24112636  case 48:
    2412 #line 633 "grammar.y"
    2413     {
    2414             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2637
     2638/* Line 1464 of yacc.c  */
     2639#line 636 "grammar.y"
     2640    {
     2641            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24152642          ;}
    24162643    break;
    24172644
    24182645  case 49:
    2419 #line 637 "grammar.y"
    2420     {
    2421             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2646
     2647/* Line 1464 of yacc.c  */
     2648#line 640 "grammar.y"
     2649    {
     2650            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24222651          ;}
    24232652    break;
    24242653
    24252654  case 50:
    2426 #line 641 "grammar.y"
    2427     {
    2428             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2655
     2656/* Line 1464 of yacc.c  */
     2657#line 644 "grammar.y"
     2658    {
     2659            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    24292660          ;}
    24302661    break;
    24312662
    24322663  case 51:
    2433 #line 645 "grammar.y"
    2434     {
    2435             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2664
     2665/* Line 1464 of yacc.c  */
     2666#line 648 "grammar.y"
     2667    {
     2668            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24362669          ;}
    24372670    break;
    24382671
    24392672  case 52:
    2440 #line 649 "grammar.y"
    2441     {
    2442             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2673
     2674/* Line 1464 of yacc.c  */
     2675#line 652 "grammar.y"
     2676    {
     2677            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24432678          ;}
    24442679    break;
    24452680
    24462681  case 53:
    2447 #line 653 "grammar.y"
    2448     {
    2449             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2682
     2683/* Line 1464 of yacc.c  */
     2684#line 656 "grammar.y"
     2685    {
     2686            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    24502687          ;}
    24512688    break;
    24522689
    24532690  case 54:
    2454 #line 657 "grammar.y"
    2455     {
    2456             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2691
     2692/* Line 1464 of yacc.c  */
     2693#line 660 "grammar.y"
     2694    {
     2695            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24572696          ;}
    24582697    break;
    24592698
    24602699  case 55:
    2461 #line 661 "grammar.y"
    2462     {
    2463             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2700
     2701/* Line 1464 of yacc.c  */
     2702#line 664 "grammar.y"
     2703    {
     2704            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24642705          ;}
    24652706    break;
    24662707
    24672708  case 56:
    2468 #line 665 "grammar.y"
    2469     {
    2470             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2709
     2710/* Line 1464 of yacc.c  */
     2711#line 668 "grammar.y"
     2712    {
     2713            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24712714          ;}
    24722715    break;
    24732716
    24742717  case 57:
    2475 #line 669 "grammar.y"
    2476     {
    2477             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2718
     2719/* Line 1464 of yacc.c  */
     2720#line 672 "grammar.y"
     2721    {
     2722            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24782723          ;}
    24792724    break;
    24802725
    24812726  case 58:
    2482 #line 673 "grammar.y"
    2483     {
    2484             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2727
     2728/* Line 1464 of yacc.c  */
     2729#line 676 "grammar.y"
     2730    {
     2731            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24852732          ;}
    24862733    break;
    24872734
    24882735  case 59:
    2489 #line 677 "grammar.y"
    2490     {
    2491             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2736
     2737/* Line 1464 of yacc.c  */
     2738#line 680 "grammar.y"
     2739    {
     2740            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24922741          ;}
    24932742    break;
    24942743
    24952744  case 60:
    2496 #line 681 "grammar.y"
    2497     {
    2498             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2745
     2746/* Line 1464 of yacc.c  */
     2747#line 684 "grammar.y"
     2748    {
     2749            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24992750          ;}
    25002751    break;
    25012752
    25022753  case 61:
    2503 #line 685 "grammar.y"
    2504     {
    2505             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2754
     2755/* Line 1464 of yacc.c  */
     2756#line 688 "grammar.y"
     2757    {
     2758            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    25062759          ;}
    25072760    break;
    25082761
    25092762  case 62:
    2510 #line 689 "grammar.y"
    2511     {
    2512             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2763
     2764/* Line 1464 of yacc.c  */
     2765#line 692 "grammar.y"
     2766    {
     2767            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    25132768          ;}
    25142769    break;
    25152770
    25162771  case 63:
    2517 #line 693 "grammar.y"
    2518     {
    2519             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2772
     2773/* Line 1464 of yacc.c  */
     2774#line 696 "grammar.y"
     2775    {
     2776            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    25202777          ;}
    25212778    break;
    25222779
    25232780  case 64:
    2524 #line 697 "grammar.y"
    2525     {
    2526             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2781
     2782/* Line 1464 of yacc.c  */
     2783#line 700 "grammar.y"
     2784    {
     2785            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    25272786          ;}
    25282787    break;
    25292788
    25302789  case 65:
    2531 #line 701 "grammar.y"
    2532     {
    2533             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2790
     2791/* Line 1464 of yacc.c  */
     2792#line 704 "grammar.y"
     2793    {
     2794            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    25342795          ;}
    25352796    break;
    25362797
    25372798  case 66:
    2538 #line 705 "grammar.y"
    2539     {
    2540             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2799
     2800/* Line 1464 of yacc.c  */
     2801#line 708 "grammar.y"
     2802    {
     2803            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    25412804          ;}
    25422805    break;
    25432806
    25442807  case 67:
    2545 #line 709 "grammar.y"
    2546     {
    2547             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2808
     2809/* Line 1464 of yacc.c  */
     2810#line 712 "grammar.y"
     2811    {
     2812            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    25482813          ;}
    25492814    break;
    25502815
    25512816  case 68:
    2552 #line 713 "grammar.y"
    2553     {
    2554             if(iiExprArith3(&yyval.lv,MATRIX_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2817
     2818/* Line 1464 of yacc.c  */
     2819#line 716 "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;
    25552822          ;}
    25562823    break;
    25572824
    25582825  case 69:
    2559 #line 717 "grammar.y"
    2560     {
    2561             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MATRIX_CMD)) YYERROR;
     2826
     2827/* Line 1464 of yacc.c  */
     2828#line 720 "grammar.y"
     2829    {
     2830            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    25622831          ;}
    25632832    break;
    25642833
    25652834  case 70:
    2566 #line 721 "grammar.y"
    2567     {
    2568             if(iiExprArith3(&yyval.lv,INTMAT_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2835
     2836/* Line 1464 of yacc.c  */
     2837#line 724 "grammar.y"
     2838    {
     2839            if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    25692840          ;}
    25702841    break;
    25712842
    25722843  case 71:
    2573 #line 725 "grammar.y"
    2574     {
    2575             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,INTMAT_CMD)) YYERROR;
     2844
     2845/* Line 1464 of yacc.c  */
     2846#line 728 "grammar.y"
     2847    {
     2848            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;
    25762849          ;}
    25772850    break;
    25782851
    25792852  case 72:
    2580 #line 729 "grammar.y"
    2581     {
    2582             if(iiExprArith3(&yyval.lv,RING_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2853
     2854/* Line 1464 of yacc.c  */
     2855#line 732 "grammar.y"
     2856    {
     2857            (yyval.lv)=(yyvsp[(2) - (3)].lv);
    25832858          ;}
    25842859    break;
    25852860
    25862861  case 73:
    2587 #line 733 "grammar.y"
    2588     {
    2589             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,RING_CMD)) YYERROR;
    2590           ;}
    2591     break;
    2592 
    2593   case 74:
    2594 #line 737 "grammar.y"
    2595     {
    2596             yyval.lv=yyvsp[-1].lv;
    2597           ;}
    2598     break;
    2599 
    2600   case 75:
    2601 #line 741 "grammar.y"
     2862
     2863/* Line 1464 of yacc.c  */
     2864#line 736 "grammar.y"
    26022865    {
    26032866            #ifdef SIQ
    26042867            siq++;
    26052868            if (siq>0)
    2606             { if (iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'=',&yyvsp[-1].lv)) YYERROR; }
     2869            { if (iiExprArith2(&(yyval.lv),&(yyvsp[(2) - (5)].lv),'=',&(yyvsp[(4) - (5)].lv))) YYERROR; }
    26072870            else
    26082871            #endif
    26092872            {
    2610               memset(&yyval.lv,0,sizeof(yyval.lv));
    2611               yyval.lv.rtyp=NONE;
    2612               if (iiAssign(&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2873              memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2874              (yyval.lv).rtyp=NONE;
     2875              if (iiAssign(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv))) YYERROR;
    26132876            }
    26142877            #ifdef SIQ
     
    26182881    break;
    26192882
    2620   case 76:
    2621 #line 758 "grammar.y"
     2883  case 74:
     2884
     2885/* Line 1464 of yacc.c  */
     2886#line 753 "grammar.y"
    26222887    {
    26232888            #ifdef SIQ
     
    26272892    break;
    26282893
    2629   case 77:
    2630 #line 764 "grammar.y"
     2894  case 75:
     2895
     2896/* Line 1464 of yacc.c  */
     2897#line 759 "grammar.y"
    26312898    {
    26322899            #ifdef SIQ
    2633             if (siq<=0) yyvsp[-1].lv.Eval();
     2900            if (siq<=0) (yyvsp[(4) - (5)].lv).Eval();
    26342901            #endif
    2635             yyval.lv=yyvsp[-1].lv;
     2902            (yyval.lv)=(yyvsp[(4) - (5)].lv);
    26362903            #ifdef SIQ
    26372904            siq++;
     
    26402907    break;
    26412908
    2642   case 78:
    2643 #line 776 "grammar.y"
     2909  case 76:
     2910
     2911/* Line 1464 of yacc.c  */
     2912#line 771 "grammar.y"
    26442913    {
    26452914            #ifdef SIQ
     
    26492918    break;
    26502919
    2651   case 79:
    2652 #line 784 "grammar.y"
     2920  case 77:
     2921
     2922/* Line 1464 of yacc.c  */
     2923#line 779 "grammar.y"
    26532924    {
    26542925            #ifdef SIQ
     
    26582929    break;
    26592930
     2931  case 78:
     2932
     2933/* Line 1464 of yacc.c  */
     2934#line 788 "grammar.y"
     2935    {
     2936            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;
     2937          ;}
     2938    break;
     2939
     2940  case 79:
     2941
     2942/* Line 1464 of yacc.c  */
     2943#line 792 "grammar.y"
     2944    {
     2945            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;
     2946          ;}
     2947    break;
     2948
    26602949  case 80:
    2661 #line 793 "grammar.y"
    2662     {
    2663             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,PLUSPLUS)) YYERROR;
     2950
     2951/* Line 1464 of yacc.c  */
     2952#line 796 "grammar.y"
     2953    {
     2954            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26642955          ;}
    26652956    break;
    26662957
    26672958  case 81:
    2668 #line 797 "grammar.y"
    2669     {
    2670             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MINUSMINUS)) YYERROR;
     2959
     2960/* Line 1464 of yacc.c  */
     2961#line 800 "grammar.y"
     2962    {
     2963            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26712964          ;}
    26722965    break;
    26732966
    26742967  case 82:
    2675 #line 801 "grammar.y"
    2676     {
    2677             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'+',&yyvsp[0].lv)) YYERROR;
     2968
     2969/* Line 1464 of yacc.c  */
     2970#line 804 "grammar.y"
     2971    {
     2972            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    26782973          ;}
    26792974    break;
    26802975
    26812976  case 83:
    2682 #line 805 "grammar.y"
    2683     {
    2684             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'-',&yyvsp[0].lv)) YYERROR;
     2977
     2978/* Line 1464 of yacc.c  */
     2979#line 808 "grammar.y"
     2980    {
     2981            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26852982          ;}
    26862983    break;
    26872984
    26882985  case 84:
    2689 #line 809 "grammar.y"
    2690     {
    2691             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     2986
     2987/* Line 1464 of yacc.c  */
     2988#line 812 "grammar.y"
     2989    {
     2990            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    26922991          ;}
    26932992    break;
    26942993
    26952994  case 85:
    2696 #line 813 "grammar.y"
    2697     {
    2698             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'^',&yyvsp[0].lv)) YYERROR;
     2995
     2996/* Line 1464 of yacc.c  */
     2997#line 816 "grammar.y"
     2998    {
     2999            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    26993000          ;}
    27003001    break;
    27013002
    27023003  case 86:
    2703 #line 817 "grammar.y"
    2704     {
    2705             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     3004
     3005/* Line 1464 of yacc.c  */
     3006#line 820 "grammar.y"
     3007    {
     3008            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
    27063009          ;}
    27073010    break;
    27083011
    27093012  case 87:
    2710 #line 821 "grammar.y"
    2711     {
    2712             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     3013
     3014/* Line 1464 of yacc.c  */
     3015#line 824 "grammar.y"
     3016    {
     3017            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
    27133018          ;}
    27143019    break;
    27153020
    27163021  case 88:
    2717 #line 825 "grammar.y"
    2718     {
    2719             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,NOTEQUAL,&yyvsp[0].lv)) YYERROR;
     3022
     3023/* Line 1464 of yacc.c  */
     3024#line 828 "grammar.y"
     3025    {
     3026            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;
    27203027          ;}
    27213028    break;
    27223029
    27233030  case 89:
    2724 #line 829 "grammar.y"
    2725     {
    2726             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,EQUAL_EQUAL,&yyvsp[0].lv)) YYERROR;
     3031
     3032/* Line 1464 of yacc.c  */
     3033#line 832 "grammar.y"
     3034    {
     3035            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;
    27273036          ;}
    27283037    break;
    27293038
    27303039  case 90:
    2731 #line 833 "grammar.y"
    2732     {
    2733             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,DOTDOT,&yyvsp[0].lv)) YYERROR;
     3040
     3041/* Line 1464 of yacc.c  */
     3042#line 836 "grammar.y"
     3043    {
     3044            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     3045            int i; TESTSETINT((yyvsp[(2) - (2)].lv),i);
     3046            (yyval.lv).rtyp  = INT_CMD;
     3047            (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0);
    27343048          ;}
    27353049    break;
    27363050
    27373051  case 91:
    2738 #line 837 "grammar.y"
    2739     {
    2740             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,':',&yyvsp[0].lv)) YYERROR;
     3052
     3053/* Line 1464 of yacc.c  */
     3054#line 843 "grammar.y"
     3055    {
     3056            if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;
    27413057          ;}
    27423058    break;
    27433059
    27443060  case 92:
    2745 #line 841 "grammar.y"
    2746     {
    2747             memset(&yyval.lv,0,sizeof(yyval.lv));
    2748             int i; TESTSETINT(yyvsp[0].lv,i);
    2749             yyval.lv.rtyp  = INT_CMD;
    2750             yyval.lv.data = (void *)(long)(i == 0 ? 1 : 0);
    2751           ;}
     3061
     3062/* Line 1464 of yacc.c  */
     3063#line 849 "grammar.y"
     3064    { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
    27523065    break;
    27533066
    27543067  case 93:
    2755 #line 848 "grammar.y"
    2756     {
    2757             if(iiExprArith1(&yyval.lv,&yyvsp[0].lv,'-')) YYERROR;
    2758           ;}
    2759     break;
    2760 
    2761   case 94:
    2762 #line 854 "grammar.y"
    2763     { yyval.lv = yyvsp[-1].lv; ;}
    2764     break;
    2765 
    2766   case 95:
    2767 #line 856 "grammar.y"
    2768     {
    2769             if (yyvsp[-1].lv.rtyp==0)
     3068
     3069/* Line 1464 of yacc.c  */
     3070#line 851 "grammar.y"
     3071    {
     3072            if ((yyvsp[(1) - (2)].lv).rtyp==0)
    27703073            {
    2771               Werror("`%s` is undefined",yyvsp[-1].lv.Fullname());
     3074              Werror("`%s` is undefined",(yyvsp[(1) - (2)].lv).Fullname());
    27723075              YYERROR;
    27733076            }
    2774             else if ((yyvsp[-1].lv.rtyp==MODUL_CMD)
     3077            else if (((yyvsp[(1) - (2)].lv).rtyp==MODUL_CMD)
    27753078            // matrix m; m[2]=...
    2776             && (yyvsp[-1].lv.e!=NULL) && (yyvsp[-1].lv.e->next==NULL))
     3079            && ((yyvsp[(1) - (2)].lv).e!=NULL) && ((yyvsp[(1) - (2)].lv).e->next==NULL))
    27773080            {
    27783081              MYYERROR("matrix must have 2 indices");
    27793082            }
    2780             yyval.lv = yyvsp[-1].lv;
    2781           ;}
    2782     break;
    2783 
    2784   case 97:
    2785 #line 876 "grammar.y"
    2786     {
    2787             if (yyvsp[-1].lv.Typ()!=STRING_CMD)
     3083            (yyval.lv) = (yyvsp[(1) - (2)].lv);
     3084          ;}
     3085    break;
     3086
     3087  case 95:
     3088
     3089/* Line 1464 of yacc.c  */
     3090#line 871 "grammar.y"
     3091    {
     3092            if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)
    27883093            {
    27893094              MYYERROR("string expression expected");
    27903095            }
    2791             yyval.name = (char *)yyvsp[-1].lv.CopyD(STRING_CMD);
    2792             yyvsp[-1].lv.CleanUp();
     3096            (yyval.name) = (char *)(yyvsp[(2) - (3)].lv).CopyD(STRING_CMD);
     3097            (yyvsp[(2) - (3)].lv).CleanUp();
     3098          ;}
     3099    break;
     3100
     3101  case 96:
     3102
     3103/* Line 1464 of yacc.c  */
     3104#line 883 "grammar.y"
     3105    {
     3106            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3107              YYERROR;
     3108          ;}
     3109    break;
     3110
     3111  case 97:
     3112
     3113/* Line 1464 of yacc.c  */
     3114#line 888 "grammar.y"
     3115    {
     3116            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3117              YYERROR;
    27933118          ;}
    27943119    break;
    27953120
    27963121  case 98:
    2797 #line 888 "grammar.y"
    2798     {
    2799             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
    2800               YYERROR;
     3122
     3123/* Line 1464 of yacc.c  */
     3124#line 893 "grammar.y"
     3125    {
     3126            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    28013127          ;}
    28023128    break;
    28033129
    28043130  case 99:
    2805 #line 893 "grammar.y"
    2806     {
    2807             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
    2808               YYERROR;
     3131
     3132/* Line 1464 of yacc.c  */
     3133#line 897 "grammar.y"
     3134    {
     3135            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    28093136          ;}
    28103137    break;
    28113138
    28123139  case 100:
    2813 #line 898 "grammar.y"
    2814     {
    2815             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
    2816           ;}
    2817     break;
    2818 
    2819   case 101:
    2820 #line 902 "grammar.y"
    2821     {
    2822             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
    2823           ;}
    2824     break;
    2825 
    2826   case 102:
    2827 #line 906 "grammar.y"
    2828     {
    2829             if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(currRing->idroot), TRUE)) YYERROR;
    2830             int r; TESTSETINT(yyvsp[-4].lv,r);
    2831             int c; TESTSETINT(yyvsp[-1].lv,c);
     3140
     3141/* Line 1464 of yacc.c  */
     3142#line 901 "grammar.y"
     3143    {
     3144            int r; TESTSETINT((yyvsp[(4) - (8)].lv),r);
     3145            int c; TESTSETINT((yyvsp[(7) - (8)].lv),c);
    28323146            if (r < 1)
    28333147              MYYERROR("rows must be greater than 0");
    28343148            if (c < 0)
    28353149              MYYERROR("cols must be greater than -1");
    2836             leftv v=&yyval.lv;
    2837             //while (v->next!=NULL) { v=v->next; }
    2838             idhdl h=(idhdl)v->data;
    2839             idDelete(&IDIDEAL(h));
    2840             IDMATRIX(h) = mpNew(r,c);
    2841             if (IDMATRIX(h)==NULL) YYERROR;
    2842           ;}
    2843     break;
    2844 
    2845   case 103:
    2846 #line 922 "grammar.y"
    2847     {
    2848             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
    2849           ;}
    2850     break;
    2851 
    2852   case 104:
    2853 #line 926 "grammar.y"
    2854     {
    2855             int r; TESTSETINT(yyvsp[-4].lv,r);
    2856             int c; TESTSETINT(yyvsp[-1].lv,c);
    2857             if (r < 1)
    2858               MYYERROR("rows must be greater than 0");
    2859             if (c < 0)
    2860               MYYERROR("cols must be greater than -1");
    2861             if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(yyvsp[-6].lv.req_packhdl->idroot)))
    2862               YYERROR;
    2863             leftv v=&yyval.lv;
    2864             idhdl h=(idhdl)v->data;
    2865             delete IDINTVEC(h);
    2866             IDINTVEC(h) = new intvec(r,c,0);
    2867             if (IDINTVEC(h)==NULL) YYERROR;
    2868           ;}
    2869     break;
    2870 
    2871   case 105:
    2872 #line 942 "grammar.y"
    2873     {
    2874             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
    2875               YYERROR;
    2876             leftv v=&yyval.lv;
     3150            leftv v;
    28773151            idhdl h;
    2878             do
     3152            if ((yyvsp[(1) - (8)].i) == MATRIX_CMD)
    28793153            {
    2880                h=(idhdl)v->data;
    2881                delete IDINTVEC(h);
    2882                IDINTVEC(h) = new intvec(1,1,0);
    2883                v=v->next;
    2884             } while (v!=NULL);
    2885           ;}
    2886     break;
    2887 
    2888   case 106:
    2889 #line 956 "grammar.y"
    2890     {
    2891             int t=yyvsp[-2].lv.Typ();
     3154              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&(currRing->idroot), TRUE)) YYERROR;
     3155              v=&(yyval.lv);
     3156              h=(idhdl)v->data;
     3157              idDelete(&IDIDEAL(h));
     3158              IDMATRIX(h) = mpNew(r,c);
     3159              if (IDMATRIX(h)==NULL) YYERROR;
     3160            }
     3161            else if ((yyvsp[(1) - (8)].i) == INTMAT_CMD)
     3162            {
     3163              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
     3164                YYERROR;
     3165              v=&(yyval.lv);
     3166              h=(idhdl)v->data;
     3167              delete IDINTVEC(h);
     3168              IDINTVEC(h) = new intvec(r,c,0);
     3169              if (IDINTVEC(h)==NULL) YYERROR;
     3170            }
     3171            else /* BIGINTMAT_CMD */
     3172            {
     3173              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
     3174                YYERROR;
     3175              v=&(yyval.lv);
     3176              h=(idhdl)v->data;
     3177              delete IDBIMAT(h);
     3178              IDBIMAT(h) = new bigintmat(r,c);
     3179              if (IDBIMAT(h)==NULL) YYERROR;
     3180            }
     3181          ;}
     3182    break;
     3183
     3184  case 101:
     3185
     3186/* Line 1464 of yacc.c  */
     3187#line 941 "grammar.y"
     3188    {
     3189            if ((yyvsp[(1) - (2)].i) == MATRIX_CMD)
     3190            {
     3191              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     3192            }
     3193            else if ((yyvsp[(1) - (2)].i) == INTMAT_CMD)
     3194            {
     3195              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3196                YYERROR;
     3197              leftv v=&(yyval.lv);
     3198              idhdl h;
     3199              do
     3200              {
     3201                 h=(idhdl)v->data;
     3202                 delete IDINTVEC(h);
     3203                 IDINTVEC(h) = new intvec(1,1,0);
     3204                 v=v->next;
     3205              } while (v!=NULL);
     3206            }
     3207            else /* BIGINTMAT_CMD */
     3208            {
     3209              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
     3210                YYERROR;
     3211            }
     3212          ;}
     3213    break;
     3214
     3215  case 102:
     3216
     3217/* Line 1464 of yacc.c  */
     3218#line 967 "grammar.y"
     3219    {
     3220            int t=(yyvsp[(1) - (3)].lv).Typ();
    28923221            sleftv r;
    28933222            memset(&r,0,sizeof(sleftv));
    28943223            if ((BEGIN_RING<t) && (t<END_RING))
    28953224            {
    2896               if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(currRing->idroot), TRUE))
     3225              if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&(currRing->idroot), TRUE))
    28973226                YYERROR;
    28983227            }
    28993228            else
    29003229            {
    2901               if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(yyvsp[0].lv.req_packhdl->idroot)))
     3230              if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))
    29023231                YYERROR;
    29033232            }
    2904             leftv v=&yyvsp[-2].lv;
     3233            leftv v=&(yyvsp[(1) - (3)].lv);
    29053234            while (v->next!=NULL) v=v->next;
    29063235            v->next=(leftv)omAllocBin(sleftv_bin);
    29073236            memcpy(v->next,&r,sizeof(sleftv));
    2908             yyval.lv=yyvsp[-2].lv;
    2909           ;}
    2910     break;
    2911 
    2912   case 107:
    2913 #line 977 "grammar.y"
    2914     {
    2915             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3237            (yyval.lv)=(yyvsp[(1) - (3)].lv);
     3238          ;}
     3239    break;
     3240
     3241  case 103:
     3242
     3243/* Line 1464 of yacc.c  */
     3244#line 988 "grammar.y"
     3245    {
     3246            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    29163247              YYERROR;
    29173248          ;}
    29183249    break;
    29193250
    2920   case 110:
    2921 #line 990 "grammar.y"
    2922     {
    2923             leftv v = &yyvsp[-3].lv;
     3251  case 106:
     3252
     3253/* Line 1464 of yacc.c  */
     3254#line 1001 "grammar.y"
     3255    {
     3256            leftv v = &(yyvsp[(2) - (5)].lv);
    29243257            while (v->next!=NULL)
    29253258            {
     
    29273260            }
    29283261            v->next = (leftv)omAllocBin(sleftv_bin);
    2929             memcpy(v->next,&(yyvsp[-1].lv),sizeof(sleftv));
    2930             yyval.lv = yyvsp[-3].lv;
    2931           ;}
    2932     break;
    2933 
    2934   case 111:
    2935 #line 1004 "grammar.y"
     3262            memcpy(v->next,&((yyvsp[(4) - (5)].lv)),sizeof(sleftv));
     3263            (yyval.lv) = (yyvsp[(2) - (5)].lv);
     3264          ;}
     3265    break;
     3266
     3267  case 107:
     3268
     3269/* Line 1464 of yacc.c  */
     3270#line 1015 "grammar.y"
    29363271    {
    29373272          // let rInit take care of any errors
    2938           yyval.i=rOrderName(yyvsp[0].name);
     3273          (yyval.i)=rOrderName((yyvsp[(1) - (1)].name));
    29393274        ;}
    29403275    break;
    29413276
    2942   case 112:
    2943 #line 1012 "grammar.y"
    2944     {
    2945             memset(&yyval.lv,0,sizeof(yyval.lv));
     3277  case 108:
     3278
     3279/* Line 1464 of yacc.c  */
     3280#line 1023 "grammar.y"
     3281    {
     3282            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    29463283            intvec *iv = new intvec(2);
    29473284            (*iv)[0] = 1;
    2948             (*iv)[1] = yyvsp[0].i;
    2949             yyval.lv.rtyp = INTVEC_CMD;
    2950             yyval.lv.data = (void *)iv;
    2951           ;}
    2952     break;
    2953 
    2954   case 113:
    2955 #line 1021 "grammar.y"
    2956     {
    2957             memset(&yyval.lv,0,sizeof(yyval.lv));
    2958             leftv sl = &yyvsp[-1].lv;
     3285            (*iv)[1] = (yyvsp[(1) - (1)].i);
     3286            (yyval.lv).rtyp = INTVEC_CMD;
     3287            (yyval.lv).data = (void *)iv;
     3288          ;}
     3289    break;
     3290
     3291  case 109:
     3292
     3293/* Line 1464 of yacc.c  */
     3294#line 1032 "grammar.y"
     3295    {
     3296            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     3297            leftv sl = &(yyvsp[(3) - (4)].lv);
    29593298            int slLength;
    29603299            {
     
    29633302              intvec *iv = new intvec(l);
    29643303              (*iv)[0] = slLength;
    2965               (*iv)[1] = yyvsp[-3].i;
     3304              (*iv)[1] = (yyvsp[(1) - (4)].i);
    29663305
    29673306              int i = 2;
     
    29853324                {
    29863325                  delete iv;
    2987                   yyvsp[-1].lv.CleanUp();
     3326                  (yyvsp[(3) - (4)].lv).CleanUp();
    29883327                  MYYERROR("wrong type in ordering");
    29893328                }
    29903329                sl = sl->next;
    29913330              }
    2992               yyval.lv.rtyp = INTVEC_CMD;
    2993               yyval.lv.data = (void *)iv;
     3331              (yyval.lv).rtyp = INTVEC_CMD;
     3332              (yyval.lv).data = (void *)iv;
    29943333            }
    2995             yyvsp[-1].lv.CleanUp();
     3334            (yyvsp[(3) - (4)].lv).CleanUp();
     3335          ;}
     3336    break;
     3337
     3338  case 111:
     3339
     3340/* Line 1464 of yacc.c  */
     3341#line 1078 "grammar.y"
     3342    {
     3343            (yyval.lv) = (yyvsp[(1) - (3)].lv);
     3344            (yyval.lv).next = (sleftv *)omAllocBin(sleftv_bin);
     3345            memcpy((yyval.lv).next,&(yyvsp[(3) - (3)].lv),sizeof(sleftv));
     3346          ;}
     3347    break;
     3348
     3349  case 113:
     3350
     3351/* Line 1464 of yacc.c  */
     3352#line 1088 "grammar.y"
     3353    {
     3354            (yyval.lv) = (yyvsp[(2) - (3)].lv);
     3355          ;}
     3356    break;
     3357
     3358  case 114:
     3359
     3360/* Line 1464 of yacc.c  */
     3361#line 1094 "grammar.y"
     3362    {
     3363            expected_parms = TRUE;
    29963364          ;}
    29973365    break;
    29983366
    29993367  case 115:
    3000 #line 1067 "grammar.y"
    3001     {
    3002             yyval.lv = yyvsp[-2].lv;
    3003             yyval.lv.next = (sleftv *)omAllocBin(sleftv_bin);
    3004             memcpy(yyval.lv.next,&yyvsp[0].lv,sizeof(sleftv));
    3005           ;}
     3368
     3369/* Line 1464 of yacc.c  */
     3370#line 1100 "grammar.y"
     3371    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3372    break;
     3373
     3374  case 116:
     3375
     3376/* Line 1464 of yacc.c  */
     3377#line 1102 "grammar.y"
     3378    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
    30063379    break;
    30073380
    30083381  case 117:
    3009 #line 1077 "grammar.y"
    3010     {
    3011             yyval.lv = yyvsp[-1].lv;
    3012           ;}
     3382
     3383/* Line 1464 of yacc.c  */
     3384#line 1104 "grammar.y"
     3385    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
    30133386    break;
    30143387
    30153388  case 118:
    3016 #line 1083 "grammar.y"
    3017     {
    3018             expected_parms = TRUE;
    3019           ;}
     3389
     3390/* Line 1464 of yacc.c  */
     3391#line 1113 "grammar.y"
     3392    { if ((yyvsp[(1) - (2)].i) != '<') YYERROR;
     3393            if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}
    30203394    break;
    30213395
    30223396  case 119:
    3023 #line 1095 "grammar.y"
    3024     { if (yyvsp[-1].i != '<') YYERROR;
    3025             if((feFilePending=feFopen(yyvsp[0].name,"r",NULL,TRUE))==NULL) YYERROR; ;}
     3397
     3398/* Line 1464 of yacc.c  */
     3399#line 1116 "grammar.y"
     3400    { newFile((yyvsp[(2) - (4)].name),feFilePending); ;}
    30263401    break;
    30273402
    30283403  case 120:
    3029 #line 1098 "grammar.y"
    3030     { newFile(yyvsp[-2].name,feFilePending); ;}
     3404
     3405/* Line 1464 of yacc.c  */
     3406#line 1121 "grammar.y"
     3407    {
     3408            feHelp((yyvsp[(2) - (3)].name));
     3409            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3410          ;}
    30313411    break;
    30323412
    30333413  case 121:
    3034 #line 1103 "grammar.y"
    3035     {
    3036             feHelp(yyvsp[-1].name);
    3037             omFree((ADDRESS)yyvsp[-1].name);
     3414
     3415/* Line 1464 of yacc.c  */
     3416#line 1126 "grammar.y"
     3417    {
     3418            feHelp(NULL);
    30383419          ;}
    30393420    break;
    30403421
    30413422  case 122:
    3042 #line 1108 "grammar.y"
    3043     {
    3044             feHelp(NULL);
     3423
     3424/* Line 1464 of yacc.c  */
     3425#line 1133 "grammar.y"
     3426    {
     3427            singular_example((yyvsp[(2) - (3)].name));
     3428            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    30453429          ;}
    30463430    break;
    30473431
    30483432  case 123:
    3049 #line 1115 "grammar.y"
    3050     {
    3051             singular_example(yyvsp[-1].name);
    3052             omFree((ADDRESS)yyvsp[-1].name);
    3053           ;}
    3054     break;
    3055 
    3056   case 124:
    3057 #line 1123 "grammar.y"
    3058     {
    3059           if (basePack!=yyvsp[0].lv.req_packhdl)
     3433
     3434/* Line 1464 of yacc.c  */
     3435#line 1141 "grammar.y"
     3436    {
     3437          if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
    30603438          {
    3061             if(iiExport(&yyvsp[0].lv,0,currPackHdl)) YYERROR;
     3439            if(iiExport(&(yyvsp[(2) - (2)].lv),0,currPackHdl)) YYERROR;
    30623440          }
    30633441          else
    3064             if (iiExport(&yyvsp[0].lv,0)) YYERROR;
     3442            if (iiExport(&(yyvsp[(2) - (2)].lv),0)) YYERROR;
    30653443        ;}
    30663444    break;
    30673445
    3068   case 125:
    3069 #line 1135 "grammar.y"
    3070     {
    3071           leftv v=&yyvsp[0].lv;
     3446  case 124:
     3447
     3448/* Line 1464 of yacc.c  */
     3449#line 1153 "grammar.y"
     3450    {
     3451          leftv v=&(yyvsp[(2) - (2)].lv);
    30723452          if (v->rtyp!=IDHDL)
    30733453          {
     
    30853465    break;
    30863466
    3087   case 126:
    3088 #line 1151 "grammar.y"
    3089     {
    3090           leftv v=&yyvsp[0].lv;
     3467  case 125:
     3468
     3469/* Line 1464 of yacc.c  */
     3470#line 1169 "grammar.y"
     3471    {
     3472          leftv v=&(yyvsp[(3) - (3)].lv);
    30913473          if (v->rtyp!=IDHDL)
    30923474          {
     
    31043486    break;
    31053487
     3488  case 126:
     3489
     3490/* Line 1464 of yacc.c  */
     3491#line 1188 "grammar.y"
     3492    {
     3493            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3494          ;}
     3495    break;
     3496
    31063497  case 127:
    3107 #line 1170 "grammar.y"
    3108     {
    3109             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     3498
     3499/* Line 1464 of yacc.c  */
     3500#line 1192 "grammar.y"
     3501    {
     3502            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    31103503          ;}
    31113504    break;
    31123505
    31133506  case 128:
    3114 #line 1174 "grammar.y"
    3115     {
    3116             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     3507
     3508/* Line 1464 of yacc.c  */
     3509#line 1196 "grammar.y"
     3510    {
     3511            if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;
     3512            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    31173513          ;}
    31183514    break;
    31193515
    31203516  case 129:
    3121 #line 1178 "grammar.y"
    3122     {
    3123             if (yyvsp[-1].i==QRING_CMD) yyvsp[-1].i=RING_CMD;
    3124             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     3517
     3518/* Line 1464 of yacc.c  */
     3519#line 1201 "grammar.y"
     3520    {
     3521            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    31253522          ;}
    31263523    break;
    31273524
    31283525  case 130:
    3129 #line 1183 "grammar.y"
    3130     {
    3131             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     3526
     3527/* Line 1464 of yacc.c  */
     3528#line 1205 "grammar.y"
     3529    {
     3530            list_cmd(RING_CMD,NULL,"// ",TRUE);
    31323531          ;}
    31333532    break;
    31343533
    31353534  case 131:
    3136 #line 1187 "grammar.y"
    3137     {
    3138             list_cmd(RING_CMD,NULL,"// ",TRUE);
    3139           ;}
     3535
     3536/* Line 1464 of yacc.c  */
     3537#line 1209 "grammar.y"
     3538    {
     3539            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3540           ;}
    31403541    break;
    31413542
    31423543  case 132:
    3143 #line 1191 "grammar.y"
    3144     {
    3145             list_cmd(MATRIX_CMD,NULL,"// ",TRUE);
    3146            ;}
     3544
     3545/* Line 1464 of yacc.c  */
     3546#line 1213 "grammar.y"
     3547    {
     3548            list_cmd(PROC_CMD,NULL,"// ",TRUE);
     3549          ;}
    31473550    break;
    31483551
    31493552  case 133:
    3150 #line 1195 "grammar.y"
    3151     {
    3152             list_cmd(INTMAT_CMD,NULL,"// ",TRUE);
     3553
     3554/* Line 1464 of yacc.c  */
     3555#line 1217 "grammar.y"
     3556    {
     3557            list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);
     3558            (yyvsp[(3) - (4)].lv).CleanUp();
    31533559          ;}
    31543560    break;
    31553561
    31563562  case 134:
    3157 #line 1199 "grammar.y"
    3158     {
    3159             list_cmd(PROC_CMD,NULL,"// ",TRUE);
     3563
     3564/* Line 1464 of yacc.c  */
     3565#line 1222 "grammar.y"
     3566    {
     3567            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3568              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3569            (yyvsp[(3) - (6)].lv).CleanUp();
    31603570          ;}
    31613571    break;
    31623572
    31633573  case 135:
    3164 #line 1203 "grammar.y"
    3165     {
    3166             list_cmd(0,yyvsp[-1].lv.Fullname(),"// ",TRUE);
    3167             yyvsp[-1].lv.CleanUp();
     3574
     3575/* Line 1464 of yacc.c  */
     3576#line 1228 "grammar.y"
     3577    {
     3578            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3579              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3580            (yyvsp[(3) - (6)].lv).CleanUp();
    31683581          ;}
    31693582    break;
    31703583
    31713584  case 136:
    3172 #line 1208 "grammar.y"
    3173     {
    3174             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3175               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3176             yyvsp[-3].lv.CleanUp();
     3585
     3586/* Line 1464 of yacc.c  */
     3587#line 1234 "grammar.y"
     3588    {
     3589            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3590              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3591            (yyvsp[(3) - (6)].lv).CleanUp();
    31773592          ;}
    31783593    break;
    31793594
    31803595  case 137:
    3181 #line 1214 "grammar.y"
    3182     {
    3183             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3184               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3185             yyvsp[-3].lv.CleanUp();
     3596
     3597/* Line 1464 of yacc.c  */
     3598#line 1240 "grammar.y"
     3599    {
     3600            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3601              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3602            (yyvsp[(3) - (6)].lv).CleanUp();
    31863603          ;}
    31873604    break;
    31883605
    31893606  case 138:
    3190 #line 1220 "grammar.y"
    3191     {
    3192             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3193               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3194             yyvsp[-3].lv.CleanUp();
     3607
     3608/* Line 1464 of yacc.c  */
     3609#line 1246 "grammar.y"
     3610    {
     3611            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3612              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3613            (yyvsp[(3) - (6)].lv).CleanUp();
    31953614          ;}
    31963615    break;
    31973616
    31983617  case 139:
    3199 #line 1226 "grammar.y"
    3200     {
    3201             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3202               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3203             yyvsp[-3].lv.CleanUp();
     3618
     3619/* Line 1464 of yacc.c  */
     3620#line 1252 "grammar.y"
     3621    {
     3622            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3623              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3624            (yyvsp[(3) - (6)].lv).CleanUp();
    32043625          ;}
    32053626    break;
    32063627
    32073628  case 140:
    3208 #line 1232 "grammar.y"
    3209     {
    3210             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3211               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3212             yyvsp[-3].lv.CleanUp();
     3629
     3630/* Line 1464 of yacc.c  */
     3631#line 1258 "grammar.y"
     3632    {
     3633            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3634              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3635            (yyvsp[(3) - (6)].lv).CleanUp();
    32133636          ;}
    32143637    break;
    32153638
    32163639  case 141:
    3217 #line 1238 "grammar.y"
    3218     {
    3219             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3220               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3221             yyvsp[-3].lv.CleanUp();
     3640
     3641/* Line 1464 of yacc.c  */
     3642#line 1270 "grammar.y"
     3643    {
     3644            list_cmd(-1,NULL,"// ",TRUE);
    32223645          ;}
    32233646    break;
    32243647
    32253648  case 142:
    3226 #line 1244 "grammar.y"
    3227     {
    3228             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3229               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3230             yyvsp[-3].lv.CleanUp();
    3231           ;}
     3649
     3650/* Line 1464 of yacc.c  */
     3651#line 1276 "grammar.y"
     3652    { yyInRingConstruction = TRUE; ;}
    32323653    break;
    32333654
    32343655  case 143:
    3235 #line 1250 "grammar.y"
    3236     {
    3237             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3238               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3239             yyvsp[-3].lv.CleanUp();
    3240           ;}
    3241     break;
    3242 
    3243   case 144:
    3244 #line 1262 "grammar.y"
    3245     {
    3246             list_cmd(-1,NULL,"// ",TRUE);
    3247           ;}
    3248     break;
    3249 
    3250   case 145:
    3251 #line 1268 "grammar.y"
    3252     { yyInRingConstruction = TRUE; ;}
    3253     break;
    3254 
    3255   case 146:
    3256 #line 1277 "grammar.y"
    3257     {
    3258             const char *ring_name = yyvsp[-6].lv.name;
     3656
     3657/* Line 1464 of yacc.c  */
     3658#line 1285 "grammar.y"
     3659    {
     3660            const char *ring_name = (yyvsp[(2) - (8)].lv).name;
    32593661            ring b=
    3260             rInit(&yyvsp[-4].lv,            /* characteristik and list of parameters*/
    3261                   &yyvsp[-2].lv,            /* names of ringvariables */
    3262                   &yyvsp[0].lv);            /* ordering */
     3662            rInit(&(yyvsp[(4) - (8)].lv),            /* characteristik and list of parameters*/
     3663                  &(yyvsp[(6) - (8)].lv),            /* names of ringvariables */
     3664                  &(yyvsp[(8) - (8)].lv));            /* ordering */
    32633665            idhdl newRingHdl=NULL;
    32643666
     
    32663668            {
    32673669              newRingHdl=enterid(ring_name, myynest, RING_CMD,
    3268                                    &(yyvsp[-6].lv.req_packhdl->idroot),FALSE);
    3269               yyvsp[-6].lv.CleanUp();
     3670                                   &((yyvsp[(2) - (8)].lv).req_packhdl->idroot),FALSE);
     3671              (yyvsp[(2) - (8)].lv).CleanUp();
    32703672              if (newRingHdl!=NULL)
    32713673              {
     
    32893691    break;
    32903692
    3291   case 147:
    3292 #line 1310 "grammar.y"
    3293     {
    3294             const char *ring_name = yyvsp[0].lv.name;
     3693  case 144:
     3694
     3695/* Line 1464 of yacc.c  */
     3696#line 1318 "grammar.y"
     3697    {
     3698            const char *ring_name = (yyvsp[(2) - (2)].lv).name;
    32953699            if (!inerror) rDefault(ring_name);
    32963700            yyInRingConstruction = FALSE;
    3297             yyvsp[0].lv.CleanUp();
    3298           ;}
    3299     break;
    3300 
    3301   case 148:
    3302 #line 1320 "grammar.y"
    3303     {
    3304             if ((yyvsp[-1].i!=LIB_CMD)||(iiLibCmd(yyvsp[0].name,TRUE,TRUE,TRUE)))
     3701            (yyvsp[(2) - (2)].lv).CleanUp();
     3702          ;}
     3703    break;
     3704
     3705  case 145:
     3706
     3707/* Line 1464 of yacc.c  */
     3708#line 1328 "grammar.y"
     3709    {
     3710            if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(iiLibCmd((yyvsp[(2) - (2)].name),TRUE,TRUE,TRUE)))
    33053711            //if ($1==LIB_CMD)
    33063712            //{
     
    33133719    break;
    33143720
    3315   case 151:
    3316 #line 1336 "grammar.y"
    3317     {
    3318             if ((yyvsp[-1].i==KEEPRING_CMD) && (myynest==0))
     3721  case 148:
     3722
     3723/* Line 1464 of yacc.c  */
     3724#line 1344 "grammar.y"
     3725    {
     3726            if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))
    33193727               MYYERROR("only inside a proc allowed");
    3320             const char * n=yyvsp[0].lv.Name();
    3321             if (((yyvsp[0].lv.Typ()==RING_CMD)||(yyvsp[0].lv.Typ()==QRING_CMD))
    3322             && (yyvsp[0].lv.rtyp==IDHDL))
     3728            const char * n=(yyvsp[(2) - (2)].lv).Name();
     3729            if ((((yyvsp[(2) - (2)].lv).Typ()==RING_CMD)||((yyvsp[(2) - (2)].lv).Typ()==QRING_CMD))
     3730            && ((yyvsp[(2) - (2)].lv).rtyp==IDHDL))
    33233731            {
    3324               idhdl h=(idhdl)yyvsp[0].lv.data;
    3325               if (yyvsp[0].lv.e!=NULL) h=rFindHdl((ring)yyvsp[0].lv.Data(),NULL, NULL);
     3732              idhdl h=(idhdl)(yyvsp[(2) - (2)].lv).data;
     3733              if ((yyvsp[(2) - (2)].lv).e!=NULL) h=rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),NULL, NULL);
    33263734              //Print("setring %s lev %d (ptr:%x)\n",IDID(h),IDLEV(h),IDRING(h));
    3327               if (yyvsp[-1].i==KEEPRING_CMD)
     3735              if ((yyvsp[(1) - (2)].i)==KEEPRING_CMD)
    33283736              {
    33293737                if (h!=NULL)
     
    33313739                  if (IDLEV(h)!=0)
    33323740                  {
    3333                     if (iiExport(&yyvsp[0].lv,myynest-1)) YYERROR;
     3741                    if (iiExport(&(yyvsp[(2) - (2)].lv),myynest-1)) YYERROR;
    33343742#if 1
    33353743                    idhdl p=IDRING(h)->idroot;
     
    33633771                {
    33643772                  Werror("%s is no identifier",n);
    3365                   yyvsp[0].lv.CleanUp();
     3773                  (yyvsp[(2) - (2)].lv).CleanUp();
    33663774                  YYERROR;
    33673775                }
     
    33713779              {
    33723780                Werror("cannot find the name of the basering %s",n);
    3373                 yyvsp[0].lv.CleanUp();
     3781                (yyvsp[(2) - (2)].lv).CleanUp();
    33743782                YYERROR;
    33753783              }
    3376               yyvsp[0].lv.CleanUp();
     3784              (yyvsp[(2) - (2)].lv).CleanUp();
    33773785            }
    33783786            else
    33793787            {
    33803788              Werror("%s is no name of a ring/qring",n);
    3381               yyvsp[0].lv.CleanUp();
     3789              (yyvsp[(2) - (2)].lv).CleanUp();
    33823790              YYERROR;
    33833791            }
     
    33853793    break;
    33863794
    3387   case 152:
    3388 #line 1408 "grammar.y"
    3389     {
    3390             type_cmd(&(yyvsp[0].lv));
    3391           ;}
    3392     break;
    3393 
    3394   case 153:
    3395 #line 1412 "grammar.y"
     3795  case 149:
     3796
     3797/* Line 1464 of yacc.c  */
     3798#line 1416 "grammar.y"
     3799    {
     3800            type_cmd(&((yyvsp[(2) - (2)].lv)));
     3801          ;}
     3802    break;
     3803
     3804  case 150:
     3805
     3806/* Line 1464 of yacc.c  */
     3807#line 1420 "grammar.y"
    33963808    {
    33973809            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
    33983810            #ifdef SIQ
    3399             if (yyvsp[0].lv.rtyp!=COMMAND)
     3811            if ((yyvsp[(1) - (1)].lv).rtyp!=COMMAND)
    34003812            {
    34013813            #endif
    3402               if (yyvsp[0].lv.Typ()==UNKNOWN)
     3814              if ((yyvsp[(1) - (1)].lv).Typ()==UNKNOWN)
    34033815              {
    3404                 if (yyvsp[0].lv.name!=NULL)
     3816                if ((yyvsp[(1) - (1)].lv).name!=NULL)
    34053817                {
    3406                   Werror("`%s` is undefined",yyvsp[0].lv.name);
    3407                   omFree((ADDRESS)yyvsp[0].lv.name);
     3818                  Werror("`%s` is undefined",(yyvsp[(1) - (1)].lv).name);
     3819                  omFree((ADDRESS)(yyvsp[(1) - (1)].lv).name);
    34083820                }
    34093821                YYERROR;
     
    34123824            }
    34133825            #endif
    3414             yyvsp[0].lv.Print(&sLastPrinted);
    3415             yyvsp[0].lv.CleanUp(currRing);
     3826            (yyvsp[(1) - (1)].lv).Print(&sLastPrinted);
     3827            (yyvsp[(1) - (1)].lv).CleanUp(currRing);
    34163828            if (errorreported) YYERROR;
    34173829          ;}
    34183830    break;
    34193831
    3420   case 154:
    3421 #line 1441 "grammar.y"
    3422     {
    3423             int i; TESTSETINT(yyvsp[-2].lv,i);
     3832  case 151:
     3833
     3834/* Line 1464 of yacc.c  */
     3835#line 1449 "grammar.y"
     3836    {
     3837            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
    34243838            if (i!=0)
    34253839            {
    3426               newBuffer( yyvsp[0].name, BT_if);
     3840              newBuffer( (yyvsp[(5) - (5)].name), BT_if);
    34273841            }
    34283842            else
    34293843            {
    3430               omFree((ADDRESS)yyvsp[0].name);
     3844              omFree((ADDRESS)(yyvsp[(5) - (5)].name));
    34313845              currentVoice->ifsw=1;
    34323846            }
     
    34343848    break;
    34353849
    3436   case 155:
    3437 #line 1454 "grammar.y"
     3850  case 152:
     3851
     3852/* Line 1464 of yacc.c  */
     3853#line 1462 "grammar.y"
    34383854    {
    34393855            if (currentVoice->ifsw==1)
    34403856            {
    34413857              currentVoice->ifsw=0;
    3442               newBuffer( yyvsp[0].name, BT_else);
     3858              newBuffer( (yyvsp[(2) - (2)].name), BT_else);
    34433859            }
    34443860            else
     
    34483864                Warn("`else` without `if` in level %d",myynest);
    34493865              }
    3450               omFree((ADDRESS)yyvsp[0].name);
     3866              omFree((ADDRESS)(yyvsp[(2) - (2)].name));
    34513867            }
    34523868            currentVoice->ifsw=0;
     
    34543870    break;
    34553871
    3456   case 156:
    3457 #line 1471 "grammar.y"
    3458     {
    3459             int i; TESTSETINT(yyvsp[-2].lv,i);
     3872  case 153:
     3873
     3874/* Line 1464 of yacc.c  */
     3875#line 1479 "grammar.y"
     3876    {
     3877            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
    34603878            if (i)
    34613879            {
     
    34663884    break;
    34673885
    3468   case 157:
    3469 #line 1480 "grammar.y"
     3886  case 154:
     3887
     3888/* Line 1464 of yacc.c  */
     3889#line 1488 "grammar.y"
    34703890    {
    34713891            if (exitBuffer(BT_break)) YYERROR;
     
    34743894    break;
    34753895
    3476   case 158:
    3477 #line 1485 "grammar.y"
     3896  case 155:
     3897
     3898/* Line 1464 of yacc.c  */
     3899#line 1493 "grammar.y"
    34783900    {
    34793901            if (contBuffer(BT_break)) YYERROR;
     
    34823904    break;
    34833905
    3484   case 159:
    3485 #line 1493 "grammar.y"
     3906  case 156:
     3907
     3908/* Line 1464 of yacc.c  */
     3909#line 1501 "grammar.y"
    34863910    {
    34873911            /* -> if(!$2) break; $3; continue;*/
    3488             char * s = (char *)omAlloc( strlen(yyvsp[-1].name) + strlen(yyvsp[0].name) + 36);
    3489             sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,yyvsp[-1].name,yyvsp[0].name);
     3912            char * s = (char *)omAlloc( strlen((yyvsp[(2) - (3)].name)) + strlen((yyvsp[(3) - (3)].name)) + 36);
     3913            sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[(2) - (3)].name),(yyvsp[(3) - (3)].name));
    34903914            newBuffer(s,BT_break);
    3491             omFree((ADDRESS)yyvsp[-1].name);
    3492             omFree((ADDRESS)yyvsp[0].name);
    3493           ;}
    3494     break;
    3495 
    3496   case 160:
    3497 #line 1505 "grammar.y"
     3915            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3916            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     3917          ;}
     3918    break;
     3919
     3920  case 157:
     3921
     3922/* Line 1464 of yacc.c  */
     3923#line 1513 "grammar.y"
    34983924    {
    34993925            /* $2 */
    35003926            /* if (!$3) break; $5; $4; continue; */
    3501             char * s = (char *)omAlloc( strlen(yyvsp[-2].name)+strlen(yyvsp[-1].name)+strlen(yyvsp[0].name)+36);
     3927            char * s = (char *)omAlloc( strlen((yyvsp[(3) - (5)].name))+strlen((yyvsp[(4) - (5)].name))+strlen((yyvsp[(5) - (5)].name))+36);
    35023928            sprintf(s,"forif (!(%s)) break;\n%s%s;\ncontinue;\n "
    3503                    ,yyvsp[-2].name,yyvsp[0].name,yyvsp[-1].name);
    3504             omFree((ADDRESS)yyvsp[-2].name);
    3505             omFree((ADDRESS)yyvsp[-1].name);
    3506             omFree((ADDRESS)yyvsp[0].name);
     3929                   ,(yyvsp[(3) - (5)].name),(yyvsp[(5) - (5)].name),(yyvsp[(4) - (5)].name));
     3930            omFree((ADDRESS)(yyvsp[(3) - (5)].name));
     3931            omFree((ADDRESS)(yyvsp[(4) - (5)].name));
     3932            omFree((ADDRESS)(yyvsp[(5) - (5)].name));
    35073933            newBuffer(s,BT_break);
    3508             s = (char *)omAlloc( strlen(yyvsp[-3].name) + 3);
    3509             sprintf(s,"%s;\n",yyvsp[-3].name);
    3510             omFree((ADDRESS)yyvsp[-3].name);
     3934            s = (char *)omAlloc( strlen((yyvsp[(2) - (5)].name)) + 3);
     3935            sprintf(s,"%s;\n",(yyvsp[(2) - (5)].name));
     3936            omFree((ADDRESS)(yyvsp[(2) - (5)].name));
    35113937            newBuffer(s,BT_if);
    35123938          ;}
    35133939    break;
    35143940
    3515   case 161:
    3516 #line 1524 "grammar.y"
     3941  case 158:
     3942
     3943/* Line 1464 of yacc.c  */
     3944#line 1532 "grammar.y"
    35173945    {
    35183946            procinfov pi;
    3519             idhdl h = enterid(yyvsp[-1].name,myynest,PROC_CMD,&IDROOT,TRUE);
    3520             if (h==NULL) {omFree((ADDRESS)yyvsp[-1].name);omFree((ADDRESS)yyvsp[0].name); YYERROR;}
    3521             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-1].name, 0, 0);
    3522             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+31);;
    3523             sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",yyvsp[0].name);
    3524             omFree((ADDRESS)yyvsp[0].name);
    3525             omFree((ADDRESS)yyvsp[-1].name);
    3526           ;}
    3527     break;
    3528 
    3529   case 162:
    3530 #line 1535 "grammar.y"
    3531     {
    3532             idhdl h = enterid(yyvsp[-2].name,myynest,PROC_CMD,&IDROOT,TRUE);
     3947            idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     3948            if (h==NULL) {omFree((ADDRESS)(yyvsp[(2) - (3)].name));omFree((ADDRESS)(yyvsp[(3) - (3)].name)); YYERROR;}
     3949            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(2) - (3)].name), 0, 0);
     3950            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+31);;
     3951            sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",(yyvsp[(3) - (3)].name));
     3952            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     3953            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3954          ;}
     3955    break;
     3956
     3957  case 159:
     3958
     3959/* Line 1464 of yacc.c  */
     3960#line 1543 "grammar.y"
     3961    {
     3962            idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
    35333963            if (h==NULL)
    35343964            {
    3535               omFree((ADDRESS)yyvsp[-2].name);
    3536               omFree((ADDRESS)yyvsp[-1].name);
    3537               omFree((ADDRESS)yyvsp[0].name);
     3965              omFree((ADDRESS)(yyvsp[(1) - (3)].name));
     3966              omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3967              omFree((ADDRESS)(yyvsp[(3) - (3)].name));
    35383968              YYERROR;
    35393969            }
    3540             char *args=iiProcArgs(yyvsp[-1].name,FALSE);
    3541             omFree((ADDRESS)yyvsp[-1].name);
     3970            char *args=iiProcArgs((yyvsp[(2) - (3)].name),FALSE);
     3971            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
    35423972            procinfov pi;
    3543             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-2].name, 0, 0);
    3544             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);;
    3545             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name);
     3973            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (3)].name), 0, 0);
     3974            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+strlen(args)+14);;
     3975            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(3) - (3)].name));
    35463976            omFree((ADDRESS)args);
    3547             omFree((ADDRESS)yyvsp[0].name);
    3548             omFree((ADDRESS)yyvsp[-2].name);
    3549           ;}
    3550     break;
    3551 
    3552   case 163:
    3553 #line 1555 "grammar.y"
    3554     {
    3555             omFree((ADDRESS)yyvsp[-1].name);
    3556             idhdl h = enterid(yyvsp[-3].name,myynest,PROC_CMD,&IDROOT,TRUE);
     3977            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     3978            omFree((ADDRESS)(yyvsp[(1) - (3)].name));
     3979          ;}
     3980    break;
     3981
     3982  case 160:
     3983
     3984/* Line 1464 of yacc.c  */
     3985#line 1563 "grammar.y"
     3986    {
     3987            omFree((ADDRESS)(yyvsp[(3) - (4)].name));
     3988            idhdl h = enterid((yyvsp[(1) - (4)].name),myynest,PROC_CMD,&IDROOT,TRUE);
    35573989            if (h==NULL)
    35583990            {
    3559               omFree((ADDRESS)yyvsp[-3].name);
    3560               omFree((ADDRESS)yyvsp[-2].name);
    3561               omFree((ADDRESS)yyvsp[0].name);
     3991              omFree((ADDRESS)(yyvsp[(1) - (4)].name));
     3992              omFree((ADDRESS)(yyvsp[(2) - (4)].name));
     3993              omFree((ADDRESS)(yyvsp[(4) - (4)].name));
    35623994              YYERROR;
    35633995            }
    3564             char *args=iiProcArgs(yyvsp[-2].name,FALSE);
    3565             omFree((ADDRESS)yyvsp[-2].name);
     3996            char *args=iiProcArgs((yyvsp[(2) - (4)].name),FALSE);
     3997            omFree((ADDRESS)(yyvsp[(2) - (4)].name));
    35663998            procinfov pi;
    3567             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-3].name, 0, 0);
    3568             omFree((ADDRESS)yyvsp[-3].name);
    3569             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);;
    3570             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name);
     3999            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (4)].name), 0, 0);
     4000            omFree((ADDRESS)(yyvsp[(1) - (4)].name));
     4001            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(4) - (4)].name))+strlen(args)+14);;
     4002            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(4) - (4)].name));
    35714003            omFree((ADDRESS)args);
    3572             omFree((ADDRESS)yyvsp[0].name);
    3573           ;}
    3574     break;
    3575 
    3576   case 164:
    3577 #line 1579 "grammar.y"
    3578     {
    3579             // decl. of type proc p(int i)
    3580             if (yyvsp[-1].i==PARAMETER)  { if (iiParameter(&yyvsp[0].lv)) YYERROR; }
    3581             else                { if (iiAlias(&yyvsp[0].lv)) YYERROR; }
    3582           ;}
    3583     break;
    3584 
    3585   case 165:
    3586 #line 1585 "grammar.y"
    3587     {
    3588             // decl. of type proc p(i)
     4004            omFree((ADDRESS)(yyvsp[(4) - (4)].name));
     4005          ;}
     4006    break;
     4007
     4008  case 161:
     4009
     4010/* Line 1464 of yacc.c  */
     4011#line 1587 "grammar.y"
     4012    {
     4013            // decl. of type proc p(int i)
     4014            if ((yyvsp[(1) - (2)].i)==PARAMETER)  { if (iiParameter(&(yyvsp[(2) - (2)].lv))) YYERROR; }
     4015            else                { if (iiAlias(&(yyvsp[(2) - (2)].lv))) YYERROR; }
     4016          ;}
     4017    break;
     4018
     4019  case 162:
     4020
     4021/* Line 1464 of yacc.c  */
     4022#line 1593 "grammar.y"
     4023    {
     4024            // decl. of type proc p(i)
    35894025            sleftv tmp_expr;
    3590             if (yyvsp[-1].i==ALIAS_CMD) MYYERROR("alias requires a type");
    3591             if ((iiDeclCommand(&tmp_expr,&yyvsp[0].lv,myynest,DEF_CMD,&IDROOT))
     4026            if ((yyvsp[(1) - (2)].i)==ALIAS_CMD) MYYERROR("alias requires a type");
     4027            if ((iiDeclCommand(&tmp_expr,&(yyvsp[(2) - (2)].lv),myynest,DEF_CMD,&IDROOT))
    35924028            || (iiParameter(&tmp_expr)))
    35934029              YYERROR;
     
    35954031    break;
    35964032
    3597   case 166:
    3598 #line 1597 "grammar.y"
     4033  case 163:
     4034
     4035/* Line 1464 of yacc.c  */
     4036#line 1605 "grammar.y"
    35994037    {
    36004038            if(iiRETURNEXPR==NULL) YYERROR;
    3601             iiRETURNEXPR[myynest].Copy(&yyvsp[-1].lv);
    3602             yyvsp[-1].lv.CleanUp();
     4039            iiRETURNEXPR[myynest].Copy(&(yyvsp[(3) - (4)].lv));
     4040            (yyvsp[(3) - (4)].lv).CleanUp();
    36034041            if (exitBuffer(BT_proc)) YYERROR;
    36044042          ;}
    36054043    break;
    36064044
    3607   case 167:
    3608 #line 1604 "grammar.y"
    3609     {
    3610             if (yyvsp[-2].i==RETURN)
     4045  case 164:
     4046
     4047/* Line 1464 of yacc.c  */
     4048#line 1612 "grammar.y"
     4049    {
     4050            if ((yyvsp[(1) - (3)].i)==RETURN)
    36114051            {
    36124052              if(iiRETURNEXPR==NULL) YYERROR;
     
    36194059
    36204060
     4061
     4062/* Line 1464 of yacc.c  */
     4063#line 4062 "grammar.cc"
     4064      default: break;
    36214065    }
    3622 
    3623 /* Line 1010 of yacc.c.  */
    3624 #line 3621 "grammar.cc"
    3625 
    3626 
    3627   yyvsp -= yylen;
    3628   yyssp -= yylen;
    3629 
    3630 
     4066  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
     4067
     4068  YYPOPSTACK (yylen);
     4069  yylen = 0;
    36314070  YY_STACK_PRINT (yyss, yyssp);
    36324071
    36334072  *++yyvsp = yyval;
    3634 
    36354073
    36364074  /* Now `shift' the result of the reduction.  Determine what state
     
    36574095    {
    36584096      ++yynerrs;
    3659 #if YYERROR_VERBOSE
    3660       yyn = yypact[yystate];
    3661 
    3662       if (YYPACT_NINF < yyn && yyn < YYLAST)
     4097#if ! YYERROR_VERBOSE
     4098      yyerror (YY_("syntax error"));
     4099#else
     4100      {
     4101        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
     4102        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
     4103          {
     4104            YYSIZE_T yyalloc = 2 * yysize;
     4105            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
     4106              yyalloc = YYSTACK_ALLOC_MAXIMUM;
     4107            if (yymsg != yymsgbuf)
     4108              YYSTACK_FREE (yymsg);
     4109            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
     4110            if (yymsg)
     4111              yymsg_alloc = yyalloc;
     4112            else
     4113              {
     4114                yymsg = yymsgbuf;
     4115                yymsg_alloc = sizeof yymsgbuf;
     4116              }
     4117          }
     4118
     4119        if (0 < yysize && yysize <= yymsg_alloc)
     4120          {
     4121            (void) yysyntax_error (yymsg, yystate, yychar);
     4122            yyerror (yymsg);
     4123          }
     4124        else
     4125          {
     4126            yyerror (YY_("syntax error"));
     4127            if (yysize != 0)
     4128              goto yyexhaustedlab;
     4129          }
     4130      }
     4131#endif
     4132    }
     4133
     4134
     4135
     4136  if (yyerrstatus == 3)
     4137    {
     4138      /* If just tried and failed to reuse lookahead token after an
     4139         error, discard it.  */
     4140
     4141      if (yychar <= YYEOF)
    36634142        {
    3664           YYSIZE_T yysize = 0;
    3665           int yytype = YYTRANSLATE (yychar);
    3666           const char* yyprefix;
    3667           char *yymsg;
    3668           int yyx;
    3669 
    3670           /* Start YYX at -YYN if negative to avoid negative indexes in
    3671              YYCHECK.  */
    3672           int yyxbegin = yyn < 0 ? -yyn : 0;
    3673 
    3674           /* Stay within bounds of both yycheck and yytname.  */
    3675           int yychecklim = YYLAST - yyn;
    3676           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    3677           int yycount = 0;
    3678 
    3679           yyprefix = ", expecting ";
    3680           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    3681             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    3682               {
    3683                 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
    3684                 yycount += 1;
    3685                 if (yycount == 5)
    3686                   {
    3687                     yysize = 0;
    3688                     break;
    3689                   }
    3690               }
    3691           yysize += (sizeof ("syntax error, unexpected ")
    3692                      + yystrlen (yytname[yytype]));
    3693           yymsg = (char *) YYSTACK_ALLOC (yysize);
    3694           if (yymsg != 0)
    3695             {
    3696               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
    3697               yyp = yystpcpy (yyp, yytname[yytype]);
    3698 
    3699               if (yycount < 5)
    3700                 {
    3701                   yyprefix = ", expecting ";
    3702                   for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    3703                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    3704                       {
    3705                         yyp = yystpcpy (yyp, yyprefix);
    3706                         yyp = yystpcpy (yyp, yytname[yyx]);
    3707                         yyprefix = " or ";
    3708                       }
    3709                 }
    3710               yyerror (yymsg);
    3711               YYSTACK_FREE (yymsg);
    3712             }
    3713           else
    3714             yyerror ("syntax error; also virtual memory exhausted");
     4143          /* Return failure if at end of input.  */
     4144          if (yychar == YYEOF)
     4145            YYABORT;
    37154146        }
    37164147      else
    3717 #endif /* YYERROR_VERBOSE */
    3718         yyerror ("syntax error");
    3719     }
    3720 
    3721 
    3722 
    3723   if (yyerrstatus == 3)
    3724     {
    3725       /* If just tried and failed to reuse lookahead token after an
    3726          error, discard it.  */
    3727 
    3728       if (yychar <= YYEOF)
    3729         {
    3730           /* If at end of input, pop the error token,
    3731              then the rest of the stack, then return failure.  */
    3732           if (yychar == YYEOF)
    3733              for (;;)
    3734                {
    3735                  YYPOPSTACK;
    3736                  if (yyssp == yyss)
    3737                    YYABORT;
    3738                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    3739                  yydestruct (yystos[*yyssp], yyvsp);
    3740                }
    3741         }
    3742       else
    37434148        {
    3744           YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
    3745           yydestruct (yytoken, &yylval);
     4149          yydestruct ("Error: discarding",
     4150                      yytoken, &yylval);
    37464151          yychar = YYEMPTY;
    3747 
    37484152        }
    37494153    }
     
    37594163yyerrorlab:
    37604164
    3761 #ifdef __GNUC__
    3762   /* Pacify GCC when the user code never invokes YYERROR and the label
    3763      yyerrorlab therefore never appears in user code.  */
    3764   if (0)
     4165  /* Pacify compilers like GCC when the user code never invokes
     4166     YYERROR and the label yyerrorlab therefore never appears in user
     4167     code.  */
     4168  if (/*CONSTCOND*/ 0)
    37654169     goto yyerrorlab;
    3766 #endif
    3767 
    3768   yyvsp -= yylen;
    3769   yyssp -= yylen;
     4170
     4171  /* Do not reclaim the symbols of the rule which action triggered
     4172     this YYERROR.  */
     4173  YYPOPSTACK (yylen);
     4174  yylen = 0;
     4175  YY_STACK_PRINT (yyss, yyssp);
    37704176  yystate = *yyssp;
    37714177  goto yyerrlab1;
     
    37964202        YYABORT;
    37974203
    3798       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    3799       yydestruct (yystos[yystate], yyvsp);
    3800       YYPOPSTACK;
     4204
     4205      yydestruct ("Error: popping",
     4206                  yystos[yystate], yyvsp);
     4207      YYPOPSTACK (1);
    38014208      yystate = *yyssp;
    38024209      YY_STACK_PRINT (yyss, yyssp);
    38034210    }
    38044211
    3805   if (yyn == YYFINAL)
    3806     YYACCEPT;
    3807 
    3808   YYDPRINTF ((stderr, "Shifting error token, "));
    3809 
    38104212  *++yyvsp = yylval;
    38114213
     4214
     4215  /* Shift the error token.  */
     4216  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
    38124217
    38134218  yystate = yyn;
     
    38294234  goto yyreturn;
    38304235
    3831 #ifndef yyoverflow
    3832 /*----------------------------------------------.
    3833 | yyoverflowlab -- parser overflow comes here.  |
    3834 `----------------------------------------------*/
    3835 yyoverflowlab:
    3836   yyerror ("parser stack overflow");
     4236#if !defined(yyoverflow) || YYERROR_VERBOSE
     4237/*-------------------------------------------------.
     4238| yyexhaustedlab -- memory exhaustion comes here.  |
     4239`-------------------------------------------------*/
     4240yyexhaustedlab:
     4241  yyerror (YY_("memory exhausted"));
    38374242  yyresult = 2;
    38384243  /* Fall through.  */
     
    38404245
    38414246yyreturn:
     4247  if (yychar != YYEMPTY)
     4248     yydestruct ("Cleanup: discarding lookahead",
     4249                 yytoken, &yylval);
     4250  /* Do not reclaim the symbols of the rule which action triggered
     4251     this YYABORT or YYACCEPT.  */
     4252  YYPOPSTACK (yylen);
     4253  YY_STACK_PRINT (yyss, yyssp);
     4254  while (yyssp != yyss)
     4255    {
     4256      yydestruct ("Cleanup: popping",
     4257                  yystos[*yyssp], yyvsp);
     4258      YYPOPSTACK (1);
     4259    }
    38424260#ifndef yyoverflow
    38434261  if (yyss != yyssa)
    38444262    YYSTACK_FREE (yyss);
    38454263#endif
    3846   return yyresult;
     4264#if YYERROR_VERBOSE
     4265  if (yymsg != yymsgbuf)
     4266    YYSTACK_FREE (yymsg);
     4267#endif
     4268  /* Make sure YYID is used.  */
     4269  return YYID (yyresult);
    38474270}
    38484271
  • Singular/grammar.h

    raa2bcca r9127cc  
    1 /* A Bison parser, made by GNU Bison 1.875d.  */
     1/* A Bison parser, made by GNU Bison 2.4.3.  */
    22
    3 /* Skeleton parser for Yacc-like parsing with Bison,
    4    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    5 
    6    This program is free software; you can redistribute it and/or modify
     3/* Skeleton interface for Bison's Yacc-like parsers in C
     4   
     5      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
     6   2009, 2010 Free Software Foundation, Inc.
     7   
     8   This program is free software: you can redistribute it and/or modify
    79   it under the terms of the GNU General Public License as published by
    8    the Free Software Foundation; either version 2, or (at your option)
    9    any later version.
    10 
     10   the Free Software Foundation, either version 3 of the License, or
     11   (at your option) any later version.
     12   
    1113   This program is distributed in the hope that it will be useful,
    1214   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1315   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1416   GNU General Public License for more details.
     17   
     18   You should have received a copy of the GNU General Public License
     19   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    1520
    16    You should have received a copy of the GNU General Public License
    17    along with this program; if not, write to the Free Software
    18    Foundation, Inc., 59 Temple Place - Suite 330,
    19    Boston, MA 02111-1307, USA.  */
     21/* As a special exception, you may create a larger work that contains
     22   part or all of the Bison parser skeleton and distribute that work
     23   under terms of your choice, so long as that work isn't itself a
     24   parser generator using the skeleton or a modified version thereof
     25   as a parser skeleton.  Alternatively, if you modify or redistribute
     26   the parser skeleton itself, you may (at your option) remove this
     27   special exception, which will cause the skeleton and the resulting
     28   Bison output files to be licensed under the GNU General Public
     29   License without this special exception.
     30   
     31   This special exception was added by the Free Software Foundation in
     32   version 2.2 of Bison.  */
    2033
    21 /* As a special exception, when this file is copied by Bison into a
    22    Bison output file, you may use that output file without restriction.
    23    This special exception was added by the Free Software Foundation
    24    in version 1.24 of Bison.  */
    2534
    2635/* Tokens.  */
     
    4049     COLONCOLON = 266,
    4150     GRING_CMD = 267,
    42      INTMAT_CMD = 268,
    43      PROC_CMD = 269,
    44      RING_CMD = 270,
    45      BEGIN_RING = 271,
    46      IDEAL_CMD = 272,
    47      MAP_CMD = 273,
    48      MATRIX_CMD = 274,
    49      MODUL_CMD = 275,
    50      NUMBER_CMD = 276,
    51      POLY_CMD = 277,
    52      RESOLUTION_CMD = 278,
    53      VECTOR_CMD = 279,
    54      BETTI_CMD = 280,
    55      COEFFS_CMD = 281,
    56      COEF_CMD = 282,
    57      CONTRACT_CMD = 283,
    58      DEGREE_CMD = 284,
    59      DEG_CMD = 285,
    60      DIFF_CMD = 286,
    61      DIM_CMD = 287,
    62      DIVISION_CMD = 288,
    63      ELIMINATION_CMD = 289,
    64      E_CMD = 290,
    65      FAREY_CMD = 291,
    66      FETCH_CMD = 292,
    67      FREEMODULE_CMD = 293,
    68      KEEPRING_CMD = 294,
    69      HILBERT_CMD = 295,
    70      HOMOG_CMD = 296,
    71      IMAP_CMD = 297,
    72      INDEPSET_CMD = 298,
    73      INTERRED_CMD = 299,
    74      INTERSECT_CMD = 300,
    75      JACOB_CMD = 301,
    76      JET_CMD = 302,
    77      KBASE_CMD = 303,
    78      KOSZUL_CMD = 304,
    79      LEADCOEF_CMD = 305,
    80      LEADEXP_CMD = 306,
    81      LEAD_CMD = 307,
    82      LEADMONOM_CMD = 308,
    83      LIFTSTD_CMD = 309,
    84      LIFT_CMD = 310,
    85      MAXID_CMD = 311,
    86      MINBASE_CMD = 312,
    87      MINOR_CMD = 313,
    88      MINRES_CMD = 314,
    89      MODULO_CMD = 315,
    90      MONOM_CMD = 316,
    91      MRES_CMD = 317,
    92      MULTIPLICITY_CMD = 318,
    93      ORD_CMD = 319,
    94      PAR_CMD = 320,
    95      PARDEG_CMD = 321,
    96      PREIMAGE_CMD = 322,
    97      QUOTIENT_CMD = 323,
    98      QHWEIGHT_CMD = 324,
    99      REDUCE_CMD = 325,
    100      REGULARITY_CMD = 326,
    101      RES_CMD = 327,
    102      SIMPLIFY_CMD = 328,
    103      SORTVEC_CMD = 329,
    104      SRES_CMD = 330,
    105      STD_CMD = 331,
    106      SUBST_CMD = 332,
    107      SYZYGY_CMD = 333,
    108      VAR_CMD = 334,
    109      VDIM_CMD = 335,
    110      WEDGE_CMD = 336,
    111      WEIGHT_CMD = 337,
    112      VALTVARS = 338,
    113      VMAXDEG = 339,
    114      VMAXMULT = 340,
    115      VNOETHER = 341,
    116      VMINPOLY = 342,
    117      END_RING = 343,
    118      CMD_1 = 344,
    119      CMD_2 = 345,
    120      CMD_3 = 346,
    121      CMD_12 = 347,
    122      CMD_13 = 348,
    123      CMD_23 = 349,
    124      CMD_123 = 350,
    125      CMD_M = 351,
    126      ROOT_DECL = 352,
    127      ROOT_DECL_LIST = 353,
    128      RING_DECL = 354,
    129      RING_DECL_LIST = 355,
    130      EXAMPLE_CMD = 356,
    131      EXPORT_CMD = 357,
    132      HELP_CMD = 358,
    133      KILL_CMD = 359,
    134      LIB_CMD = 360,
    135      LISTVAR_CMD = 361,
    136      SETRING_CMD = 362,
    137      TYPE_CMD = 363,
    138      STRINGTOK = 364,
    139      BLOCKTOK = 365,
    140      INT_CONST = 366,
    141      UNKNOWN_IDENT = 367,
    142      RINGVAR = 368,
    143      PROC_DEF = 369,
    144      BREAK_CMD = 370,
    145      CONTINUE_CMD = 371,
    146      ELSE_CMD = 372,
    147      EVAL = 373,
    148      QUOTE = 374,
    149      FOR_CMD = 375,
    150      IF_CMD = 376,
    151      SYS_BREAK = 377,
    152      WHILE_CMD = 378,
    153      RETURN = 379,
    154      PARAMETER = 380,
    155      SYSVAR = 381,
    156      UMINUS = 382
     51     BIGINTMAT_CMD = 268,
     52     INTMAT_CMD = 269,
     53     PROC_CMD = 270,
     54     RING_CMD = 271,
     55     BEGIN_RING = 272,
     56     IDEAL_CMD = 273,
     57     MAP_CMD = 274,
     58     MATRIX_CMD = 275,
     59     MODUL_CMD = 276,
     60     NUMBER_CMD = 277,
     61     POLY_CMD = 278,
     62     RESOLUTION_CMD = 279,
     63     VECTOR_CMD = 280,
     64     BETTI_CMD = 281,
     65     COEFFS_CMD = 282,
     66     COEF_CMD = 283,
     67     CONTRACT_CMD = 284,
     68     DEGREE_CMD = 285,
     69     DEG_CMD = 286,
     70     DIFF_CMD = 287,
     71     DIM_CMD = 288,
     72     DIVISION_CMD = 289,
     73     ELIMINATION_CMD = 290,
     74     E_CMD = 291,
     75     FAREY_CMD = 292,
     76     FETCH_CMD = 293,
     77     FREEMODULE_CMD = 294,
     78     KEEPRING_CMD = 295,
     79     HILBERT_CMD = 296,
     80     HOMOG_CMD = 297,
     81     IMAP_CMD = 298,
     82     INDEPSET_CMD = 299,
     83     INTERRED_CMD = 300,
     84     INTERSECT_CMD = 301,
     85     JACOB_CMD = 302,
     86     JET_CMD = 303,
     87     KBASE_CMD = 304,
     88     KOSZUL_CMD = 305,
     89     LEADCOEF_CMD = 306,
     90     LEADEXP_CMD = 307,
     91     LEAD_CMD = 308,
     92     LEADMONOM_CMD = 309,
     93     LIFTSTD_CMD = 310,
     94     LIFT_CMD = 311,
     95     MAXID_CMD = 312,
     96     MINBASE_CMD = 313,
     97     MINOR_CMD = 314,
     98     MINRES_CMD = 315,
     99     MODULO_CMD = 316,
     100     MONOM_CMD = 317,
     101     MRES_CMD = 318,
     102     MULTIPLICITY_CMD = 319,
     103     ORD_CMD = 320,
     104     PAR_CMD = 321,
     105     PARDEG_CMD = 322,
     106     PREIMAGE_CMD = 323,
     107     QUOTIENT_CMD = 324,
     108     QHWEIGHT_CMD = 325,
     109     REDUCE_CMD = 326,
     110     REGULARITY_CMD = 327,
     111     RES_CMD = 328,
     112     SIMPLIFY_CMD = 329,
     113     SORTVEC_CMD = 330,
     114     SRES_CMD = 331,
     115     STD_CMD = 332,
     116     SUBST_CMD = 333,
     117     SYZYGY_CMD = 334,
     118     VAR_CMD = 335,
     119     VDIM_CMD = 336,
     120     WEDGE_CMD = 337,
     121     WEIGHT_CMD = 338,
     122     VALTVARS = 339,
     123     VMAXDEG = 340,
     124     VMAXMULT = 341,
     125     VNOETHER = 342,
     126     VMINPOLY = 343,
     127     END_RING = 344,
     128     CMD_1 = 345,
     129     CMD_2 = 346,
     130     CMD_3 = 347,
     131     CMD_12 = 348,
     132     CMD_13 = 349,
     133     CMD_23 = 350,
     134     CMD_123 = 351,
     135     CMD_M = 352,
     136     ROOT_DECL = 353,
     137     ROOT_DECL_LIST = 354,
     138     RING_DECL = 355,
     139     RING_DECL_LIST = 356,
     140     EXAMPLE_CMD = 357,
     141     EXPORT_CMD = 358,
     142     HELP_CMD = 359,
     143     KILL_CMD = 360,
     144     LIB_CMD = 361,
     145     LISTVAR_CMD = 362,
     146     SETRING_CMD = 363,
     147     TYPE_CMD = 364,
     148     STRINGTOK = 365,
     149     BLOCKTOK = 366,
     150     INT_CONST = 367,
     151     UNKNOWN_IDENT = 368,
     152     RINGVAR = 369,
     153     PROC_DEF = 370,
     154     BREAK_CMD = 371,
     155     CONTINUE_CMD = 372,
     156     ELSE_CMD = 373,
     157     EVAL = 374,
     158     QUOTE = 375,
     159     FOR_CMD = 376,
     160     IF_CMD = 377,
     161     SYS_BREAK = 378,
     162     WHILE_CMD = 379,
     163     RETURN = 380,
     164     PARAMETER = 381,
     165     SYSVAR = 382,
     166     UMINUS = 383
    157167   };
    158168#endif
    159 #define DOTDOT 258
    160 #define EQUAL_EQUAL 259
    161 #define GE 260
    162 #define LE 261
    163 #define MINUSMINUS 262
    164 #define NOT 263
    165 #define NOTEQUAL 264
    166 #define PLUSPLUS 265
    167 #define COLONCOLON 266
    168 #define GRING_CMD 267
    169 #define INTMAT_CMD 268
    170 #define PROC_CMD 269
    171 #define RING_CMD 270
    172 #define BEGIN_RING 271
    173 #define IDEAL_CMD 272
    174 #define MAP_CMD 273
    175 #define MATRIX_CMD 274
    176 #define MODUL_CMD 275
    177 #define NUMBER_CMD 276
    178 #define POLY_CMD 277
    179 #define RESOLUTION_CMD 278
    180 #define VECTOR_CMD 279
    181 #define BETTI_CMD 280
    182 #define COEFFS_CMD 281
    183 #define COEF_CMD 282
    184 #define CONTRACT_CMD 283
    185 #define DEGREE_CMD 284
    186 #define DEG_CMD 285
    187 #define DIFF_CMD 286
    188 #define DIM_CMD 287
    189 #define DIVISION_CMD 288
    190 #define ELIMINATION_CMD 289
    191 #define E_CMD 290
    192 #define FAREY_CMD 291
    193 #define FETCH_CMD 292
    194 #define FREEMODULE_CMD 293
    195 #define KEEPRING_CMD 294
    196 #define HILBERT_CMD 295
    197 #define HOMOG_CMD 296
    198 #define IMAP_CMD 297
    199 #define INDEPSET_CMD 298
    200 #define INTERRED_CMD 299
    201 #define INTERSECT_CMD 300
    202 #define JACOB_CMD 301
    203 #define JET_CMD 302
    204 #define KBASE_CMD 303
    205 #define KOSZUL_CMD 304
    206 #define LEADCOEF_CMD 305
    207 #define LEADEXP_CMD 306
    208 #define LEAD_CMD 307
    209 #define LEADMONOM_CMD 308
    210 #define LIFTSTD_CMD 309
    211 #define LIFT_CMD 310
    212 #define MAXID_CMD 311
    213 #define MINBASE_CMD 312
    214 #define MINOR_CMD 313
    215 #define MINRES_CMD 314
    216 #define MODULO_CMD 315
    217 #define MONOM_CMD 316
    218 #define MRES_CMD 317
    219 #define MULTIPLICITY_CMD 318
    220 #define ORD_CMD 319
    221 #define PAR_CMD 320
    222 #define PARDEG_CMD 321
    223 #define PREIMAGE_CMD 322
    224 #define QUOTIENT_CMD 323
    225 #define QHWEIGHT_CMD 324
    226 #define REDUCE_CMD 325
    227 #define REGULARITY_CMD 326
    228 #define RES_CMD 327
    229 #define SIMPLIFY_CMD 328
    230 #define SORTVEC_CMD 329
    231 #define SRES_CMD 330
    232 #define STD_CMD 331
    233 #define SUBST_CMD 332
    234 #define SYZYGY_CMD 333
    235 #define VAR_CMD 334
    236 #define VDIM_CMD 335
    237 #define WEDGE_CMD 336
    238 #define WEIGHT_CMD 337
    239 #define VALTVARS 338
    240 #define VMAXDEG 339
    241 #define VMAXMULT 340
    242 #define VNOETHER 341
    243 #define VMINPOLY 342
    244 #define END_RING 343
    245 #define CMD_1 344
    246 #define CMD_2 345
    247 #define CMD_3 346
    248 #define CMD_12 347
    249 #define CMD_13 348
    250 #define CMD_23 349
    251 #define CMD_123 350
    252 #define CMD_M 351
    253 #define ROOT_DECL 352
    254 #define ROOT_DECL_LIST 353
    255 #define RING_DECL 354
    256 #define RING_DECL_LIST 355
    257 #define EXAMPLE_CMD 356
    258 #define EXPORT_CMD 357
    259 #define HELP_CMD 358
    260 #define KILL_CMD 359
    261 #define LIB_CMD 360
    262 #define LISTVAR_CMD 361
    263 #define SETRING_CMD 362
    264 #define TYPE_CMD 363
    265 #define STRINGTOK 364
    266 #define BLOCKTOK 365
    267 #define INT_CONST 366
    268 #define UNKNOWN_IDENT 367
    269 #define RINGVAR 368
    270 #define PROC_DEF 369
    271 #define BREAK_CMD 370
    272 #define CONTINUE_CMD 371
    273 #define ELSE_CMD 372
    274 #define EVAL 373
    275 #define QUOTE 374
    276 #define FOR_CMD 375
    277 #define IF_CMD 376
    278 #define SYS_BREAK 377
    279 #define WHILE_CMD 378
    280 #define RETURN 379
    281 #define PARAMETER 380
    282 #define SYSVAR 381
    283 #define UMINUS 382
    284169
    285170
    286171
     172#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    287173
    288 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    289 typedef int YYSTYPE;
    290174# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    291175# define YYSTYPE_IS_DECLARED 1
    292 # define YYSTYPE_IS_TRIVIAL 1
    293176#endif
    294177
     
    296179
    297180
    298 
  • Singular/grammar.y

    raa2bcca r9127cc  
    195195/* types, part 1 (ring indep.)*/
    196196%token <i> GRING_CMD
     197%token <i> BIGINTMAT_CMD
    197198%token <i> INTMAT_CMD
    198199%token <i> PROC_CMD
     
    331332%type <lv>   expr elemexpr exprlist expr_arithmetic
    332333%type <lv>   declare_ip_variable left_value
     334%type <i>    error
    333335%type <i>    ordername
    334336%type <i>    cmdeq
    335337%type <i>    setrings
    336338%type <i>    ringcmd1
     339%type <i>    mat_cmd
    337340
    338341%type <i>    '=' '<' '>' '+' '-' COLONCOLON
     
    379382            {
    380383              WerrorS("abort...");
    381               while((currentVoice!=NULL) && (currentVoice->prev!=NULL)) exitVoice();
    382               if (currentVoice!=NULL) currentVoice->ifsw=0;
     384              while((currentVoice!=NULL) && (currentVoice->prev!=NULL)) exitVoice();
     385              if (currentVoice!=NULL) currentVoice->ifsw=0;
    383386            }
    384387            if (errorreported) /* also catches abort... */
     
    420423            {
    421424/*  bison failed here*/
    422               if ((inerror!=3) && ($1.i<UMINUS) && ($1.i>' '))
     425              if ((inerror!=3) && ($1<UMINUS) && ($1>' '))
    423426              {
    424427                // 1: yyerror called
     
    426429                // 3: error rule put token+\n
    427430                inerror=3;
    428                 Print(" error at token `%s`\n",iiTwoOps($1.i));
     431                Print(" error at token `%s`\n",iiTwoOps($1));
    429432              }
    430433/**/
     
    516519        | elemexpr '(' exprlist ')'
    517520          {
    518             if ($1.rtyp==UNKNOWN)
    519             { // for x(i)(j)
    520               if(iiExprArith2(&$$,&$1,'(',&$3)) YYERROR;
    521             }
    522             else
    523             {
     521            if ($1.rtyp==UNKNOWN)
     522            { // for x(i)(j)
     523              if(iiExprArith2(&$$,&$1,'(',&$3)) YYERROR;
     524            }
     525            else
     526            {
    524527              $1.next=(leftv)omAllocBin(sleftv_bin);
    525528              memcpy($1.next,&$3,sizeof(sleftv));
    526529              if(iiExprArithM(&$$,&$1,'(')) YYERROR;
    527             }
     530            }
    528531          }
    529532        | '[' exprlist ']'
     
    710713            if(iiExprArithM(&$$,&$3,$1)) YYERROR;
    711714          }
    712         | MATRIX_CMD '(' expr ',' expr ',' expr ')'
    713           {
    714             if(iiExprArith3(&$$,MATRIX_CMD,&$3,&$5,&$7)) YYERROR;
    715           }
    716         | MATRIX_CMD '(' expr ')'
    717           {
    718             if(iiExprArith1(&$$,&$3,MATRIX_CMD)) YYERROR;
    719           }
    720         | INTMAT_CMD '(' expr ',' expr ',' expr ')'
    721           {
    722             if(iiExprArith3(&$$,INTMAT_CMD,&$3,&$5,&$7)) YYERROR;
    723           }
    724         | INTMAT_CMD '(' expr ')'
    725           {
    726             if(iiExprArith1(&$$,&$3,INTMAT_CMD)) YYERROR;
     715        | mat_cmd '(' expr ',' expr ',' expr ')'
     716          {
     717            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
     718          }
     719        | mat_cmd '(' expr ')'
     720          {
     721            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    727722          }
    728723        | RING_CMD '(' rlist ',' rlist ',' ordering ')'
     
    903898            if (iiDeclCommand(&$$,&$2,myynest,$1,&(currRing->idroot), TRUE)) YYERROR;
    904899          }
    905         | MATRIX_CMD elemexpr '[' expr ']' '[' expr ']'
    906           {
    907             if (iiDeclCommand(&$$,&$2,myynest,$1,&(currRing->idroot), TRUE)) YYERROR;
     900        | mat_cmd elemexpr '[' expr ']' '[' expr ']'
     901          {
    908902            int r; TESTSETINT($4,r);
    909903            int c; TESTSETINT($7,c);
     
    912906            if (c < 0)
    913907              MYYERROR("cols must be greater than -1");
    914             leftv v=&$$;
    915             //while (v->next!=NULL) { v=v->next; }
    916             idhdl h=(idhdl)v->data;
    917             idDelete(&IDIDEAL(h));
    918             IDMATRIX(h) = mpNew(r,c);
    919             if (IDMATRIX(h)==NULL) YYERROR;
    920           }
    921         | MATRIX_CMD elemexpr
    922           {
    923             if (iiDeclCommand(&$$,&$2,myynest,$1,&(currRing->idroot), TRUE)) YYERROR;
    924           }
    925         | INTMAT_CMD elemexpr '[' expr ']' '[' expr ']'
    926           {
    927             int r; TESTSETINT($4,r);
    928             int c; TESTSETINT($7,c);
    929             if (r < 1)
    930               MYYERROR("rows must be greater than 0");
    931             if (c < 0)
    932               MYYERROR("cols must be greater than -1");
    933             if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
    934               YYERROR;
    935             leftv v=&$$;
    936             idhdl h=(idhdl)v->data;
    937             delete IDINTVEC(h);
    938             IDINTVEC(h) = new intvec(r,c,0);
    939             if (IDINTVEC(h)==NULL) YYERROR;
    940           }
    941         | INTMAT_CMD elemexpr
    942           {
    943             if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
    944               YYERROR;
    945             leftv v=&$$;
     908            leftv v;
    946909            idhdl h;
    947             do
    948             {
    949                h=(idhdl)v->data;
    950                delete IDINTVEC(h);
    951                IDINTVEC(h) = new intvec(1,1,0);
    952                v=v->next;
    953             } while (v!=NULL);
     910            if ($1 == MATRIX_CMD)
     911            {
     912              if (iiDeclCommand(&$$,&$2,myynest,$1,&(currRing->idroot), TRUE)) YYERROR;
     913              v=&$$;
     914              h=(idhdl)v->data;
     915              idDelete(&IDIDEAL(h));
     916              IDMATRIX(h) = mpNew(r,c);
     917              if (IDMATRIX(h)==NULL) YYERROR;
     918            }
     919            else if ($1 == INTMAT_CMD)
     920            {
     921              if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
     922                YYERROR;
     923              v=&$$;
     924              h=(idhdl)v->data;
     925              delete IDINTVEC(h);
     926              IDINTVEC(h) = new intvec(r,c,0);
     927              if (IDINTVEC(h)==NULL) YYERROR;
     928            }
     929            else /* BIGINTMAT_CMD */
     930            {
     931              if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
     932                YYERROR;
     933              v=&$$;
     934              h=(idhdl)v->data;
     935              delete IDBIMAT(h);
     936              IDBIMAT(h) = new bigintmat(r,c);
     937              if (IDBIMAT(h)==NULL) YYERROR;
     938            }
     939          }
     940        | mat_cmd elemexpr
     941          {
     942            if ($1 == MATRIX_CMD)
     943            {
     944              if (iiDeclCommand(&$$,&$2,myynest,$1,&(currRing->idroot), TRUE)) YYERROR;
     945            }
     946            else if ($1 == INTMAT_CMD)
     947            {
     948              if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
     949                YYERROR;
     950              leftv v=&$$;
     951              idhdl h;
     952              do
     953              {
     954                 h=(idhdl)v->data;
     955                 delete IDINTVEC(h);
     956                 IDINTVEC(h) = new intvec(1,1,0);
     957                 v=v->next;
     958              } while (v!=NULL);
     959            }
     960            else /* BIGINTMAT_CMD */
     961            {
     962              if (iiDeclCommand(&$$,&$2,myynest,$1,&($2.req_packhdl->idroot)))
     963                YYERROR;
     964            }
    954965          }
    955966        | declare_ip_variable ',' elemexpr
     
    10861097        ;
    10871098
     1099mat_cmd: MATRIX_CMD
     1100            { $$ = $1; }
     1101        | INTMAT_CMD
     1102            { $$ = $1; }
     1103        | BIGINTMAT_CMD
     1104            { $$ = $1; }
     1105          ;
    10881106
    10891107/* --------------------------------------------------------------------*/
     
    11881206            list_cmd(RING_CMD,NULL,"// ",TRUE);
    11891207          }
    1190         | LISTVAR_CMD '(' MATRIX_CMD ')'
    1191           {
    1192             list_cmd(MATRIX_CMD,NULL,"// ",TRUE);
     1208        | LISTVAR_CMD '(' mat_cmd ')'
     1209          {
     1210            list_cmd($3,NULL,"// ",TRUE);
    11931211           }
    1194         | LISTVAR_CMD '(' INTMAT_CMD ')'
    1195           {
    1196             list_cmd(INTMAT_CMD,NULL,"// ",TRUE);
    1197           }
    11981212        | LISTVAR_CMD '(' PROC_CMD ')'
    11991213          {
     
    12351249            $3.CleanUp();
    12361250          }
    1237         | LISTVAR_CMD '(' elemexpr ',' MATRIX_CMD ')'
    1238           {
    1239             if($3.Typ() == PACKAGE_CMD)
    1240               list_cmd($5,NULL,"// ",TRUE);
    1241             $3.CleanUp();
    1242           }
    1243         | LISTVAR_CMD '(' elemexpr ',' INTMAT_CMD ')'
     1251        | LISTVAR_CMD '(' elemexpr ',' mat_cmd ')'
    12441252          {
    12451253            if($3.Typ() == PACKAGE_CMD)
     
    15781586        PARAMETER declare_ip_variable
    15791587          {
    1580             // decl. of type proc p(int i)
     1588            // decl. of type proc p(int i)
    15811589            if ($1==PARAMETER)  { if (iiParameter(&$2)) YYERROR; }
    1582             else                { if (iiAlias(&$2)) YYERROR; }
     1590            else                { if (iiAlias(&$2)) YYERROR; }
    15831591          }
    15841592        | PARAMETER expr
    15851593          {
    1586             // decl. of type proc p(i)
     1594            // decl. of type proc p(i)
    15871595            sleftv tmp_expr;
    1588             if ($1==ALIAS_CMD) MYYERROR("alias requires a type");
     1596            if ($1==ALIAS_CMD) MYYERROR("alias requires a type");
    15891597            if ((iiDeclCommand(&tmp_expr,&$2,myynest,DEF_CMD,&IDROOT))
    15901598            || (iiParameter(&tmp_expr)))
  • Singular/idrec.h

    raa2bcca r9127cc  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id$ */
    76/*
    8 * ABSTRACT
     7* ABSTRACT interpreter type for variables
    98*/
    109
     
    1211#include <Singular/attrib.h>
    1312#include <Singular/silink.h>
     13#include <misc/bigintmat.h>
    1414
    1515typedef union uutypes      utypes;
     
    2525  char *        ustring;
    2626  intvec *      iv;
     27  bigintmat *   bim;
    2728  lists         l;
    2829  si_link       li;
  • Singular/ipid.h

    raa2bcca r9127cc  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id$ */
    76/*
    87* ABSTRACT: identfier handling
     
    117116#define IDRING(a)   ((a)->data.uring)
    118117#define IDINTVEC(a) ((a)->data.iv)
     118#define IDBIMAT(a)  ((a)->data.bim)
    119119#define IDPOLY(a)   ((a)->data.p)
    120120#define IDBIGINT(a) ((a)->data.n)
Note: See TracChangeset for help on using the changeset viewer.