Changeset 78c0dbe in git


Ignore:
Timestamp:
Jun 11, 2013, 4:33:05 PM (11 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
452315867969c1da7eab057b8b646b7e852006c0
Parents:
4fb517c2abf52c3388acf86b567442ce177a47ad
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-06-11 16:33:05+02:00
git-committer:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-06-12 10:09:37+02:00
Message:
add: initial stuff for apply

from master
Location:
Singular
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • Singular/grammar.cc

    r4fb517c r78c0dbe  
    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
    4764
     65
     66
     67/* Copy the first part of user declarations.  */
     68
     69/* Line 189 of yacc.c  */
     70#line 7 "grammar.y"
     71
     72
     73#include <stdio.h>
     74#include <stddef.h>
     75#include <stdlib.h>
     76#include <stdarg.h>
     77#include <string.h>
     78
     79#ifdef HAVE_CONFIG_H
     80#include "config.h"
     81#endif /* HAVE_CONFIG_H */
     82#include <misc/auxiliary.h>
     83
     84#include <kernel/mod2.h>
     85#include <misc/mylimits.h>
     86#include <omalloc/omalloc.h>
     87#include <Singular/tok.h>
     88#include <misc/options.h>
     89#include <Singular/stype.h>
     90#include <Singular/fehelp.h>
     91#include <Singular/ipid.h>
     92#include <misc/intvec.h>
     93#include <kernel/febase.h>
     94#include <polys/matpol.h>
     95#include <polys/monomials/ring.h>
     96#include <kernel/kstd1.h>
     97#include <Singular/subexpr.h>
     98#include <Singular/ipshell.h>
     99#include <Singular/ipconv.h>
     100#include <Singular/sdb.h>
     101#include <kernel/ideals.h>
     102#include <coeffs/numbers.h>
     103#include <kernel/polys.h>
     104#include <kernel/stairc.h>
     105#include <kernel/timer.h>
     106#include <Singular/cntrlc.h>
     107#include <polys/monomials/maps.h>
     108#include <kernel/syz.h>
     109#include <Singular/lists.h>
     110#include <kernel/longrat.h>
     111#include <Singular/libparse.h>
     112#include <coeffs/bigintmat.h>
     113
     114#if 0
     115void debug_list(leftv v)
     116{
     117  idhdl r=basePackHdl;
     118  idhdl h;
     119  BOOLEAN found=FALSE;
     120  const char *nn=v->name;
     121  h=IDROOT->get(nn,myynest);
     122  if (h!=NULL)
     123  {
     124     Print("Curr::%s, (%s)\n",nn,Tok2Cmdname((int)IDTYP(h)));
     125     found=TRUE;
     126  }
     127  else         Print("`%s` not found in IDROOT\n",nn);
     128  while (r!=NULL)
     129  {
     130    if ((IDTYP(r)==PACKAGE_CMD)
     131    || (IDTYP(r)==RING_CMD)
     132    || (IDTYP(r)==QRING_CMD))
     133    {
     134      h=IDPACKAGE(r)->idroot->get(nn,myynest);
     135      if (h!=NULL)
     136      {
     137        Print("%s::%s, (%s)\n",r->id,nn,Tok2Cmdname((int)IDTYP(h)));
     138        found=TRUE;
     139      }
     140      else         Print("%s::%s not found\n",r->id,nn);
     141    }
     142    if (r==basePackHdl) r=IDPACKAGE(r)->idroot;
     143    r=r->next;
     144   if (r==basePackHdl) break;
     145  }
     146  if (!found)
     147  {
     148    listall(TRUE);
     149  }
     150}
     151#endif
     152
     153/* From the bison docu:
     154
     155     By defining the macro `YYMAXDEPTH', you can control how deep the
     156parser stack can become before a stack overflow occurs.  Define the
     157macro with a value that is an integer.  This value is the maximum number
     158of tokens that can be shifted (and not reduced) before overflow.  It
     159must be a constant expression whose value is known at compile time.
     160
     161   The stack space allowed is not necessarily allocated.  If you
     162specify a large value for `YYMAXDEPTH', the parser actually allocates a
     163small stack at first, and then makes it bigger by stages as needed.
     164This increasing allocation happens automatically and silently.
     165Therefore, you do not need to make `YYMAXDEPTH' painfully small merely
     166to save space for ordinary inputs that do not need much stack.
     167
     168   The default value of `YYMAXDEPTH', if you do not define it, is 10000.
     169*/
     170#define YYMAXDEPTH MAX_INT_VAL
     171
     172extern int   yylineno;
     173extern FILE* yyin;
     174
     175const  char *  currid;
     176BOOLEAN    yyInRingConstruction=FALSE;
     177BOOLEAN    expected_parms;
     178int        cmdtok;
     179int        inerror = 0;
     180
     181#define TESTSETINT(a,i)                                \
     182   if ((a).Typ() != INT_CMD)                           \
     183   {                                                   \
     184     WerrorS("no int expression");                     \
     185     YYERROR;                                          \
     186   }                                                   \
     187   (i) = (int)((long)(a).Data());(a).CleanUp()
     188
     189#define MYYERROR(a) { WerrorS(a); YYERROR; }
     190
     191void yyerror(const char * fmt)
     192{
     193
     194  BOOLEAN old_errorreported=errorreported;
     195  errorreported = TRUE;
     196  if (currid!=NULL)
     197  {
     198    killid(currid,&IDROOT);
     199    currid = NULL;
     200  }
     201  if(inerror==0)
     202  {
     203    {
     204      if ((strlen(fmt)>1)
     205      && (strncmp(fmt,"parse",5)!=0)
     206      && (strncmp(fmt,"syntax",6)!=0))
     207        WerrorS(fmt);
     208      Werror( "error occurred in or before %s line %d: `%s`"
     209             ,VoiceName(), yylineno, my_yylinebuf);
     210    }
     211    if (cmdtok!=0)
     212    {
     213      const char *s=Tok2Cmdname(cmdtok);
     214      if (expected_parms)
     215      {
     216        Werror("expected %s-expression. type \'help %s;\'",s,s);
     217      }
     218      else
     219      {
     220        Werror("wrong type declaration. type \'help %s;\'",s);
     221      }
     222    }
     223    if (!old_errorreported && (lastreserved!=NULL))
     224    {
     225      Werror("last reserved name was `%s`",lastreserved);
     226    }
     227    inerror=1;
     228  }
     229  if ((currentVoice!=NULL)
     230  && (currentVoice->prev!=NULL)
     231  && (myynest>0)
     232#ifdef HAVE_SDB
     233  && ((sdb_flags &1)==0)
     234#endif
     235  )
     236  {
     237    Werror("leaving %s",VoiceName());
     238  }
     239#ifdef HAVE_FACTORY
     240  // libfac:
     241#ifdef HAVE_LIBFAC
     242  extern int libfac_interruptflag;
     243  libfac_interruptflag=0;
     244#endif // #ifdef HAVE_LIBFAC
     245#endif
     246}
     247
     248
     249
     250/* Line 189 of yacc.c  */
     251#line 252 "grammar.cc"
     252
     253/* Enabling traces.  */
     254#ifndef YYDEBUG
     255# define YYDEBUG 1
     256#endif
     257
     258/* Enabling verbose error messages.  */
     259#ifdef YYERROR_VERBOSE
     260# undef YYERROR_VERBOSE
     261# define YYERROR_VERBOSE 1
     262#else
     263# define YYERROR_VERBOSE 0
     264#endif
     265
     266/* Enabling the token table.  */
     267#ifndef YYTOKEN_TABLE
     268# define YYTOKEN_TABLE 0
     269#endif
    48270
    49271
     
    168390     RINGVAR = 370,
    169391     PROC_DEF = 371,
    170      BREAK_CMD = 372,
    171      CONTINUE_CMD = 373,
    172      ELSE_CMD = 374,
    173      EVAL = 375,
    174      QUOTE = 376,
    175      FOR_CMD = 377,
    176      IF_CMD = 378,
    177      SYS_BREAK = 379,
    178      WHILE_CMD = 380,
    179      RETURN = 381,
    180      PARAMETER = 382,
    181      SYSVAR = 383,
    182      UMINUS = 384
     392     APPLY = 372,
     393     BREAK_CMD = 373,
     394     CONTINUE_CMD = 374,
     395     ELSE_CMD = 375,
     396     EVAL = 376,
     397     QUOTE = 377,
     398     FOR_CMD = 378,
     399     IF_CMD = 379,
     400     SYS_BREAK = 380,
     401     WHILE_CMD = 381,
     402     RETURN = 382,
     403     PARAMETER = 383,
     404     SYSVAR = 384,
     405     UMINUS = 385
    183406   };
    184407#endif
    185 #define DOTDOT 258
    186 #define EQUAL_EQUAL 259
    187 #define GE 260
    188 #define LE 261
    189 #define MINUSMINUS 262
    190 #define NOT 263
    191 #define NOTEQUAL 264
    192 #define PLUSPLUS 265
    193 #define COLONCOLON 266
    194 #define GRING_CMD 267
    195 #define BIGINTMAT_CMD 268
    196 #define INTMAT_CMD 269
    197 #define PROC_CMD 270
    198 #define RING_CMD 271
    199 #define BEGIN_RING 272
    200 #define IDEAL_CMD 273
    201 #define MAP_CMD 274
    202 #define MATRIX_CMD 275
    203 #define MODUL_CMD 276
    204 #define NUMBER_CMD 277
    205 #define POLY_CMD 278
    206 #define RESOLUTION_CMD 279
    207 #define VECTOR_CMD 280
    208 #define BETTI_CMD 281
    209 #define COEFFS_CMD 282
    210 #define COEF_CMD 283
    211 #define CONTRACT_CMD 284
    212 #define DEGREE_CMD 285
    213 #define DEG_CMD 286
    214 #define DIFF_CMD 287
    215 #define DIM_CMD 288
    216 #define DIVISION_CMD 289
    217 #define ELIMINATION_CMD 290
    218 #define E_CMD 291
    219 #define FAREY_CMD 292
    220 #define FETCH_CMD 293
    221 #define FREEMODULE_CMD 294
    222 #define KEEPRING_CMD 295
    223 #define HILBERT_CMD 296
    224 #define HOMOG_CMD 297
    225 #define IMAP_CMD 298
    226 #define INDEPSET_CMD 299
    227 #define INTERRED_CMD 300
    228 #define INTERSECT_CMD 301
    229 #define JACOB_CMD 302
    230 #define JET_CMD 303
    231 #define KBASE_CMD 304
    232 #define KOSZUL_CMD 305
    233 #define LEADCOEF_CMD 306
    234 #define LEADEXP_CMD 307
    235 #define LEAD_CMD 308
    236 #define LEADMONOM_CMD 309
    237 #define LIFTSTD_CMD 310
    238 #define LIFT_CMD 311
    239 #define MAXID_CMD 312
    240 #define MINBASE_CMD 313
    241 #define MINOR_CMD 314
    242 #define MINRES_CMD 315
    243 #define MODULO_CMD 316
    244 #define MONOM_CMD 317
    245 #define MRES_CMD 318
    246 #define MULTIPLICITY_CMD 319
    247 #define ORD_CMD 320
    248 #define PAR_CMD 321
    249 #define PARDEG_CMD 322
    250 #define PREIMAGE_CMD 323
    251 #define QUOTIENT_CMD 324
    252 #define QHWEIGHT_CMD 325
    253 #define REDUCE_CMD 326
    254 #define REGULARITY_CMD 327
    255 #define RES_CMD 328
    256 #define SBA_CMD 329
    257 #define SIMPLIFY_CMD 330
    258 #define SORTVEC_CMD 331
    259 #define SRES_CMD 332
    260 #define STD_CMD 333
    261 #define SUBST_CMD 334
    262 #define SYZYGY_CMD 335
    263 #define VAR_CMD 336
    264 #define VDIM_CMD 337
    265 #define WEDGE_CMD 338
    266 #define WEIGHT_CMD 339
    267 #define VALTVARS 340
    268 #define VMAXDEG 341
    269 #define VMAXMULT 342
    270 #define VNOETHER 343
    271 #define VMINPOLY 344
    272 #define END_RING 345
    273 #define CMD_1 346
    274 #define CMD_2 347
    275 #define CMD_3 348
    276 #define CMD_12 349
    277 #define CMD_13 350
    278 #define CMD_23 351
    279 #define CMD_123 352
    280 #define CMD_M 353
    281 #define ROOT_DECL 354
    282 #define ROOT_DECL_LIST 355
    283 #define RING_DECL 356
    284 #define RING_DECL_LIST 357
    285 #define EXAMPLE_CMD 358
    286 #define EXPORT_CMD 359
    287 #define HELP_CMD 360
    288 #define KILL_CMD 361
    289 #define LIB_CMD 362
    290 #define LISTVAR_CMD 363
    291 #define SETRING_CMD 364
    292 #define TYPE_CMD 365
    293 #define STRINGTOK 366
    294 #define BLOCKTOK 367
    295 #define INT_CONST 368
    296 #define UNKNOWN_IDENT 369
    297 #define RINGVAR 370
    298 #define PROC_DEF 371
    299 #define BREAK_CMD 372
    300 #define CONTINUE_CMD 373
    301 #define ELSE_CMD 374
    302 #define EVAL 375
    303 #define QUOTE 376
    304 #define FOR_CMD 377
    305 #define IF_CMD 378
    306 #define SYS_BREAK 379
    307 #define WHILE_CMD 380
    308 #define RETURN 381
    309 #define PARAMETER 382
    310 #define SYSVAR 383
    311 #define UMINUS 384
    312 
    313 
    314 
    315 
    316 /* Copy the first part of user declarations.  */
    317 #line 7 "grammar.y"
    318 
    319 
    320 #include <stdio.h>
    321 #include <stddef.h>
    322 #include <stdlib.h>
    323 #include <stdarg.h>
    324 #include <string.h>
    325 
    326 #ifdef HAVE_CONFIG_H
    327 #include "config.h"
    328 #endif /* HAVE_CONFIG_H */
    329 #include <misc/auxiliary.h>
    330 
    331 #include <kernel/mod2.h>
    332 #include <misc/mylimits.h>
    333 #include <omalloc/omalloc.h>
    334 #include <Singular/tok.h>
    335 #include <misc/options.h>
    336 #include <Singular/stype.h>
    337 #include <Singular/fehelp.h>
    338 #include <Singular/ipid.h>
    339 #include <misc/intvec.h>
    340 #include <kernel/febase.h>
    341 #include <polys/matpol.h>
    342 #include <polys/monomials/ring.h>
    343 #include <kernel/kstd1.h>
    344 #include <Singular/subexpr.h>
    345 #include <Singular/ipshell.h>
    346 #include <Singular/ipconv.h>
    347 #include <Singular/sdb.h>
    348 #include <kernel/ideals.h>
    349 #include <coeffs/numbers.h>
    350 #include <kernel/polys.h>
    351 #include <kernel/stairc.h>
    352 #include <kernel/timer.h>
    353 #include <Singular/cntrlc.h>
    354 #include <polys/monomials/maps.h>
    355 #include <kernel/syz.h>
    356 #include <Singular/lists.h>
    357 #include <kernel/longrat.h>
    358 #include <Singular/libparse.h>
    359 #include <coeffs/bigintmat.h>
    360 
    361 #if 0
    362 void debug_list(leftv v)
    363 {
    364   idhdl r=basePackHdl;
    365   idhdl h;
    366   BOOLEAN found=FALSE;
    367   const char *nn=v->name;
    368   h=IDROOT->get(nn,myynest);
    369   if (h!=NULL)
    370   {
    371      Print("Curr::%s, (%s)\n",nn,Tok2Cmdname((int)IDTYP(h)));
    372      found=TRUE;
    373   }
    374   else         Print("`%s` not found in IDROOT\n",nn);
    375   while (r!=NULL)
    376   {
    377     if ((IDTYP(r)==PACKAGE_CMD)
    378     || (IDTYP(r)==RING_CMD)
    379     || (IDTYP(r)==QRING_CMD))
    380     {
    381       h=IDPACKAGE(r)->idroot->get(nn,myynest);
    382       if (h!=NULL)
    383       {
    384         Print("%s::%s, (%s)\n",r->id,nn,Tok2Cmdname((int)IDTYP(h)));
    385         found=TRUE;
    386       }
    387       else         Print("%s::%s not found\n",r->id,nn);
    388     }
    389     if (r==basePackHdl) r=IDPACKAGE(r)->idroot;
    390     r=r->next;
    391    if (r==basePackHdl) break;
    392   }
    393   if (!found)
    394   {
    395     listall(TRUE);
    396   }
    397 }
    398 #endif
    399 
    400 /* From the bison docu:
    401 
    402      By defining the macro `YYMAXDEPTH', you can control how deep the
    403 parser stack can become before a stack overflow occurs.  Define the
    404 macro with a value that is an integer.  This value is the maximum number
    405 of tokens that can be shifted (and not reduced) before overflow.  It
    406 must be a constant expression whose value is known at compile time.
    407 
    408    The stack space allowed is not necessarily allocated.  If you
    409 specify a large value for `YYMAXDEPTH', the parser actually allocates a
    410 small stack at first, and then makes it bigger by stages as needed.
    411 This increasing allocation happens automatically and silently.
    412 Therefore, you do not need to make `YYMAXDEPTH' painfully small merely
    413 to save space for ordinary inputs that do not need much stack.
    414 
    415    The default value of `YYMAXDEPTH', if you do not define it, is 10000.
    416 */
    417 #define YYMAXDEPTH MAX_INT_VAL
    418 
    419 extern int   yylineno;
    420 extern FILE* yyin;
    421 
    422 const  char *  currid;
    423 BOOLEAN    yyInRingConstruction=FALSE;
    424 BOOLEAN    expected_parms;
    425 int        cmdtok;
    426 int        inerror = 0;
    427 
    428 #define TESTSETINT(a,i)                                \
    429    if ((a).Typ() != INT_CMD)                           \
    430    {                                                   \
    431      WerrorS("no int expression");                     \
    432      YYERROR;                                          \
    433    }                                                   \
    434    (i) = (int)((long)(a).Data());(a).CleanUp()
    435 
    436 #define MYYERROR(a) { WerrorS(a); YYERROR; }
    437 
    438 void yyerror(const char * fmt)
    439 {
    440 
    441   BOOLEAN old_errorreported=errorreported;
    442   errorreported = TRUE;
    443   if (currid!=NULL)
    444   {
    445     killid(currid,&IDROOT);
    446     currid = NULL;
    447   }
    448   if(inerror==0)
    449   {
    450     {
    451       if ((strlen(fmt)>1)
    452       && (strncmp(fmt,"parse",5)!=0)
    453       && (strncmp(fmt,"syntax",6)!=0))
    454         WerrorS(fmt);
    455       Werror( "error occurred in or before %s line %d: `%s`"
    456              ,VoiceName(), yylineno, my_yylinebuf);
    457     }
    458     if (cmdtok!=0)
    459     {
    460       const char *s=Tok2Cmdname(cmdtok);
    461       if (expected_parms)
    462       {
    463         Werror("expected %s-expression. type \'help %s;\'",s,s);
    464       }
    465       else
    466       {
    467         Werror("wrong type declaration. type \'help %s;\'",s);
    468       }
    469     }
    470     if (!old_errorreported && (lastreserved!=NULL))
    471     {
    472       Werror("last reserved name was `%s`",lastreserved);
    473     }
    474     inerror=1;
    475   }
    476   if ((currentVoice!=NULL)
    477   && (currentVoice->prev!=NULL)
    478   && (myynest>0)
    479 #ifdef HAVE_SDB
    480   && ((sdb_flags &1)==0)
    481 #endif
    482   )
    483   {
    484     Werror("leaving %s",VoiceName());
    485   }
    486 #ifdef HAVE_FACTORY
    487   // libfac:
    488 #ifdef HAVE_LIBFAC
    489   extern int libfac_interruptflag;
    490   libfac_interruptflag=0;
    491 #endif // #ifdef HAVE_LIBFAC
    492 #endif
    493 }
    494 
    495 
    496 
    497 /* Enabling traces.  */
    498 #ifndef YYDEBUG
    499 # define YYDEBUG 1
    500 #endif
    501 
    502 /* Enabling verbose error messages.  */
    503 #ifdef YYERROR_VERBOSE
    504 # undef YYERROR_VERBOSE
    505 # define YYERROR_VERBOSE 1
    506 #else
    507 # define YYERROR_VERBOSE 0
    508 #endif
    509 
    510 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    511 typedef int YYSTYPE;
     408
     409
     410
     411#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     412
    512413# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    513414# define YYSTYPE_IS_DECLARED 1
    514 # define YYSTYPE_IS_TRIVIAL 1
    515 #endif
    516 
     415#endif
    517416
    518417
     
    520419
    521420
    522 /* Line 214 of yacc.c.  */
    523 #line 519 "grammar.cc"
    524 
    525 #if ! defined (yyoverflow) || YYERROR_VERBOSE
    526 
    527 # ifndef YYFREE
    528 #  define YYFREE free
     421/* Line 264 of yacc.c  */
     422#line 423 "grammar.cc"
     423
     424#ifdef short
     425# undef short
     426#endif
     427
     428#ifdef YYTYPE_UINT8
     429typedef YYTYPE_UINT8 yytype_uint8;
     430#else
     431typedef unsigned char yytype_uint8;
     432#endif
     433
     434#ifdef YYTYPE_INT8
     435typedef YYTYPE_INT8 yytype_int8;
     436#elif (defined __STDC__ || defined __C99__FUNC__ \
     437     || defined __cplusplus || defined _MSC_VER)
     438typedef signed char yytype_int8;
     439#else
     440typedef short int yytype_int8;
     441#endif
     442
     443#ifdef YYTYPE_UINT16
     444typedef YYTYPE_UINT16 yytype_uint16;
     445#else
     446typedef unsigned short int yytype_uint16;
     447#endif
     448
     449#ifdef YYTYPE_INT16
     450typedef YYTYPE_INT16 yytype_int16;
     451#else
     452typedef short int yytype_int16;
     453#endif
     454
     455#ifndef YYSIZE_T
     456# ifdef __SIZE_TYPE__
     457#  define YYSIZE_T __SIZE_TYPE__
     458# elif defined size_t
     459#  define YYSIZE_T size_t
     460# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     461     || defined __cplusplus || defined _MSC_VER)
     462#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
     463#  define YYSIZE_T size_t
     464# else
     465#  define YYSIZE_T unsigned int
    529466# endif
    530 # ifndef YYMALLOC
    531 #  define YYMALLOC malloc
     467#endif
     468
     469#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
     470
     471#ifndef YY_
     472# if defined YYENABLE_NLS && YYENABLE_NLS
     473#  if ENABLE_NLS
     474#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
     475#   define YY_(msgid) dgettext ("bison-runtime", msgid)
     476#  endif
    532477# endif
     478# ifndef YY_
     479#  define YY_(msgid) msgid
     480# endif
     481#endif
     482
     483/* Suppress unused-variable warnings by "using" E.  */
     484#if ! defined lint || defined __GNUC__
     485# define YYUSE(e) ((void) (e))
     486#else
     487# define YYUSE(e) /* empty */
     488#endif
     489
     490/* Identity function, used to suppress warnings about constant conditions.  */
     491#ifndef lint
     492# define YYID(n) (n)
     493#else
     494#if (defined __STDC__ || defined __C99__FUNC__ \
     495     || defined __cplusplus || defined _MSC_VER)
     496static int
     497YYID (int yyi)
     498#else
     499static int
     500YYID (yyi)
     501    int yyi;
     502#endif
     503{
     504  return yyi;
     505}
     506#endif
     507
     508#if ! defined yyoverflow || YYERROR_VERBOSE
    533509
    534510/* The parser invokes alloca or malloc; define the necessary symbols.  */
     
    536512# ifdef YYSTACK_USE_ALLOCA
    537513#  if YYSTACK_USE_ALLOCA
    538 #   define YYSTACK_ALLOC alloca
    539 #  endif
    540 # else
    541 #  if defined (alloca) || defined (_ALLOCA_H)
    542 #   define YYSTACK_ALLOC alloca
    543 #  else
    544514#   ifdef __GNUC__
    545515#    define YYSTACK_ALLOC __builtin_alloca
     516#   elif defined __BUILTIN_VA_ARG_INCR
     517#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
     518#   elif defined _AIX
     519#    define YYSTACK_ALLOC __alloca
     520#   elif defined _MSC_VER
     521#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
     522#    define alloca _alloca
     523#   else
     524#    define YYSTACK_ALLOC alloca
     525#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     526     || defined __cplusplus || defined _MSC_VER)
     527#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     528#     ifndef _STDLIB_H
     529#      define _STDLIB_H 1
     530#     endif
     531#    endif
    546532#   endif
    547533#  endif
     
    549535
    550536# ifdef YYSTACK_ALLOC
    551    /* Pacify GCC's `empty if-body' warning. */
    552 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
     537   /* Pacify GCC's `empty if-body' warning.  */
     538#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
     539#  ifndef YYSTACK_ALLOC_MAXIMUM
     540    /* The OS might guarantee only one guard page at the bottom of the stack,
     541       and a page size can be as small as 4096 bytes.  So we cannot safely
     542       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
     543       to allow for a few compiler-allocated temporary stack slots.  */
     544#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
     545#  endif
    553546# else
    554 #  if defined (__STDC__) || defined (__cplusplus)
    555 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    556 #   define YYSIZE_T size_t
    557 #  endif
    558547#  define YYSTACK_ALLOC YYMALLOC
    559548#  define YYSTACK_FREE YYFREE
     549#  ifndef YYSTACK_ALLOC_MAXIMUM
     550#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
     551#  endif
     552#  if (defined __cplusplus && ! defined _STDLIB_H \
     553       && ! ((defined YYMALLOC || defined malloc) \
     554             && (defined YYFREE || defined free)))
     555#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     556#   ifndef _STDLIB_H
     557#    define _STDLIB_H 1
     558#   endif
     559#  endif
     560#  ifndef YYMALLOC
     561#   define YYMALLOC malloc
     562#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     563     || defined __cplusplus || defined _MSC_VER)
     564void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
     565#   endif
     566#  endif
     567#  ifndef YYFREE
     568#   define YYFREE free
     569#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     570     || defined __cplusplus || defined _MSC_VER)
     571void free (void *); /* INFRINGES ON USER NAME SPACE */
     572#   endif
     573#  endif
    560574# endif
    561 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    562 
    563 
    564 #if (! defined (yyoverflow) \
    565      && (! defined (__cplusplus) \
    566          || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
     575#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
     576
     577
     578#if (! defined yyoverflow \
     579     && (! defined __cplusplus \
     580         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    567581
    568582/* A type that is properly aligned for any stack member.  */
    569583union yyalloc
    570584{
    571   short int yyss;
    572   YYSTYPE yyvs;
    573   };
     585  yytype_int16 yyss_alloc;
     586  YYSTYPE yyvs_alloc;
     587};
    574588
    575589/* The size of the maximum gap between one aligned stack and the next.  */
     
    579593   N elements.  */
    580594# define YYSTACK_BYTES(N) \
    581      ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
     595     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
    582596      + YYSTACK_GAP_MAXIMUM)
    583597
     
    585599   not overlap.  */
    586600# ifndef YYCOPY
    587 #  if defined (__GNUC__) && 1 < __GNUC__
     601#  if defined __GNUC__ && 1 < __GNUC__
    588602#   define YYCOPY(To, From, Count) \
    589603      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
     
    592606      do                                        \
    593607        {                                       \
    594           register YYSIZE_T yyi;                \
     608          YYSIZE_T yyi;                         \
    595609          for (yyi = 0; yyi < (Count); yyi++)   \
    596610            (To)[yyi] = (From)[yyi];            \
    597611        }                                       \
    598       while (0)
     612      while (YYID (0))
    599613#  endif
    600614# endif
     
    605619   stack.  Advance YYPTR to a properly aligned location for the next
    606620   stack.  */
    607 # define YYSTACK_RELOCATE(Stack)                                        \
     621# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    608622    do                                                                  \
    609623      {                                                                 \
    610624        YYSIZE_T yynewbytes;                                            \
    611         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
    612         Stack = &yyptr->Stack                                        \
     625        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
     626        Stack = &yyptr->Stack_alloc;                                    \
    613627        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    614628        yyptr += yynewbytes / sizeof (*yyptr);                          \
    615629      }                                                                 \
    616     while (0)
    617 
    618 #endif
    619 
    620 #if defined (__STDC__) || defined (__cplusplus)
    621    typedef signed char yysigned_char;
    622 #else
    623    typedef short int yysigned_char;
    624 #endif
    625 
    626 /* YYFINAL -- State number of the termination state. */
     630    while (YYID (0))
     631
     632#endif
     633
     634/* YYFINAL -- State number of the termination state.  */
    627635#define YYFINAL  2
    628636/* YYLAST -- Last index in YYTABLE.  */
    629 #define YYLAST   1807
    630 
    631 /* YYNTOKENS -- Number of terminals. */
    632 #define YYNTOKENS  148
    633 /* YYNNTS -- Number of nonterminals. */
     637#define YYLAST   1934
     638
     639/* YYNTOKENS -- Number of terminals.  */
     640#define YYNTOKENS  149
     641/* YYNNTS -- Number of nonterminals.  */
    634642#define YYNNTS  44
    635 /* YYNRULES -- Number of rules. */
    636 #define YYNRULES  164
    637 /* YYNRULES -- Number of states. */
    638 #define YYNSTATES  355
     643/* YYNRULES -- Number of rules.  */
     644#define YYNRULES  170
     645/* YYNRULES -- Number of states.  */
     646#define YYNSTATES  371
    639647
    640648/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    641649#define YYUNDEFTOK  2
    642 #define YYMAXUTOK   384
    643 
    644 #define YYTRANSLATE(YYX)                                                \
     650#define YYMAXUTOK   385
     651
     652#define YYTRANSLATE(YYX)                                                \
    645653  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    646654
    647655/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    648 static const unsigned char yytranslate[] =
     656static const yytype_uint8 yytranslate[] =
    649657{
    650658       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    651659       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    652660       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    653        2,     2,     2,     2,     2,     2,     2,     2,   140,     2,
    654      144,   145,   142,   132,   138,   133,   146,   134,     2,     2,
    655        2,     2,     2,     2,     2,     2,     2,     2,   141,   139,
    656      130,   129,   131,     2,     2,     2,     2,     2,     2,     2,
     661       2,     2,     2,     2,     2,     2,     2,     2,   141,     2,
     662     145,   146,   143,   133,   139,   134,   147,   135,     2,     2,
     663       2,     2,     2,     2,     2,     2,     2,     2,   142,   140,
     664     131,   130,   132,     2,     2,     2,     2,     2,     2,     2,
    657665       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    658666       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    659        2,   135,     2,   136,   137,     2,   147,     2,     2,     2,
     667       2,   136,     2,   137,   138,     2,   148,     2,     2,     2,
    660668       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    661669       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    686694     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    687695     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    688      125,   126,   127,   128,   143
     696     125,   126,   127,   128,   129,   144
    689697};
    690698
     
    692700/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    693701   YYRHS.  */
    694 static const unsigned short int yyprhs[] =
     702static const yytype_uint16 yyprhs[] =
    695703{
    696704       0,     0,     3,     4,     7,     9,    12,    15,    17,    19,
     
    699707      64,    66,    68,    72,    76,    80,    85,    89,    91,    93,
    700708      95,   100,   104,   106,   108,   110,   114,   121,   126,   131,
    701      136,   140,   145,   150,   154,   159,   166,   175,   182,   191,
    702      196,   201,   208,   213,   220,   229,   238,   242,   247,   256,
    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
     709     136,   140,   145,   150,   154,   159,   164,   169,   174,   181,
     710     188,   195,   202,   211,   220,   229,   238,   242,   247,   256,
     711     261,   270,   275,   282,   289,   296,   303,   310,   317,   321,
     712     327,   328,   334,   337,   339,   342,   345,   349,   353,   357,
     713     361,   365,   369,   373,   377,   381,   385,   388,   391,   394,
     714     397,   399,   403,   406,   409,   412,   415,   424,   427,   431,
     715     434,   436,   438,   444,   446,   448,   453,   455,   459,   461,
     716     465,   467,   469,   471,   473,   474,   479,   483,   486,   490,
     717     493,   496,   500,   505,   510,   515,   520,   525,   530,   535,
     718     540,   547,   554,   561,   568,   575,   582,   589,   593,   595,
     719     604,   607,   610,   612,   614,   617,   620,   622,   628,   631,
     720     637,   639,   641,   645,   651,   655,   659,   664,   667,   670,
     721     675
    713722};
    714723
    715 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
    716 static const short int yyrhs[] =
     724/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
     725static const yytype_int16 yyrhs[] =
    717726{
    718      149,     0,    -1,    -1,   149,   150,    -1,   151,    -1,   153,
    719      139,    -1,   164,   139,    -1,   191,    -1,   124,    -1,   139,
    720       -1,     1,   139,    -1,   186,    -1,   187,    -1,   152,    -1,
    721      188,    -1,   189,    -1,   173,    -1,   175,    -1,   176,    -1,
    722      103,   112,    -1,   154,    -1,   177,    -1,   178,    -1,   179,
    723       -1,   190,    -1,   181,    -1,   182,    -1,   184,    -1,   185,
    724       -1,   162,   156,    -1,   115,    -1,   163,    -1,   155,    11,
    725      155,    -1,   155,   146,   155,    -1,   155,   144,   145,    -1,
    726      155,   144,   156,   145,    -1,   135,   156,   136,    -1,   113,
    727       -1,   128,    -1,   165,    -1,    15,   144,   157,   145,    -1,
    728      156,   138,   157,    -1,   157,    -1,   161,    -1,   155,    -1,
    729      144,   156,   145,    -1,   157,   135,   157,   138,   157,   136,
    730       -1,   157,   135,   157,   136,    -1,    99,   144,   157,   145,
    731       -1,   100,   144,   156,   145,    -1,   100,   144,   145,    -1,
    732      101,   144,   157,   145,    -1,   102,   144,   156,   145,    -1,
    733      102,   144,   145,    -1,    91,   144,   157,   145,    -1,    92,
    734      144,   157,   138,   157,   145,    -1,    93,   144,   157,   138,
    735      157,   138,   157,   145,    -1,    96,   144,   157,   138,   157,
    736      145,    -1,    96,   144,   157,   138,   157,   138,   157,   145,
    737       -1,    94,   144,   157,   145,    -1,    95,   144,   157,   145,
    738       -1,    94,   144,   157,   138,   157,   145,    -1,    97,   144,
    739      157,   145,    -1,    97,   144,   157,   138,   157,   145,    -1,
    740       95,   144,   157,   138,   157,   138,   157,   145,    -1,    97,
    741      144,   157,   138,   157,   138,   157,   145,    -1,    98,   144,
    742      145,    -1,    98,   144,   156,   145,    -1,   172,   144,   157,
    743      138,   157,   138,   157,   145,    -1,   172,   144,   157,   145,
    744       -1,    16,   144,   166,   138,   166,   138,   170,   145,    -1,
    745       16,   144,   157,   145,    -1,   159,   157,   160,    -1,   159,
    746      157,   129,   157,   160,    -1,    -1,   120,   144,   158,   157,
    747      145,    -1,   121,   144,    -1,   145,    -1,   157,    10,    -1,
    748      157,     7,    -1,   157,   132,   157,    -1,   157,   133,   157,
    749       -1,   157,   134,   157,    -1,   157,   137,   157,    -1,   157,
    750      130,   157,    -1,   157,   140,   157,    -1,   157,     9,   157,
    751       -1,   157,     4,   157,    -1,   157,     3,   157,    -1,   157,
    752      141,   157,    -1,     8,   157,    -1,   133,   157,    -1,   164,
    753      171,    -1,   156,   129,    -1,   114,    -1,   147,   157,   147,
    754       -1,    99,   155,    -1,   100,   155,    -1,   101,   155,    -1,
    755      102,   155,    -1,   172,   155,   135,   157,   136,   135,   157,
    756      136,    -1,   172,   155,    -1,   164,   138,   155,    -1,    15,
    757      155,    -1,   111,    -1,   157,    -1,   144,   157,   138,   156,
    758      145,    -1,   114,    -1,   167,    -1,   167,   144,   156,   145,
    759       -1,   168,    -1,   168,   138,   169,    -1,   168,    -1,   144,
    760      169,   145,    -1,   129,    -1,    20,    -1,    14,    -1,    13,
    761       -1,    -1,   130,   165,   174,   139,    -1,   105,   111,   139,
    762       -1,   105,   139,    -1,   103,   111,   139,    -1,   104,   156,
    763       -1,   106,   155,    -1,   178,   138,   155,    -1,   108,   144,
    764       99,   145,    -1,   108,   144,   100,   145,    -1,   108,   144,
    765      101,   145,    -1,   108,   144,   102,   145,    -1,   108,   144,
    766       16,   145,    -1,   108,   144,   172,   145,    -1,   108,   144,
    767       15,   145,    -1,   108,   144,   155,   145,    -1,   108,   144,
    768      155,   138,    99,   145,    -1,   108,   144,   155,   138,   100,
    769      145,    -1,   108,   144,   155,   138,   101,   145,    -1,   108,
    770      144,   155,   138,   102,   145,    -1,   108,   144,   155,   138,
    771       16,   145,    -1,   108,   144,   155,   138,   172,   145,    -1,
    772      108,   144,   155,   138,    15,   145,    -1,   108,   144,   145,
    773       -1,    16,    -1,   180,   155,   171,   166,   138,   166,   138,
    774      170,    -1,   180,   155,    -1,   128,   165,    -1,   109,    -1,
    775       40,    -1,   183,   157,    -1,   110,   157,    -1,   156,    -1,
    776      123,   144,   157,   145,   112,    -1,   119,   112,    -1,   123,
    777      144,   157,   145,   117,    -1,   117,    -1,   118,    -1,   125,
    778      111,   112,    -1,   122,   111,   111,   111,   112,    -1,    15,
    779      163,   112,    -1,   116,   111,   112,    -1,   116,   111,   111,
    780      112,    -1,   127,   164,    -1,   127,   157,    -1,   126,   144,
    781      156,   145,    -1,   126,   144,   145,    -1
     727     150,     0,    -1,    -1,   150,   151,    -1,   152,    -1,   154,
     728     140,    -1,   165,   140,    -1,   192,    -1,   125,    -1,   140,
     729      -1,     1,   140,    -1,   187,    -1,   188,    -1,   153,    -1,
     730     189,    -1,   190,    -1,   174,    -1,   176,    -1,   177,    -1,
     731     103,   112,    -1,   155,    -1,   178,    -1,   179,    -1,   180,
     732      -1,   191,    -1,   182,    -1,   183,    -1,   185,    -1,   186,
     733      -1,   163,   157,    -1,   115,    -1,   164,    -1,   156,    11,
     734     156,    -1,   156,   147,   156,    -1,   156,   145,   146,    -1,
     735     156,   145,   157,   146,    -1,   136,   157,   137,    -1,   113,
     736      -1,   129,    -1,   166,    -1,    15,   145,   158,   146,    -1,
     737     157,   139,   158,    -1,   158,    -1,   162,    -1,   156,    -1,
     738     145,   157,   146,    -1,   158,   136,   158,   139,   158,   137,
     739      -1,   158,   136,   158,   137,    -1,    99,   145,   158,   146,
     740      -1,   100,   145,   157,   146,    -1,   100,   145,   146,    -1,
     741     101,   145,   158,   146,    -1,   102,   145,   157,   146,    -1,
     742     102,   145,   146,    -1,    91,   145,   158,   146,    -1,    94,
     743     145,   158,   146,    -1,    95,   145,   158,   146,    -1,    97,
     744     145,   158,   146,    -1,    92,   145,   158,   139,   158,   146,
     745      -1,    94,   145,   158,   139,   158,   146,    -1,    96,   145,
     746     158,   139,   158,   146,    -1,    97,   145,   158,   139,   158,
     747     146,    -1,    93,   145,   158,   139,   158,   139,   158,   146,
     748      -1,    95,   145,   158,   139,   158,   139,   158,   146,    -1,
     749      96,   145,   158,   139,   158,   139,   158,   146,    -1,    97,
     750     145,   158,   139,   158,   139,   158,   146,    -1,    98,   145,
     751     146,    -1,    98,   145,   157,   146,    -1,   173,   145,   158,
     752     139,   158,   139,   158,   146,    -1,   173,   145,   158,   146,
     753      -1,    16,   145,   167,   139,   167,   139,   171,   146,    -1,
     754      16,   145,   158,   146,    -1,   117,   145,   158,   139,    91,
     755     146,    -1,   117,   145,   158,   139,    94,   146,    -1,   117,
     756     145,   158,   139,    95,   146,    -1,   117,   145,   158,   139,
     757      97,   146,    -1,   117,   145,   158,   139,    98,   146,    -1,
     758     117,   145,   158,   139,   158,   146,    -1,   160,   158,   161,
     759      -1,   160,   158,   130,   158,   161,    -1,    -1,   121,   145,
     760     159,   158,   146,    -1,   122,   145,    -1,   146,    -1,   158,
     761      10,    -1,   158,     7,    -1,   158,   133,   158,    -1,   158,
     762     134,   158,    -1,   158,   135,   158,    -1,   158,   138,   158,
     763      -1,   158,   131,   158,    -1,   158,   141,   158,    -1,   158,
     764       9,   158,    -1,   158,     4,   158,    -1,   158,     3,   158,
     765      -1,   158,   142,   158,    -1,     8,   158,    -1,   134,   158,
     766      -1,   165,   172,    -1,   157,   130,    -1,   114,    -1,   148,
     767     158,   148,    -1,    99,   156,    -1,   100,   156,    -1,   101,
     768     156,    -1,   102,   156,    -1,   173,   156,   136,   158,   137,
     769     136,   158,   137,    -1,   173,   156,    -1,   165,   139,   156,
     770      -1,    15,   156,    -1,   111,    -1,   158,    -1,   145,   158,
     771     139,   157,   146,    -1,   114,    -1,   168,    -1,   168,   145,
     772     157,   146,    -1,   169,    -1,   169,   139,   170,    -1,   169,
     773      -1,   145,   170,   146,    -1,   130,    -1,    20,    -1,    14,
     774      -1,    13,    -1,    -1,   131,   166,   175,   140,    -1,   105,
     775     111,   140,    -1,   105,   140,    -1,   103,   111,   140,    -1,
     776     104,   157,    -1,   106,   156,    -1,   179,   139,   156,    -1,
     777     108,   145,    99,   146,    -1,   108,   145,   100,   146,    -1,
     778     108,   145,   101,   146,    -1,   108,   145,   102,   146,    -1,
     779     108,   145,    16,   146,    -1,   108,   145,   173,   146,    -1,
     780     108,   145,    15,   146,    -1,   108,   145,   156,   146,    -1,
     781     108,   145,   156,   139,    99,   146,    -1,   108,   145,   156,
     782     139,   100,   146,    -1,   108,   145,   156,   139,   101,   146,
     783      -1,   108,   145,   156,   139,   102,   146,    -1,   108,   145,
     784     156,   139,    16,   146,    -1,   108,   145,   156,   139,   173,
     785     146,    -1,   108,   145,   156,   139,    15,   146,    -1,   108,
     786     145,   146,    -1,    16,    -1,   181,   156,   172,   167,   139,
     787     167,   139,   171,    -1,   181,   156,    -1,   129,   166,    -1,
     788     109,    -1,    40,    -1,   184,   158,    -1,   110,   158,    -1,
     789     157,    -1,   124,   145,   158,   146,   112,    -1,   120,   112,
     790      -1,   124,   145,   158,   146,   118,    -1,   118,    -1,   119,
     791      -1,   126,   111,   112,    -1,   123,   111,   111,   111,   112,
     792      -1,    15,   164,   112,    -1,   116,   111,   112,    -1,   116,
     793     111,   111,   112,    -1,   128,   165,    -1,   128,   158,    -1,
     794     127,   145,   157,   146,    -1,   127,   145,   146,    -1
    782795};
    783796
    784797/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    785 static const unsigned short int yyrline[] =
     798static const yytype_uint16 yyrline[] =
    786799{
    787        0,   364,   364,   366,   400,   401,   403,   405,   409,   414,
    788      416,   467,   468,   469,   470,   471,   472,   473,   474,   478,
    789      481,   482,   483,   484,   485,   486,   487,   488,   489,   492,
    790      499,   504,   508,   512,   516,   520,   533,   561,   585,   591,
    791      597,   604,   615,   621,   626,   627,   628,   632,   636,   640,
    792      644,   648,   652,   656,   660,   664,   668,   672,   676,   680,
    793      684,   688,   692,   696,   700,   704,   708,   712,   716,   720,
    794      724,   728,   732,   736,   754,   753,   771,   779,   788,   792,
    795      796,   800,   804,   808,   812,   816,   820,   824,   828,   832,
    796      836,   843,   850,   851,   870,   871,   883,   888,   893,   897,
    797      901,   941,   967,   988,   996,  1000,  1001,  1015,  1023,  1032,
    798     1077,  1078,  1087,  1088,  1094,  1100,  1102,  1104,  1114,  1113,
    799     1121,  1126,  1133,  1141,  1153,  1169,  1188,  1192,  1196,  1201,
    800     1205,  1209,  1213,  1217,  1222,  1228,  1234,  1240,  1246,  1252,
    801     1258,  1270,  1277,  1281,  1318,  1328,  1334,  1334,  1337,  1409,
    802     1413,  1442,  1455,  1472,  1481,  1486,  1494,  1506,  1525,  1535,
    803     1554,  1577,  1583,  1595,  1601
     800       0,   370,   370,   372,   406,   407,   409,   411,   415,   420,
     801     422,   473,   474,   475,   476,   477,   478,   479,   480,   484,
     802     487,   488,   489,   490,   491,   492,   493,   494,   495,   498,
     803     505,   510,   514,   518,   522,   526,   539,   567,   591,   597,
     804     603,   610,   621,   627,   632,   633,   634,   638,   642,   646,
     805     650,   654,   658,   662,   666,   670,   674,   678,   682,   686,
     806     690,   694,   698,   702,   706,   710,   714,   718,   722,   726,
     807     730,   734,   738,   742,   746,   750,   754,   758,   762,   766,
     808     784,   783,   801,   809,   818,   822,   826,   830,   834,   838,
     809     842,   846,   850,   854,   858,   862,   866,   873,   880,   881,
     810     900,   901,   913,   918,   923,   927,   931,   971,   997,  1018,
     811    1026,  1030,  1031,  1045,  1053,  1062,  1107,  1108,  1117,  1118,
     812    1124,  1131,  1133,  1135,  1145,  1144,  1152,  1157,  1164,  1172,
     813    1184,  1200,  1219,  1223,  1227,  1232,  1236,  1240,  1244,  1248,
     814    1253,  1259,  1265,  1271,  1277,  1283,  1289,  1301,  1308,  1312,
     815    1349,  1359,  1365,  1365,  1368,  1440,  1444,  1473,  1486,  1503,
     816    1512,  1517,  1525,  1537,  1556,  1566,  1585,  1608,  1614,  1626,
     817    1632
    804818};
    805819#endif
    806820
    807 #if YYDEBUG || YYERROR_VERBOSE
    808 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    809    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
     821#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
     822/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
     823   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    810824static const char *const yytname[] =
    811825{
     
    832846  "EXPORT_CMD", "HELP_CMD", "KILL_CMD", "LIB_CMD", "LISTVAR_CMD",
    833847  "SETRING_CMD", "TYPE_CMD", "STRINGTOK", "BLOCKTOK", "INT_CONST",
    834   "UNKNOWN_IDENT", "RINGVAR", "PROC_DEF", "BREAK_CMD", "CONTINUE_CMD",
    835   "ELSE_CMD", "EVAL", "QUOTE", "FOR_CMD", "IF_CMD", "SYS_BREAK",
    836   "WHILE_CMD", "RETURN", "PARAMETER", "SYSVAR", "'='", "'<'", "'>'", "'+'",
    837   "'-'", "'/'", "'['", "']'", "'^'", "','", "';'", "'&'", "':'", "'*'",
    838   "UMINUS", "'('", "')'", "'.'", "'`'", "$accept", "lines", "pprompt",
    839   "flowctrl", "example_dummy", "command", "assign", "elemexpr", "exprlist",
    840   "expr", "@1", "quote_start", "quote_end", "expr_arithmetic",
     848  "UNKNOWN_IDENT", "RINGVAR", "PROC_DEF", "APPLY", "BREAK_CMD",
     849  "CONTINUE_CMD", "ELSE_CMD", "EVAL", "QUOTE", "FOR_CMD", "IF_CMD",
     850  "SYS_BREAK", "WHILE_CMD", "RETURN", "PARAMETER", "SYSVAR", "'='", "'<'",
     851  "'>'", "'+'", "'-'", "'/'", "'['", "']'", "'^'", "','", "';'", "'&'",
     852  "':'", "'*'", "UMINUS", "'('", "')'", "'.'", "'`'", "$accept", "lines",
     853  "pprompt", "flowctrl", "example_dummy", "command", "assign", "elemexpr",
     854  "exprlist", "expr", "$@1", "quote_start", "quote_end", "expr_arithmetic",
    841855  "left_value", "extendedid", "declare_ip_variable", "stringexpr", "rlist",
    842856  "ordername", "orderelem", "OrderingList", "ordering", "cmdeq", "mat_cmd",
    843   "filecmd", "@2", "helpcmd", "examplecmd", "exportcmd", "killcmd",
     857  "filecmd", "$@2", "helpcmd", "examplecmd", "exportcmd", "killcmd",
    844858  "listcmd", "ringcmd1", "ringcmd", "scriptcmd", "setrings", "setringcmd",
    845859  "typecmd", "ifcmd", "whilecmd", "forcmd", "proccmd", "parametercmd",
     
    851865/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    852866   token YYLEX-NUM.  */
    853 static const unsigned short int yytoknum[] =
     867static const yytype_uint16 yytoknum[] =
    854868{
    855869       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     
    865879     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    866880     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    867      375,   376,   377,   378,   379,   380,   381,   382,   383,    61,
    868       60,    62,    43,    45,    47,    91,    93,    94,    44,    59,
    869       38,    58,    42,   384,    40,    41,    46,    96
     881     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     882      61,    60,    62,    43,    45,    47,    91,    93,    94,    44,
     883      59,    38,    58,    42,   385,    40,    41,    46,    96
    870884};
    871885# endif
    872886
    873887/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    874 static const unsigned char yyr1[] =
     888static const yytype_uint8 yyr1[] =
    875889{
    876        0,   148,   149,   149,   150,   150,   150,   150,   150,   150,
    877      150,   151,   151,   151,   151,   151,   151,   151,   151,   152,
    878      153,   153,   153,   153,   153,   153,   153,   153,   153,   154,
    879      155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
    880      155,   156,   156,   157,   157,   157,   157,   157,   157,   157,
    881      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
    882      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
    883      157,   157,   157,   157,   158,   157,   159,   160,   161,   161,
    884      161,   161,   161,   161,   161,   161,   161,   161,   161,   161,
    885      161,   161,   162,   162,   163,   163,   164,   164,   164,   164,
    886      164,   164,   164,   164,   165,   166,   166,   167,   168,   168,
    887      169,   169,   170,   170,   171,   172,   172,   172,   174,   173,
    888      175,   175,   176,   177,   178,   178,   179,   179,   179,   179,
    889      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
    890      179,   179,   180,   181,   181,   182,   183,   183,   184,   185,
    891      185,   186,   186,   186,   186,   186,   187,   188,   189,   189,
    892      189,   190,   190,   191,   191
     890       0,   149,   150,   150,   151,   151,   151,   151,   151,   151,
     891     151,   152,   152,   152,   152,   152,   152,   152,   152,   153,
     892     154,   154,   154,   154,   154,   154,   154,   154,   154,   155,
     893     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
     894     156,   157,   157,   158,   158,   158,   158,   158,   158,   158,
     895     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
     896     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
     897     158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
     898     159,   158,   160,   161,   162,   162,   162,   162,   162,   162,
     899     162,   162,   162,   162,   162,   162,   162,   162,   163,   163,
     900     164,   164,   165,   165,   165,   165,   165,   165,   165,   165,
     901     166,   167,   167,   168,   169,   169,   170,   170,   171,   171,
     902     172,   173,   173,   173,   175,   174,   176,   176,   177,   178,
     903     179,   179,   180,   180,   180,   180,   180,   180,   180,   180,
     904     180,   180,   180,   180,   180,   180,   180,   180,   181,   182,
     905     182,   183,   184,   184,   185,   186,   186,   187,   187,   187,
     906     187,   187,   188,   189,   190,   190,   190,   191,   191,   192,
     907     192
    893908};
    894909
    895910/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    896 static const unsigned char yyr2[] =
     911static const yytype_uint8 yyr2[] =
    897912{
    898913       0,     2,     0,     2,     1,     2,     2,     1,     1,     1,
     
    901916       1,     1,     3,     3,     3,     4,     3,     1,     1,     1,
    902917       4,     3,     1,     1,     1,     3,     6,     4,     4,     4,
    903        3,     4,     4,     3,     4,     6,     8,     6,     8,     4,
    904        4,     6,     4,     6,     8,     8,     3,     4,     8,     4,
    905        8,     4,     3,     5,     0,     5,     2,     1,     2,     2,
    906        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
    907        2,     2,     2,     2,     1,     3,     2,     2,     2,     2,
    908        8,     2,     3,     2,     1,     1,     5,     1,     1,     4,
    909        1,     3,     1,     3,     1,     1,     1,     1,     0,     4,
    910        3,     2,     3,     2,     2,     3,     4,     4,     4,     4,
    911        4,     4,     4,     4,     6,     6,     6,     6,     6,     6,
    912        6,     3,     1,     8,     2,     2,     1,     1,     2,     2,
    913        1,     5,     2,     5,     1,     1,     3,     5,     3,     3,
    914        4,     2,     2,     4,     3
     918       3,     4,     4,     3,     4,     4,     4,     4,     6,     6,
     919       6,     6,     8,     8,     8,     8,     3,     4,     8,     4,
     920       8,     4,     6,     6,     6,     6,     6,     6,     3,     5,
     921       0,     5,     2,     1,     2,     2,     3,     3,     3,     3,
     922       3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
     923       1,     3,     2,     2,     2,     2,     8,     2,     3,     2,
     924       1,     1,     5,     1,     1,     4,     1,     3,     1,     3,
     925       1,     1,     1,     1,     0,     4,     3,     2,     3,     2,
     926       2,     3,     4,     4,     4,     4,     4,     4,     4,     4,
     927       6,     6,     6,     6,     6,     6,     6,     3,     1,     8,
     928       2,     2,     1,     1,     2,     2,     1,     5,     2,     5,
     929       1,     1,     3,     5,     3,     3,     4,     2,     2,     4,
     930       3
    915931};
    916932
     
    918934   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    919935   means the default is an error.  */
    920 static const unsigned char yydefact[] =
     936static const yytype_uint8 yydefact[] =
    921937{
    922        2,     0,     1,     0,     0,   117,   116,     0,   142,   115,
    923      147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    924        0,     0,     0,     0,     0,     0,     0,     0,   146,     0,
    925      104,    37,    94,    30,     0,   154,   155,     0,     0,     0,
    926        0,     0,     8,     0,     0,     0,    38,     0,     0,     0,
    927        9,     0,     0,     3,     4,    13,     0,    20,    44,   150,
    928       42,     0,    43,     0,    31,     0,    39,     0,    16,    17,
    929       18,    21,    22,    23,     0,    25,    26,     0,    27,    28,
    930       11,    12,    14,    15,    24,     7,    10,     0,     0,     0,
    931        0,     0,     0,    38,    90,     0,     0,   103,    31,     0,
    932        0,     0,     0,     0,     0,     0,     0,     0,     0,    96,
    933        0,    97,     0,    98,     0,    99,     0,    19,   123,     0,
    934      121,   124,     0,   149,     0,   152,    74,    76,     0,     0,
    935        0,     0,     0,   162,   161,   145,   118,    91,     0,     0,
    936        0,     5,     0,     0,     0,    93,     0,     0,     0,    79,
    937        0,    78,     0,     0,     0,     0,     0,     0,     0,     0,
    938        0,    29,   114,     0,     6,    92,     0,   101,     0,   144,
    939      148,     0,   158,     0,   105,     0,     0,     0,     0,     0,
    940        0,     0,     0,    66,     0,     0,    50,     0,     0,    53,
    941        0,   122,   120,     0,     0,     0,     0,     0,     0,   141,
    942        0,     0,     0,   159,     0,     0,     0,   156,   164,     0,
    943        0,    36,    45,    95,    32,    34,     0,    33,    41,    88,
    944       87,    86,    84,    80,    81,    82,     0,    83,    85,    89,
    945        0,    77,    72,   102,     0,     0,   125,     0,    40,    42,
    946       71,     0,    54,     0,     0,     0,    59,     0,    60,     0,
    947        0,    62,    67,    48,    49,    51,    52,   132,   130,   126,
    948      127,   128,   129,     0,   133,   131,   160,     0,     0,     0,
    949      163,   119,    35,    47,     0,     0,     0,    69,     0,   105,
     938       2,     0,     1,     0,     0,   123,   122,     0,   148,   121,
     939     153,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     940       0,     0,     0,     0,     0,     0,     0,     0,   152,     0,
     941     110,    37,   100,    30,     0,     0,   160,   161,     0,     0,
     942       0,     0,     0,     8,     0,     0,     0,    38,     0,     0,
     943       0,     9,     0,     0,     3,     4,    13,     0,    20,    44,
     944     156,    42,     0,    43,     0,    31,     0,    39,     0,    16,
     945      17,    18,    21,    22,    23,     0,    25,    26,     0,    27,
     946      28,    11,    12,    14,    15,    24,     7,    10,     0,     0,
     947       0,     0,     0,     0,    38,    96,     0,     0,   109,    31,
    950948       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    951        0,     0,     0,     0,     0,     0,    75,   157,   151,   153,
    952        0,    73,     0,     0,     0,     0,     0,    55,     0,    61,
    953        0,     0,    57,     0,    63,   140,   138,   134,   135,   136,
    954      137,   139,    46,     0,     0,     0,   106,   107,     0,   108,
    955      112,     0,     0,     0,     0,     0,     0,     0,     0,   110,
    956        0,     0,    70,    56,    64,    58,    65,    68,   100,   143,
    957        0,   113,     0,   111,   109
     949     102,     0,   103,     0,   104,     0,   105,     0,    19,   129,
     950       0,   127,   130,     0,   155,     0,     0,   158,    80,    82,
     951       0,     0,     0,     0,     0,   168,   167,   151,   124,    97,
     952       0,     0,     0,     5,     0,     0,     0,    99,     0,     0,
     953       0,    85,     0,    84,     0,     0,     0,     0,     0,     0,
     954       0,     0,     0,    29,   120,     0,     6,    98,     0,   107,
     955       0,   150,   154,     0,   164,     0,   111,     0,     0,     0,
     956       0,     0,     0,     0,     0,    66,     0,     0,    50,     0,
     957       0,    53,     0,   128,   126,     0,     0,     0,     0,     0,
     958       0,   147,     0,     0,     0,   165,     0,     0,     0,     0,
     959     162,   170,     0,     0,    36,    45,   101,    32,    34,     0,
     960      33,    41,    94,    93,    92,    90,    86,    87,    88,     0,
     961      89,    91,    95,     0,    83,    78,   108,     0,     0,   131,
     962       0,    40,    42,    71,     0,    54,     0,     0,     0,    55,
     963       0,    56,     0,     0,    57,    67,    48,    49,    51,    52,
     964     138,   136,   132,   133,   134,   135,     0,   139,   137,   166,
     965       0,     0,     0,     0,   169,   125,    35,    47,     0,     0,
     966       0,    69,     0,   111,     0,     0,     0,     0,     0,     0,
     967       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     968       0,     0,     0,     0,     0,     0,    81,   163,   157,   159,
     969       0,    79,     0,     0,     0,     0,     0,    58,     0,    59,
     970       0,     0,    60,     0,    61,   146,   144,   140,   141,   142,
     971     143,   145,    72,    73,    74,    75,    76,    77,    46,     0,
     972       0,     0,   112,   113,     0,   114,   118,     0,     0,     0,
     973       0,     0,     0,     0,     0,   116,     0,     0,    70,    62,
     974      63,    64,    65,    68,   106,   149,     0,   119,     0,   117,
     975     115
    958976};
    959977
    960 /* YYDEFGOTO[NTERM-NUM]. */
    961 static const short int yydefgoto[] =
     978/* YYDEFGOTO[NTERM-NUM].  */
     979static const yytype_int16 yydefgoto[] =
    962980{
    963       -1,     1,    53,    54,    55,    56,    57,    58,   139,    60,
    964      204,    61,   232,    62,    63,    64,    65,    66,   175,   329,
    965      330,   340,   331,   165,    95,    68,   210,    69,    70,    71,
    966       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    967       82,    83,    84,    85
     981      -1,     1,    54,    55,    56,    57,    58,    59,   141,    61,
     982     207,    62,   235,    63,    64,    65,    66,    67,   177,   345,
     983     346,   356,   347,   167,    96,    69,   213,    70,    71,    72,
     984      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
     985      83,    84,    85,    86
    968986};
    969987
    970988/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    971989   STATE-NUM.  */
    972 #define YYPACT_NINF -313
    973 static const short int yypact[] =
     990#define YYPACT_NINF -329
     991static const yytype_int16 yypact[] =
    974992{
    975     -313,   253,  -313,  -136,  1167,  -313,  -313,   849,  -137,  -313,
    976     -313,  -131,  -126,  -114,  -103,   -78,   -70,   -53,   -45,   874,
    977     1484,  1558,  1625,   -33,  1167,  -102,   674,   -44,  -313,  1167,
    978     -313,  -313,  -313,  -313,   -54,  -313,  -313,   -10,   -39,   -37,
    979       13,   -36,  -313,    17,   -34,  1224,    22,    22,  1167,  1167,
    980     -313,  1167,  1167,  -313,  -313,  -313,   -27,  -313,     1,  -118,
    981     1557,  1167,  -313,  1167,  -313,  -124,  -313,  1660,  -313,  -313,
    982     -313,  -313,   -13,  -313,   674,  -313,  -313,  1167,  -313,  -313,
    983     -313,  -313,  -313,  -313,  -313,  -313,  -313,   -18,  -137,   -15,
    984       -9,    -4,    16,  -313,    62,    31,  1167,     1,    45,  1283,
    985     1167,  1167,  1167,  1167,  1167,  1167,  1167,   826,  1167,     1,
    986      935,     1,  1167,     1,   992,     1,    -5,  -313,    38,    39,
    987     -313,     1,  1631,  1557,   -26,  -313,  -313,  -313,    73,  1167,
    988       75,  1051,   849,  1557,    51,  -313,  -313,    62,   -83,  -121,
    989       61,  -313,   674,  1108,   674,  -313,  1167,  1167,  1167,  -313,
    990     1167,  -313,  1167,  1167,  1167,  1167,  1167,  1167,  1167,  1167,
    991       80,    38,  -313,   674,  -313,  -313,  1167,    -3,   674,    20,
    992     1557,   430,  -313,  1167,   444,    52,   465,  1324,  1339,    94,
    993      176,  1351,   272,  -313,   -99,   479,  -313,   -96,   493,  -313,
    994      -95,  -313,  -313,   -51,    47,    55,    58,    66,    71,  -313,
    995       -7,    77,   106,  -313,  1167,    95,   525,  -313,  -313,   -91,
    996       84,  -313,  -313,  -313,    87,  -313,   -87,  -313,  1557,  1581,
    997      420,   420,   404,    70,    70,    62,  1303,    19,    18,    70,
    998     1167,  -313,  -313,     1,   291,  1167,     1,  1283,  -313,  1363,
    999     -313,  1283,  -313,  1167,  1167,  1167,  -313,  1167,  -313,  1167,
    1000     1167,  -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,
    1001     -313,  -313,  -313,   634,  -313,  -313,  -313,   539,   118,   -56,
    1002     -313,  -313,  -313,  -313,  1167,   583,  1167,  -313,  1383,  1557,
    1003       98,  1167,    99,   632,  1398,   678,  1410,   326,   386,    93,
    1004       96,    97,   101,   102,   103,   104,  -313,  -313,  -313,  -313,
    1005     1422,  -313,  1442,   105,  1283,   -86,  -112,  -313,  1167,  -313,
    1006     1167,  1167,  -313,  1167,  -313,  -313,  -313,  -313,  -313,  -313,
    1007     -313,  -313,  -313,  1167,  1167,   113,  -313,  -313,   129,   100,
    1008     -313,   110,   692,   722,   736,   750,   771,  1502,  -112,   119,
    1009      125,  1167,  -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,
    1010      129,  -313,   -63,  -313,  -313
     993    -329,   274,  -329,  -101,  1312,  -329,  -329,   389,  -103,  -329,
     994    -329,   -78,   -75,   -57,   -53,   -47,   -46,   -44,   -41,   812,
     995     858,  1740,  1781,   -87,  1312,  -108,   333,   -40,  -329,  1312,
     996    -329,  -329,  -329,  -329,   -54,   -39,  -329,  -329,    -4,   -36,
     997     -34,   -52,   -32,  -329,    18,   -19,  1370,    19,    19,  1312,
     998    1312,  -329,  1312,  1312,  -329,  -329,  -329,     5,  -329,     7,
     999    -119,  1693,  1312,  -329,  1312,  -329,  -113,  -329,  1786,  -329,
     1000    -329,  -329,  -329,    -8,  -329,   333,  -329,  -329,  1312,  -329,
     1001    -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,    -6,  -103,
     1002       2,     8,    10,    16,  -329,    -3,    17,  1312,     7,    54,
     1003    1429,  1312,  1312,  1312,  1312,  1312,  1312,  1312,   968,  1312,
     1004       7,  1078,     7,  1312,     7,  1136,     7,    28,  -329,    38,
     1005      40,  -329,     7,  1757,  1693,   -38,  1312,  -329,  -329,  -329,
     1006      67,  1312,    69,  1195,   389,  1693,    43,  -329,  -329,    -3,
     1007    -125,  -117,    62,  -329,   333,  1253,   333,  -329,  1312,  1312,
     1008    1312,  -329,  1312,  -329,  1312,  1312,  1312,  1312,  1312,  1312,
     1009    1312,  1312,    93,    38,  -329,   333,  -329,  -329,  1312,    -9,
     1010     333,    -5,  1693,   461,  -329,  1312,   475,    48,   489,   998,
     1011    1024,   182,   211,  1507,   293,  -329,  -109,   503,  -329,   -96,
     1012     517,  -329,   -94,  -329,  -329,   -70,    42,    53,    55,    56,
     1013      59,  -329,     4,    60,    82,  -329,  1529,  1312,    96,   548,
     1014    -329,  -329,   -92,    68,  -329,  -329,  -329,    64,  -329,   -91,
     1015    -329,  1693,  1705,   538,   538,   353,    21,    21,    -3,   986,
     1016      -2,   942,    21,  1312,  -329,  -329,     7,   408,  1312,     7,
     1017    1429,  -329,  1545,  -329,  1429,  -329,  1312,  1312,  1312,  -329,
     1018    1312,  -329,  1312,  1312,  -329,  -329,  -329,  -329,  -329,  -329,
     1019    -329,  -329,  -329,  -329,  -329,  -329,   460,  -329,  -329,  -329,
     1020    1487,   657,    97,   -56,  -329,  -329,  -329,  -329,  1312,   688,
     1021    1312,  -329,  1557,  1693,    73,  1312,    74,   702,  1587,   716,
     1022    1603,   433,   447,    70,    71,    79,    84,    86,    87,    90,
     1023     -67,   -65,   -61,   -59,   -55,   730,  -329,  -329,  -329,  -329,
     1024    1615,  -329,  1627,    83,  1429,   -88,  -104,  -329,  1312,  -329,
     1025    1312,  1312,  -329,  1312,  -329,  -329,  -329,  -329,  -329,  -329,
     1026    -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,  1312,
     1027    1312,    98,  -329,  -329,   124,    95,  -329,    99,   744,   758,
     1028     772,   797,   912,  1647,  -104,   102,   100,  1312,  -329,  -329,
     1029    -329,  -329,  -329,  -329,  -329,  -329,   124,  -329,   -86,  -329,
     1030    -329
    10111031};
    10121032
    10131033/* YYPGOTO[NTERM-NUM].  */
    1014 static const short int yypgoto[] =
     1034static const yytype_int16 yypgoto[] =
    10151035{
    1016     -313,  -313,  -313,  -313,  -313,  -313,  -313,    14,    -1,    15,
    1017     -313,  -313,     2,  -313,  -313,   264,   227,    49,  -231,  -313,
    1018     -312,   -76,   -60,   114,     0,  -313,  -313,  -313,  -313,  -313,
    1019     -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,  -313,
    1020     -313,  -313,  -313,  -313
     1036    -329,  -329,  -329,  -329,  -329,  -329,  -329,    14,    -1,    15,
     1037    -329,  -329,   -37,  -329,  -329,   236,   198,    47,  -231,  -329,
     1038    -328,  -116,  -107,    78,     0,  -329,  -329,  -329,  -329,  -329,
     1039    -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,  -329,
     1040    -329,  -329,  -329,  -329
    10211041};
    10221042
     
    10261046   If YYTABLE_NINF, syntax error.  */
    10271047#define YYTABLE_NINF -1
    1028 static const short int yytable[] =
     1048static const yytype_int16 yytable[] =
    10291049{
    1030       59,    67,   327,    86,   142,   162,   280,    99,   142,   119,
    1031      282,   145,   142,   100,   163,   164,   339,   146,   101,    94,
    1032      146,    97,   148,   118,   212,   149,   149,   150,   151,   151,
    1033      102,   142,   328,   109,   111,   113,   115,   120,   339,   146,
    1034      121,   103,   146,   146,   123,    67,   252,   146,   138,   254,
    1035      256,   146,   146,   211,   270,   146,   298,   124,   272,   326,
    1036      133,   299,   161,   137,   147,   148,   104,   140,   149,   149,
    1037      150,   151,   151,   325,   105,   146,   160,   149,   116,   117,
    1038      151,   167,   354,   147,   148,   202,   203,   149,   169,   150,
    1039      151,   106,   170,    96,   257,   135,   136,   147,   148,   107,
    1040      122,   149,   125,   150,   151,   126,   184,   127,   129,   187,
    1041      131,   171,   141,   190,   174,   176,   177,   178,   179,   180,
    1042      181,   182,   201,   185,   128,   168,    96,   188,   130,   108,
    1043      209,   263,   235,    30,   191,   110,   200,   143,   264,   144,
    1044      112,   143,   216,   144,   206,   143,    97,   144,   152,   162,
    1045      153,   154,   155,   156,   156,   157,   214,   172,   217,   159,
    1046      114,   218,   219,   220,   143,   221,   144,   222,   223,   224,
    1047      225,   226,   227,   228,   229,   166,   146,   233,   192,   147,
    1048      148,   234,   236,   149,   205,   150,   151,   207,   239,   163,
    1049      241,   152,   258,   153,   154,   155,   156,   156,   157,   157,
    1050      259,   158,   159,   260,   155,   156,   268,   157,   213,   230,
    1051      152,   261,   153,   154,   155,   156,   262,   157,   266,   267,
    1052      158,   159,   265,   271,   152,   231,   153,   154,   155,   156,
    1053      297,   157,   245,   144,   158,   159,   304,   306,   315,   246,
    1054      324,   316,   317,   327,   341,   275,   318,   319,   320,   321,
    1055      278,   338,   279,     2,     3,   342,   279,   350,   283,   284,
    1056      285,     4,   286,   295,   287,   288,     5,     6,     7,     8,
    1057      351,    98,   134,     9,   353,   147,   148,   301,   349,   149,
    1058      305,   150,   151,   237,     0,     0,     0,     0,     0,   300,
    1059        0,   302,     0,    10,   147,   148,     0,     0,   149,     0,
    1060      150,   151,     0,     0,     0,     0,   152,     0,   153,   154,
    1061      155,   156,     0,   157,   247,     0,   158,   159,     0,   279,
    1062        0,   248,     0,   332,     0,   333,   334,     0,   335,   147,
    1063      148,     0,     0,   149,     0,   150,   151,     0,   336,   337,
    1064      352,     0,     0,     0,    11,    12,    13,    14,    15,    16,
    1065       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    1066        0,    27,    28,    29,    30,     0,    31,    32,    33,    34,
    1067       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1068       45,    46,     0,    47,     0,     0,    48,     0,    49,   147,
    1069      148,     0,    50,   149,     0,   150,   151,    51,     0,     0,
    1070       52,     0,   152,     0,   153,   154,   155,   156,     0,   157,
    1071      250,   149,   158,   159,   151,     0,     0,   251,     0,     0,
    1072        0,   152,     0,   153,   154,   155,   156,   149,   157,   276,
    1073      151,   158,   159,   147,   148,     0,   277,   149,     0,   150,
    1074      151,     0,     0,     0,     0,     0,     0,   147,   148,     0,
    1075        0,   149,     0,   150,   151,     0,   152,     0,   153,   154,
    1076      155,   156,     0,   157,   311,     0,   158,   159,   147,   148,
    1077        0,   312,   149,     0,   150,   151,     0,     0,     0,     0,
    1078        0,     0,   147,   148,     0,     0,   149,     0,   150,   151,
    1079        0,     0,     0,     0,     0,     0,   147,   148,     0,     0,
    1080      149,     0,   150,   151,     0,     0,     0,     0,     0,     0,
    1081        0,     0,     0,     0,     0,     0,   152,     0,   153,   154,
    1082      155,   156,     0,   157,   313,     0,   158,   159,   147,   148,
    1083        0,   314,   149,     0,   150,   151,   153,   154,   155,   156,
    1084        0,   157,   147,   148,     0,   159,   149,     0,   150,   151,
    1085      152,     0,   153,   154,   155,   156,     0,   157,     0,     0,
    1086      152,   159,   153,   154,   155,   156,     0,   157,     0,     0,
    1087      158,   159,     0,     0,   152,   238,   153,   154,   155,   156,
    1088        0,   157,     0,     0,   158,   159,   147,   148,     0,   240,
    1089      149,     0,   150,   151,     0,   152,     0,   153,   154,   155,
    1090      156,     0,   157,     0,     0,   158,   159,     0,     0,   152,
    1091      242,   153,   154,   155,   156,     0,   157,     0,     0,   158,
    1092      159,     0,     0,   152,   253,   153,   154,   155,   156,     0,
    1093      157,     0,     0,   158,   159,   147,   148,     0,   255,   149,
    1094        0,   150,   151,     0,     0,     0,     0,     5,     6,   289,
    1095      290,     0,     0,     0,     9,   152,     0,   153,   154,   155,
    1096      156,     0,   157,     0,     0,   158,   159,     0,     0,   152,
    1097      269,   153,   154,   155,   156,     0,   157,     0,     0,   158,
    1098      159,   147,   148,     0,   296,   149,     0,   150,   151,    87,
    1099        0,     0,     0,     0,     0,   147,   148,     0,     0,   149,
    1100        0,   150,   151,     0,     0,     0,     0,     0,     0,     0,
    1101        0,     0,     0,   152,     0,   153,   154,   155,   156,     0,
    1102      157,     0,     0,   158,   159,   147,   148,     0,   231,   149,
    1103        0,   150,   151,   291,   292,   293,   294,     0,     0,   147,
    1104      148,     0,     0,   149,     0,   150,   151,     0,     0,     0,
    1105        0,     0,     0,   147,   148,     0,     0,   149,     0,   150,
    1106      151,     0,   152,     0,   153,   154,   155,   156,     0,   157,
    1107        0,     0,   158,   159,   147,   148,     0,   307,   149,     0,
    1108      150,   151,     0,     0,     0,    30,     0,    31,    32,    33,
     1050      60,    68,   144,   120,   151,   151,   144,   153,   153,   284,
     1051     343,   147,   214,   286,   148,   144,   355,   164,   144,    95,
     1052     148,    98,   148,   119,   117,   118,   165,   166,   151,   215,
     1053     148,   153,   121,   110,   112,   114,   116,   255,   355,    87,
     1054     122,   344,   100,   148,   124,   148,    68,   148,   148,   140,
     1055     257,   148,   259,   148,   274,   276,   308,   125,   342,   130,
     1056     370,   135,   309,   163,   139,   149,   150,   101,   142,   151,
     1057     102,   152,   153,   204,   205,    97,   260,   162,   101,   332,
     1058     104,   333,   169,   341,   105,   334,   107,   335,   103,   171,
     1059     108,   336,   104,   172,   137,   138,   149,   150,   105,   106,
     1060     151,   107,   152,   153,   108,   123,   126,   186,   127,   128,
     1061     189,   129,   173,   131,   192,   176,   178,   179,   180,   181,
     1062     182,   183,   184,   203,   187,   164,   133,   238,   190,   132,
     1063      30,   170,   212,   158,   158,   159,   145,   202,   146,    97,
     1064     145,   206,   146,   266,   219,   143,   209,   109,    98,   145,
     1065     267,   146,   145,   111,   146,   113,   157,   158,   217,   159,
     1066     220,   115,   168,   221,   222,   223,   174,   224,   193,   225,
     1067     226,   227,   228,   229,   230,   231,   232,   148,   208,   236,
     1068     194,   210,   165,   237,   239,   149,   150,   244,   261,   151,
     1069     242,   152,   153,   154,   269,   155,   156,   157,   158,   262,
     1070     159,   263,   264,   160,   161,   265,   268,   272,   275,   307,
     1071     216,   146,   314,   316,   149,   150,   325,   326,   151,   340,
     1072     152,   153,   271,   233,   154,   327,   155,   156,   157,   158,
     1073     328,   159,   329,   330,   160,   161,   331,   354,   343,   234,
     1074     357,   366,   311,    99,   136,   358,   367,   365,   279,   240,
     1075     369,     0,     0,   282,     0,   283,     0,     0,     0,   283,
     1076       0,   287,   288,   289,     0,   290,   299,   291,   292,     0,
     1077       0,     0,     0,     0,     2,     3,     0,     0,     0,     0,
     1078       0,     0,     4,     0,   315,   305,     0,     5,     6,     7,
     1079       8,     0,     0,   310,     9,   312,   149,   150,     0,     0,
     1080     151,     0,   152,   153,     0,     0,     0,     0,     0,     0,
     1081       0,     0,     0,   154,    10,   155,   156,   157,   158,     0,
     1082     159,   248,     0,   160,   161,     0,     0,     0,   249,   283,
     1083       0,     0,     0,   348,     0,   349,   350,     0,   351,     0,
     1084       0,     0,   154,     0,   155,   156,   157,   158,    88,   159,
     1085     250,     0,   160,   161,   352,   353,   368,   251,     0,     0,
     1086     151,     0,     0,   153,     0,    11,    12,    13,    14,    15,
     1087      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     1088      26,     0,    27,    28,    29,    30,     0,    31,    32,    33,
     1089      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
     1090      44,    45,    46,    47,    88,    48,     0,     0,    49,     0,
     1091      50,   149,   150,     0,    51,   151,     0,   152,   153,    52,
     1092       0,     0,    53,     0,   154,     0,   155,   156,   157,   158,
     1093       0,   159,   253,     0,   160,   161,   149,   150,     0,   254,
     1094     151,     0,   152,   153,    30,     0,    31,    32,    33,     0,
     1095     149,   150,     0,     0,   151,     0,   152,   153,     0,     0,
     1096       0,     0,    94,     0,   149,   150,     0,     0,   151,    50,
     1097     152,   153,     0,     5,     6,   293,   294,     0,   149,   150,
     1098       9,    53,   151,     0,   152,   153,   155,   156,   157,   158,
     1099       0,   159,   149,   150,     0,   161,   151,     0,   152,   153,
     1100      30,     0,    31,    32,    33,     0,   149,   150,     0,     0,
     1101     151,     0,   152,   153,     0,     0,     0,     0,    94,     0,
     1102     149,   150,     0,     0,   151,    50,   152,   153,     0,     0,
     1103       0,     0,     0,     0,    97,     0,     0,    53,     0,   154,
     1104       0,   155,   156,   157,   158,   151,   159,   280,   153,   160,
     1105     161,   149,   150,     0,   281,   151,     0,   152,   153,   295,
     1106     296,   297,   298,     0,   154,     0,   155,   156,   157,   158,
     1107       0,   159,   321,     0,   160,   161,     0,     0,   154,   322,
     1108     155,   156,   157,   158,     0,   159,   323,     0,   160,   161,
     1109       0,     0,   154,   324,   155,   156,   157,   158,     0,   159,
     1110       0,     0,   160,   161,     0,     0,   154,   241,   155,   156,
     1111     157,   158,     0,   159,     0,     0,   160,   161,     0,     0,
     1112     154,   243,   155,   156,   157,   158,     0,   159,     0,     0,
     1113     160,   161,     0,     0,   154,   245,   155,   156,   157,   158,
     1114       0,   159,     0,     0,   160,   161,     0,     0,   154,   256,
     1115     155,   156,   157,   158,     0,   159,     0,     0,   160,   161,
     1116     149,   150,     0,   258,   151,     0,   152,   153,     0,   154,
     1117       0,   155,   156,   157,   158,     0,   159,     0,     0,   154,
     1118     161,   155,   156,   157,   158,     0,   159,     0,     0,   160,
     1119     161,   149,   150,     0,   273,   151,     0,   152,   153,     0,
     1120       0,     0,     0,     0,     0,   149,   150,     0,     0,   151,
     1121       0,   152,   153,     0,     0,     0,     0,     0,     0,   149,
     1122     150,     0,     0,   151,     0,   152,   153,     0,     0,     0,
     1123       0,     0,     0,   149,   150,     0,     0,   151,     0,   152,
     1124     153,     0,     0,     0,     0,     0,     0,   149,   150,     0,
     1125       0,   151,     0,   152,   153,     0,     0,     0,     0,     0,
     1126       0,   149,   150,     0,     0,   151,     0,   152,   153,     0,
     1127       0,     0,     0,     0,     0,   149,   150,     0,     0,   151,
     1128       0,   152,   153,     0,     0,     0,     0,     0,   154,     0,
     1129     155,   156,   157,   158,     0,   159,     0,     0,   160,   161,
     1130     149,   150,     0,   306,   151,     0,   152,   153,     0,     0,
     1131       0,     0,     0,     0,     0,     0,     0,     0,     0,   154,
     1132       0,   155,   156,   157,   158,     0,   159,    88,     0,   160,
     1133     161,     0,     0,   154,   234,   155,   156,   157,   158,     0,
     1134     159,     0,     0,   160,   161,     0,     0,   154,   317,   155,
     1135     156,   157,   158,     0,   159,     0,     0,   160,   161,     0,
     1136       0,   154,   319,   155,   156,   157,   158,     0,   159,     0,
     1137       0,   160,   161,    88,     0,   154,   337,   155,   156,   157,
     1138     158,     0,   159,     0,     0,   160,   161,     0,     0,   154,
     1139     359,   155,   156,   157,   158,     0,   159,     0,     0,   160,
     1140     161,     0,     0,   154,   360,   155,   156,   157,   158,     0,
     1141     159,     0,     0,   160,   161,   149,   150,     0,   361,   151,
     1142       0,   152,   153,    30,     0,    31,    32,    33,   154,     0,
     1143     155,   156,   157,   158,     0,   159,     0,     0,   160,   161,
     1144       0,    94,     0,   362,     0,     0,   150,     0,    50,   151,
     1145       0,   152,   153,     0,     0,     0,     0,   109,     0,     0,
     1146      53,     0,     0,     0,     0,     0,     0,     0,     0,    30,
     1147       0,    31,    32,    33,     0,     0,     4,     0,     0,     0,
     1148       0,     5,     6,    88,    89,     0,     0,    94,     9,   149,
     1149     150,     0,     0,   151,    50,   152,   153,     0,     0,     0,
     1150       0,   149,   150,   111,     0,   151,    53,   152,   153,     0,
    11091151       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1110        0,     0,    93,     0,     0,     0,     0,     0,   152,    49,
    1111      153,   154,   155,   156,     0,   157,     0,     0,   158,   159,
    1112        0,    52,   152,   309,   153,   154,   155,   156,     0,   157,
    1113        0,     0,   158,   159,     4,     0,     0,   343,     0,     5,
    1114        6,    87,    88,     0,     0,     0,     9,     0,     0,     0,
    1115        0,     0,   152,     0,   153,   154,   155,   156,     0,   157,
    1116        0,     0,   158,   159,    87,     0,   152,   344,   153,   154,
    1117      155,   156,     0,   157,     0,     0,   158,   159,     0,     0,
    1118      152,   345,   153,   154,   155,   156,     0,   157,     0,    87,
    1119      158,   159,     0,     0,     0,   346,     0,     0,     0,     0,
    1120        0,   152,     0,   153,   154,   155,   156,     0,   157,     0,
    1121        0,   158,   159,     0,     0,     0,   347,    11,    12,    13,
    1122       14,    15,    16,    17,    18,    89,    90,    91,    92,     0,
     1152       0,     0,     0,     0,     0,     0,     0,   149,   150,     0,
     1153       0,   151,     0,   152,   153,     0,     0,     0,     0,     0,
     1154       0,     0,     0,   154,     0,   155,   156,   157,   158,     0,
     1155     159,     0,     0,   160,   161,     0,     0,     0,   363,    11,
     1156      12,    13,    14,    15,    16,    17,    18,    90,    91,    92,
     1157      93,     0,     0,   154,     0,   155,   156,   157,   158,    30,
     1158     159,    31,    32,    33,   161,    35,     4,     0,     0,    39,
     1159      40,     5,     6,    88,    89,     0,     0,    94,     9,     0,
     1160       0,     0,    49,     0,    50,     0,     0,     0,     0,     0,
     1161       0,     0,     0,    52,   185,     0,    53,   154,     0,   155,
     1162     156,   157,   158,   277,   159,   278,     0,   160,   161,   154,
     1163       0,   155,   156,   157,   158,     0,   159,   246,     0,   160,
     1164     161,     0,     0,     0,     4,     0,     0,     0,     0,     5,
     1165       6,    88,    89,     0,     0,   154,     9,   155,   156,   157,
     1166     158,     0,   159,   247,     0,   160,   161,     0,     0,    11,
     1167      12,    13,    14,    15,    16,    17,    18,    90,    91,    92,
     1168      93,     0,     0,     0,     0,     0,     0,     0,     0,    30,
     1169       0,    31,    32,    33,     0,    35,     0,     0,     0,    39,
     1170      40,     0,     0,     4,     0,     0,     0,    94,     5,     6,
     1171      88,    89,    49,     0,    50,     9,     0,     0,     0,     0,
     1172       0,     0,     0,    52,   188,     0,    53,    11,    12,    13,
     1173      14,    15,    16,    17,    18,    90,    91,    92,    93,     0,
    11231174       0,     0,     0,     0,     0,     0,     0,    30,     0,    31,
    1124       32,    33,     0,     4,     0,     0,    38,    39,     5,     6,
    1125       87,    88,     0,     0,    93,     9,     0,     0,     0,    48,
    1126       30,    49,    31,    32,    33,     0,     0,     0,     0,     0,
    1127       51,   183,     0,    52,     0,     0,     0,    93,     0,     0,
    1128        0,     0,     0,     0,    49,    30,     0,    31,    32,    33,
    1129        0,     0,     0,    96,     0,     0,    52,     0,     0,     0,
    1130        4,     0,    93,     0,     0,     5,     6,    87,    88,    49,
    1131        0,     0,     9,     0,     0,     0,     0,     0,   108,     0,
    1132        0,    52,     0,     0,     0,     0,    11,    12,    13,    14,
    1133       15,    16,    17,    18,    89,    90,    91,    92,     0,     0,
     1175      32,    33,     0,    35,     0,     0,     0,    39,    40,     0,
     1176       0,     4,     0,     0,     0,    94,     5,     6,    88,    89,
     1177      49,     0,    50,     9,     0,     0,     0,     0,     0,     0,
     1178       0,    52,   191,     0,    53,     0,    11,    12,    13,    14,
     1179      15,    16,    17,    18,    90,    91,    92,    93,     0,     0,
    11341180       0,     0,     0,     0,     0,     0,    30,     0,    31,    32,
    1135       33,     0,     0,     0,     0,    38,    39,     0,     0,     4,
    1136        0,     0,     0,    93,     5,     6,    87,    88,    48,     0,
    1137       49,     9,     0,     0,     0,     0,     0,     0,     0,    51,
    1138      186,     0,    52,    11,    12,    13,    14,    15,    16,    17,
    1139       18,    89,    90,    91,    92,     0,     0,     0,     0,     0,
    1140        0,     0,     0,    30,     0,    31,    32,    33,     0,     0,
    1141        0,     0,    38,    39,     0,     0,     4,     0,     0,     0,
    1142       93,     5,     6,    87,    88,    48,     0,    49,     9,     0,
    1143        0,     0,     0,     0,     0,     0,    51,   189,     0,    52,
    1144        0,     0,    11,    12,    13,    14,    15,    16,    17,    18,
    1145       89,    90,    91,    92,     0,     0,     0,     0,     0,     0,
    1146        0,     0,    30,     0,    31,    32,    33,     0,     0,     0,
    1147        0,    38,    39,     0,     0,     4,     0,     0,     0,    93,
    1148        5,     6,    87,    88,    48,     0,    49,     9,     0,     0,
    1149        0,     0,     0,     0,     0,    51,   208,     0,    52,    11,
    1150       12,    13,    14,    15,    16,    17,    18,    89,    90,    91,
    1151       92,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    1152        0,    31,    32,    33,     0,     0,     0,     0,    38,    39,
    1153        0,     0,     4,     0,     0,     0,    93,     5,     6,   132,
    1154       88,    48,     0,    49,     9,     0,     0,     0,     0,     0,
    1155        0,     0,    51,   215,     0,    52,     0,     0,    11,    12,
    1156       13,    14,    15,    16,    17,    18,    89,    90,    91,    92,
    1157        0,     0,     0,     0,     0,     0,     0,     0,    30,     0,
    1158       31,    32,    33,     0,     0,     0,     0,    38,    39,     0,
    1159        0,     4,     0,     0,     0,    93,     5,     6,    87,    88,
    1160       48,     0,    49,     9,     0,     0,   147,   148,     0,     0,
    1161      149,    51,   150,   151,    52,    11,    12,    13,    14,    15,
    1162       16,    17,    18,    19,    20,    21,    22,   147,   148,     0,
    1163        0,   149,     0,   150,   151,    30,     0,    31,    32,    33,
    1164        0,     0,   147,   148,    38,    39,   149,     0,   150,   151,
    1165        0,     0,    93,     0,   147,   148,     0,    48,   149,    49,
    1166      150,   151,     0,     0,     0,     0,   147,   148,    51,     0,
    1167      149,    52,   150,   151,    11,    12,    13,    14,    15,    16,
    1168       17,    18,    89,    90,    91,    92,   147,   148,     0,     0,
    1169      149,     0,   150,   151,    30,     0,    31,    32,    33,     0,
    1170        0,   147,   148,    38,    39,   149,     0,   150,   151,     0,
    1171        0,    93,     0,   147,   148,     0,    48,   149,    49,   150,
    1172      151,     0,     0,     0,     0,   147,   148,   173,     0,   149,
    1173       52,   150,   151,   152,     0,   153,   154,   155,   156,   273,
    1174      157,   274,     0,   158,   159,   147,   148,     0,     0,   149,
    1175        0,   150,   151,     0,   152,     0,   153,   154,   155,   156,
    1176        0,   157,   243,     0,   158,   159,     0,     0,     0,   152,
    1177        0,   153,   154,   155,   156,     0,   157,   244,     0,   158,
    1178      159,   152,     0,   153,   154,   155,   156,     0,   157,   249,
    1179        0,   158,   159,   152,     0,   153,   154,   155,   156,    87,
    1180      157,   281,     0,   158,   159,   147,   148,     0,     0,   149,
    1181        0,   150,   151,   152,     0,   153,   154,   155,   156,   303,
    1182      157,     0,     0,   158,   159,     0,     0,     0,   152,     0,
    1183      153,   154,   155,   156,     0,   157,   308,     0,   158,   159,
    1184      152,     0,   153,   154,   155,   156,     0,   157,   310,     0,
    1185      158,   159,   152,     0,   153,   154,   155,   156,   322,   157,
    1186      147,   148,   158,   159,   149,     0,   150,   151,     0,     0,
    1187        0,     0,   152,    87,   153,   154,   155,   156,     0,   157,
    1188      323,     0,   158,   159,    -1,   148,     0,     0,   149,     0,
    1189      150,   151,     0,     0,     0,    30,     0,    31,    32,    33,
     1181      33,     0,    35,     0,     0,     0,    39,    40,     0,     0,
     1182       4,     0,     0,     0,    94,     5,     6,    88,    89,    49,
     1183       0,    50,     9,     0,     0,     0,     0,     0,     0,     0,
     1184      52,   211,     0,    53,    11,    12,    13,    14,    15,    16,
     1185      17,    18,    90,    91,    92,    93,     0,     0,     0,     0,
     1186       0,     0,     0,     0,    30,     0,    31,    32,    33,     0,
     1187      35,     0,     0,     0,    39,    40,     0,     0,     4,     0,
     1188       0,     0,    94,     5,     6,   134,    89,    49,     0,    50,
     1189       9,     0,     0,     0,     0,     0,     0,     0,    52,   218,
     1190       0,    53,     0,    11,    12,    13,    14,    15,    16,    17,
     1191      18,    90,    91,    92,    93,     0,     0,     0,     0,     0,
     1192       0,     0,     0,    30,     0,    31,    32,    33,     0,    35,
     1193       0,     0,     0,    39,    40,     0,     0,     4,     0,     0,
     1194       0,    94,     5,     6,    88,    89,    49,     0,    50,     9,
     1195       0,     0,     0,     0,     0,     0,     0,    52,     0,     0,
     1196      53,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     1197      20,    21,    22,     0,     0,     0,     0,     0,     0,     0,
     1198       0,    30,     0,    31,    32,    33,     0,    35,     0,     0,
     1199       0,    39,    40,     0,     0,     4,     0,     0,     0,    94,
     1200       5,     6,    88,    89,    49,     0,    50,     9,     0,     0,
     1201     149,   150,     0,     0,   151,    52,   152,   153,    53,     0,
     1202      11,    12,    13,    14,    15,    16,    17,    18,    90,    91,
     1203      92,    93,   149,   150,     0,     0,   151,     0,   152,   153,
     1204      30,     0,    31,    32,    33,     0,    35,     0,   149,   150,
     1205      39,    40,   151,     0,   152,   153,     0,     0,    94,     0,
     1206     149,   150,     0,    49,   151,    50,   152,   153,     0,     0,
     1207       0,     0,     0,     0,   175,     0,     0,    53,   300,    12,
     1208      13,   301,   302,    16,   303,   304,    90,    91,    92,    93,
     1209     149,   150,     0,     0,   151,     0,   152,   153,    30,     0,
     1210      31,    32,    33,     0,    35,     0,   149,   150,    39,    40,
     1211     151,     0,   152,   153,     0,     0,    94,     0,   149,   150,
     1212       0,    49,   151,    50,   152,   153,     0,     0,     0,     0,
     1213     149,   150,    52,     0,   151,    53,   152,   153,   154,     0,
     1214     155,   156,   157,   158,     0,   159,   252,     0,   160,   161,
     1215     149,   150,     0,     0,   151,     0,   152,   153,     0,     0,
     1216     154,     0,   155,   156,   157,   158,     0,   159,   270,     0,
     1217     160,   161,     0,     0,     0,     0,   154,     0,   155,   156,
     1218     157,   158,     0,   159,   285,     0,   160,   161,   154,     0,
     1219     155,   156,   157,   158,   313,   159,   149,   150,   160,   161,
     1220     151,     0,   152,   153,     0,     0,     0,     0,    -1,   150,
     1221       0,     0,   151,     0,   152,   153,     0,     0,   154,     0,
     1222     155,   156,   157,   158,     0,   159,   318,     0,   160,   161,
     1223       0,     0,     0,     0,   154,     0,   155,   156,   157,   158,
     1224       0,   159,   320,     0,   160,   161,   154,     0,   155,   156,
     1225     157,   158,   338,   159,     0,    88,   160,   161,   154,     0,
     1226     155,   156,   157,   158,     0,   159,   339,     0,   160,   161,
     1227       5,     6,   195,   196,     0,     0,     0,     9,   154,     0,
     1228     155,   156,   157,   158,   364,   159,     0,     0,   160,   161,
     1229       0,     0,     0,     0,     0,     0,    88,     0,     0,     0,
     1230       0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
    11901231       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1191        0,     0,    93,     0,     0,     0,     0,     0,     0,    49,
    1192        0,     0,     0,     0,     0,     0,     0,     0,   110,     0,
    1193        0,    52,   152,     0,   153,   154,   155,   156,   348,   157,
    1194       87,     0,   158,   159,     5,     6,   193,   194,     0,     0,
    1195        0,     9,     0,     0,     0,     0,     0,     0,     0,     0,
    1196        0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    1197        0,    31,    32,    33,     0,    87,     0,     0,     0,     0,
    1198        0,     0,     0,     0,     0,     0,    93,   152,     0,   153,
    1199      154,   155,   156,    49,   157,     0,     0,   158,   159,     0,
    1200        0,     0,   112,     0,     0,    52,     0,     0,     0,     0,
    1201        0,   152,     0,   153,   154,   155,   156,     0,   157,     0,
    1202        0,   158,   159,     0,     0,     0,     0,     0,     0,     0,
    1203      195,   196,   197,   198,     0,     0,    30,     0,    31,    32,
    1204       33,     0,    30,     0,    31,    32,    33,     0,     0,     0,
    1205        0,     0,     0,    93,     0,     0,     0,     0,     0,    93,
    1206       49,     0,     0,     0,     0,     0,    49,     0,     0,   114,
    1207        0,    30,    52,    31,    32,    33,   199,     0,    52,     0,
    1208        0,     0,     0,     0,     0,     0,     0,     0,    93,     0,
    1209        0,     0,     0,     0,     0,    49,     0,     0,     0,     0,
    1210        0,     0,     0,     0,   166,     0,     0,    52
     1232       0,     0,     0,     0,   154,     0,   155,   156,   157,   158,
     1233       0,   159,     0,     0,   160,   161,   154,     0,   155,   156,
     1234     157,   158,     0,   159,     0,     0,   160,   161,     0,     0,
     1235       0,    30,     0,    31,    32,    33,   197,   198,   199,   200,
     1236       0,     0,     0,     0,     0,     0,     0,     0,    30,    94,
     1237      31,    32,    33,     0,     0,     0,    50,     0,     0,     0,
     1238       0,     0,     0,     0,     0,   113,    94,     0,    53,     0,
     1239       0,     0,    30,    50,    31,    32,    33,    30,     0,    31,
     1240      32,    33,     0,   201,     0,    53,     0,     0,     0,     0,
     1241      94,     0,     0,     0,     0,    94,     0,    50,     0,     0,
     1242       0,     0,    50,     0,     0,     0,   115,     0,     0,    53,
     1243       0,   168,     0,     0,    53
    12111244};
    12121245
    1213 static const short int yycheck[] =
     1246static const yytype_int16 yycheck[] =
    12141247{
    1215        1,     1,   114,   139,    11,   129,   237,   144,    11,   111,
    1216      241,   129,    11,   144,   138,   139,   328,   138,   144,     4,
    1217      138,     7,     4,    24,   145,     7,     7,     9,    10,    10,
    1218      144,    11,   144,    19,    20,    21,    22,   139,   350,   138,
    1219       26,   144,   138,   138,    29,    45,   145,   138,    49,   145,
    1220      145,   138,   138,   136,   145,   138,   112,   111,   145,   145,
    1221       45,   117,    63,    48,     3,     4,   144,    52,     7,     7,
    1222        9,    10,    10,   304,   144,   138,    61,     7,   111,   112,
    1223       10,    67,   145,     3,     4,   111,   112,     7,    74,     9,
    1224       10,   144,    77,   144,   145,    46,    47,     3,     4,   144,
    1225      144,     7,   112,     9,    10,   144,   107,   144,   144,   110,
    1226      144,    96,   139,   114,    99,   100,   101,   102,   103,   104,
    1227      105,   106,   122,   108,   111,   138,   144,   112,   111,   144,
    1228      131,   138,   135,   111,   139,   144,   122,   144,   145,   146,
    1229      144,   144,   143,   146,   129,   144,   132,   146,   130,   129,
    1230      132,   133,   134,   135,   135,   137,   142,   112,   144,   141,
    1231      144,   146,   147,   148,   144,   150,   146,   152,   153,   154,
    1232      155,   156,   157,   158,   159,   144,   138,   163,   139,     3,
    1233        4,   166,   168,     7,   111,     9,    10,   112,   173,   138,
    1234      138,   130,   145,   132,   133,   134,   135,   135,   137,   137,
    1235      145,   140,   141,   145,   134,   135,   111,   137,   147,   129,
    1236      130,   145,   132,   133,   134,   135,   145,   137,   112,   204,
    1237      140,   141,   145,   139,   130,   145,   132,   133,   134,   135,
    1238      112,   137,   138,   146,   140,   141,   138,   138,   145,   145,
    1239      135,   145,   145,   114,   144,   230,   145,   145,   145,   145,
    1240      235,   138,   237,     0,     1,   145,   241,   138,   243,   244,
    1241      245,     8,   247,   263,   249,   250,    13,    14,    15,    16,
    1242      145,     7,    45,    20,   350,     3,     4,   275,   338,     7,
    1243      281,     9,    10,   169,    -1,    -1,    -1,    -1,    -1,   274,
    1244       -1,   276,    -1,    40,     3,     4,    -1,    -1,     7,    -1,
    1245        9,    10,    -1,    -1,    -1,    -1,   130,    -1,   132,   133,
    1246      134,   135,    -1,   137,   138,    -1,   140,   141,    -1,   304,
    1247       -1,   145,    -1,   308,    -1,   310,   311,    -1,   313,     3,
    1248        4,    -1,    -1,     7,    -1,     9,    10,    -1,   323,   324,
    1249      341,    -1,    -1,    -1,    91,    92,    93,    94,    95,    96,
    1250       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    1251       -1,   108,   109,   110,   111,    -1,   113,   114,   115,   116,
    1252      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
    1253      127,   128,    -1,   130,    -1,    -1,   133,    -1,   135,     3,
    1254        4,    -1,   139,     7,    -1,     9,    10,   144,    -1,    -1,
    1255      147,    -1,   130,    -1,   132,   133,   134,   135,    -1,   137,
    1256      138,     7,   140,   141,    10,    -1,    -1,   145,    -1,    -1,
    1257       -1,   130,    -1,   132,   133,   134,   135,     7,   137,   138,
    1258       10,   140,   141,     3,     4,    -1,   145,     7,    -1,     9,
    1259       10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
    1260       -1,     7,    -1,     9,    10,    -1,   130,    -1,   132,   133,
    1261      134,   135,    -1,   137,   138,    -1,   140,   141,     3,     4,
    1262       -1,   145,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,
    1263       -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,
    1264       -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
     1248       1,     1,    11,   111,     7,     7,    11,    10,    10,   240,
     1249     114,   130,   137,   244,   139,    11,   344,   130,    11,     4,
     1250     139,     7,   139,    24,   111,   112,   139,   140,     7,   146,
     1251     139,    10,   140,    19,    20,    21,    22,   146,   366,   140,
     1252      26,   145,   145,   139,    29,   139,    46,   139,   139,    50,
     1253     146,   139,   146,   139,   146,   146,   112,   111,   146,   111,
     1254     146,    46,   118,    64,    49,     3,     4,   145,    53,     7,
     1255     145,     9,    10,   111,   112,   145,   146,    62,   145,   146,
     1256     145,   146,    68,   314,   145,   146,   145,   146,   145,    75,
     1257     145,   146,   145,    78,    47,    48,     3,     4,   145,   145,
     1258       7,   145,     9,    10,   145,   145,   145,   108,   112,   145,
     1259     111,   145,    97,   145,   115,   100,   101,   102,   103,   104,
     1260     105,   106,   107,   123,   109,   130,   145,   136,   113,   111,
     1261     111,   139,   133,   136,   136,   138,   145,   123,   147,   145,
     1262     145,   126,   147,   139,   145,   140,   131,   145,   134,   145,
     1263     146,   147,   145,   145,   147,   145,   135,   136,   144,   138,
     1264     146,   145,   145,   148,   149,   150,   112,   152,   140,   154,
     1265     155,   156,   157,   158,   159,   160,   161,   139,   111,   165,
     1266     140,   112,   139,   168,   170,     3,     4,   139,   146,     7,
     1267     175,     9,    10,   131,   112,   133,   134,   135,   136,   146,
     1268     138,   146,   146,   141,   142,   146,   146,   111,   140,   112,
     1269     148,   147,   139,   139,     3,     4,   146,   146,     7,   136,
     1270       9,    10,   207,   130,   131,   146,   133,   134,   135,   136,
     1271     146,   138,   146,   146,   141,   142,   146,   139,   114,   146,
     1272     145,   139,   279,     7,    46,   146,   146,   354,   233,   171,
     1273     366,    -1,    -1,   238,    -1,   240,    -1,    -1,    -1,   244,
     1274      -1,   246,   247,   248,    -1,   250,   266,   252,   253,    -1,
     1275      -1,    -1,    -1,    -1,     0,     1,    -1,    -1,    -1,    -1,
     1276      -1,    -1,     8,    -1,   285,   270,    -1,    13,    14,    15,
     1277      16,    -1,    -1,   278,    20,   280,     3,     4,    -1,    -1,
    12651278       7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
    1266       -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,   132,   133,
    1267      134,   135,    -1,   137,   138,    -1,   140,   141,     3,     4,
    1268       -1,   145,     7,    -1,     9,    10,   132,   133,   134,   135,
    1269       -1,   137,     3,     4,    -1,   141,     7,    -1,     9,    10,
    1270      130,    -1,   132,   133,   134,   135,    -1,   137,    -1,    -1,
    1271      130,   141,   132,   133,   134,   135,    -1,   137,    -1,    -1,
    1272      140,   141,    -1,    -1,   130,   145,   132,   133,   134,   135,
    1273       -1,   137,    -1,    -1,   140,   141,     3,     4,    -1,   145,
    1274        7,    -1,     9,    10,    -1,   130,    -1,   132,   133,   134,
    1275      135,    -1,   137,    -1,    -1,   140,   141,    -1,    -1,   130,
    1276      145,   132,   133,   134,   135,    -1,   137,    -1,    -1,   140,
    1277      141,    -1,    -1,   130,   145,   132,   133,   134,   135,    -1,
    1278      137,    -1,    -1,   140,   141,     3,     4,    -1,   145,     7,
    1279       -1,     9,    10,    -1,    -1,    -1,    -1,    13,    14,    15,
    1280       16,    -1,    -1,    -1,    20,   130,    -1,   132,   133,   134,
    1281      135,    -1,   137,    -1,    -1,   140,   141,    -1,    -1,   130,
    1282      145,   132,   133,   134,   135,    -1,   137,    -1,    -1,   140,
    1283      141,     3,     4,    -1,   145,     7,    -1,     9,    10,    15,
     1279      -1,    -1,    -1,   131,    40,   133,   134,   135,   136,    -1,
     1280     138,   139,    -1,   141,   142,    -1,    -1,    -1,   146,   314,
     1281      -1,    -1,    -1,   318,    -1,   320,   321,    -1,   323,    -1,
     1282      -1,    -1,   131,    -1,   133,   134,   135,   136,    15,   138,
     1283     139,    -1,   141,   142,   339,   340,   357,   146,    -1,    -1,
     1284       7,    -1,    -1,    10,    -1,    91,    92,    93,    94,    95,
     1285      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     1286     106,    -1,   108,   109,   110,   111,    -1,   113,   114,   115,
     1287     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     1288     126,   127,   128,   129,    15,   131,    -1,    -1,   134,    -1,
     1289     136,     3,     4,    -1,   140,     7,    -1,     9,    10,   145,
     1290      -1,    -1,   148,    -1,   131,    -1,   133,   134,   135,   136,
     1291      -1,   138,   139,    -1,   141,   142,     3,     4,    -1,   146,
     1292       7,    -1,     9,    10,   111,    -1,   113,   114,   115,    -1,
     1293       3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,
     1294      -1,    -1,   129,    -1,     3,     4,    -1,    -1,     7,   136,
     1295       9,    10,    -1,    13,    14,    15,    16,    -1,     3,     4,
     1296      20,   148,     7,    -1,     9,    10,   133,   134,   135,   136,
     1297      -1,   138,     3,     4,    -1,   142,     7,    -1,     9,    10,
     1298     111,    -1,   113,   114,   115,    -1,     3,     4,    -1,    -1,
     1299       7,    -1,     9,    10,    -1,    -1,    -1,    -1,   129,    -1,
     1300       3,     4,    -1,    -1,     7,   136,     9,    10,    -1,    -1,
     1301      -1,    -1,    -1,    -1,   145,    -1,    -1,   148,    -1,   131,
     1302      -1,   133,   134,   135,   136,     7,   138,   139,    10,   141,
     1303     142,     3,     4,    -1,   146,     7,    -1,     9,    10,    99,
     1304     100,   101,   102,    -1,   131,    -1,   133,   134,   135,   136,
     1305      -1,   138,   139,    -1,   141,   142,    -1,    -1,   131,   146,
     1306     133,   134,   135,   136,    -1,   138,   139,    -1,   141,   142,
     1307      -1,    -1,   131,   146,   133,   134,   135,   136,    -1,   138,
     1308      -1,    -1,   141,   142,    -1,    -1,   131,   146,   133,   134,
     1309     135,   136,    -1,   138,    -1,    -1,   141,   142,    -1,    -1,
     1310     131,   146,   133,   134,   135,   136,    -1,   138,    -1,    -1,
     1311     141,   142,    -1,    -1,   131,   146,   133,   134,   135,   136,
     1312      -1,   138,    -1,    -1,   141,   142,    -1,    -1,   131,   146,
     1313     133,   134,   135,   136,    -1,   138,    -1,    -1,   141,   142,
     1314       3,     4,    -1,   146,     7,    -1,     9,    10,    -1,   131,
     1315      -1,   133,   134,   135,   136,    -1,   138,    -1,    -1,   131,
     1316     142,   133,   134,   135,   136,    -1,   138,    -1,    -1,   141,
     1317     142,     3,     4,    -1,   146,     7,    -1,     9,    10,    -1,
    12841318      -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
    1285       -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1286       -1,    -1,    -1,   130,    -1,   132,   133,   134,   135,    -1,
    1287      137,    -1,    -1,   140,   141,     3,     4,    -1,   145,     7,
    1288       -1,     9,    10,    99,   100,   101,   102,    -1,    -1,     3,
     1319      -1,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,     3,
    12891320       4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,    -1,
    12901321      -1,    -1,    -1,     3,     4,    -1,    -1,     7,    -1,     9,
    1291       10,    -1,   130,    -1,   132,   133,   134,   135,    -1,   137,
    1292       -1,    -1,   140,   141,     3,     4,    -1,   145,     7,    -1,
    1293        9,    10,    -1,    -1,    -1,   111,    -1,   113,   114,   115,
     1322      10,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
     1323      -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1324      -1,     3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,
     1325      -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
     1326      -1,     9,    10,    -1,    -1,    -1,    -1,    -1,   131,    -1,
     1327     133,   134,   135,   136,    -1,   138,    -1,    -1,   141,   142,
     1328       3,     4,    -1,   146,     7,    -1,     9,    10,    -1,    -1,
     1329      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
     1330      -1,   133,   134,   135,   136,    -1,   138,    15,    -1,   141,
     1331     142,    -1,    -1,   131,   146,   133,   134,   135,   136,    -1,
     1332     138,    -1,    -1,   141,   142,    -1,    -1,   131,   146,   133,
     1333     134,   135,   136,    -1,   138,    -1,    -1,   141,   142,    -1,
     1334      -1,   131,   146,   133,   134,   135,   136,    -1,   138,    -1,
     1335      -1,   141,   142,    15,    -1,   131,   146,   133,   134,   135,
     1336     136,    -1,   138,    -1,    -1,   141,   142,    -1,    -1,   131,
     1337     146,   133,   134,   135,   136,    -1,   138,    -1,    -1,   141,
     1338     142,    -1,    -1,   131,   146,   133,   134,   135,   136,    -1,
     1339     138,    -1,    -1,   141,   142,     3,     4,    -1,   146,     7,
     1340      -1,     9,    10,   111,    -1,   113,   114,   115,   131,    -1,
     1341     133,   134,   135,   136,    -1,   138,    -1,    -1,   141,   142,
     1342      -1,   129,    -1,   146,    -1,    -1,     4,    -1,   136,     7,
     1343      -1,     9,    10,    -1,    -1,    -1,    -1,   145,    -1,    -1,
     1344     148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     1345      -1,   113,   114,   115,    -1,    -1,     8,    -1,    -1,    -1,
     1346      -1,    13,    14,    15,    16,    -1,    -1,   129,    20,     3,
     1347       4,    -1,    -1,     7,   136,     9,    10,    -1,    -1,    -1,
     1348      -1,     3,     4,   145,    -1,     7,   148,     9,    10,    -1,
    12941349      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1295       -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,   130,   135,
    1296      132,   133,   134,   135,    -1,   137,    -1,    -1,   140,   141,
    1297       -1,   147,   130,   145,   132,   133,   134,   135,    -1,   137,
    1298       -1,    -1,   140,   141,     8,    -1,    -1,   145,    -1,    13,
    1299       14,    15,    16,    -1,    -1,    -1,    20,    -1,    -1,    -1,
    1300       -1,    -1,   130,    -1,   132,   133,   134,   135,    -1,   137,
    1301       -1,    -1,   140,   141,    15,    -1,   130,   145,   132,   133,
    1302      134,   135,    -1,   137,    -1,    -1,   140,   141,    -1,    -1,
    1303      130,   145,   132,   133,   134,   135,    -1,   137,    -1,    15,
    1304      140,   141,    -1,    -1,    -1,   145,    -1,    -1,    -1,    -1,
    1305       -1,   130,    -1,   132,   133,   134,   135,    -1,   137,    -1,
    1306       -1,   140,   141,    -1,    -1,    -1,   145,    91,    92,    93,
     1350      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
     1351      -1,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
     1352      -1,    -1,    -1,   131,    -1,   133,   134,   135,   136,    -1,
     1353     138,    -1,    -1,   141,   142,    -1,    -1,    -1,   146,    91,
     1354      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
     1355     102,    -1,    -1,   131,    -1,   133,   134,   135,   136,   111,
     1356     138,   113,   114,   115,   142,   117,     8,    -1,    -1,   121,
     1357     122,    13,    14,    15,    16,    -1,    -1,   129,    20,    -1,
     1358      -1,    -1,   134,    -1,   136,    -1,    -1,    -1,    -1,    -1,
     1359      -1,    -1,    -1,   145,   146,    -1,   148,   131,    -1,   133,
     1360     134,   135,   136,   137,   138,   139,    -1,   141,   142,   131,
     1361      -1,   133,   134,   135,   136,    -1,   138,   139,    -1,   141,
     1362     142,    -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    13,
     1363      14,    15,    16,    -1,    -1,   131,    20,   133,   134,   135,
     1364     136,    -1,   138,   139,    -1,   141,   142,    -1,    -1,    91,
     1365      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
     1366     102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     1367      -1,   113,   114,   115,    -1,   117,    -1,    -1,    -1,   121,
     1368     122,    -1,    -1,     8,    -1,    -1,    -1,   129,    13,    14,
     1369      15,    16,   134,    -1,   136,    20,    -1,    -1,    -1,    -1,
     1370      -1,    -1,    -1,   145,   146,    -1,   148,    91,    92,    93,
    13071371      94,    95,    96,    97,    98,    99,   100,   101,   102,    -1,
    13081372      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,
    1309      114,   115,    -1,     8,    -1,    -1,   120,   121,    13,    14,
    1310       15,    16,    -1,    -1,   128,    20,    -1,    -1,    -1,   133,
    1311      111,   135,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,
    1312      144,   145,    -1,   147,    -1,    -1,    -1,   128,    -1,    -1,
    1313       -1,    -1,    -1,    -1,   135,   111,    -1,   113,   114,   115,
    1314       -1,    -1,    -1,   144,    -1,    -1,   147,    -1,    -1,    -1,
    1315        8,    -1,   128,    -1,    -1,    13,    14,    15,    16,   135,
    1316       -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,   144,    -1,
    1317       -1,   147,    -1,    -1,    -1,    -1,    91,    92,    93,    94,
     1373     114,   115,    -1,   117,    -1,    -1,    -1,   121,   122,    -1,
     1374      -1,     8,    -1,    -1,    -1,   129,    13,    14,    15,    16,
     1375     134,    -1,   136,    20,    -1,    -1,    -1,    -1,    -1,    -1,
     1376      -1,   145,   146,    -1,   148,    -1,    91,    92,    93,    94,
    13181377      95,    96,    97,    98,    99,   100,   101,   102,    -1,    -1,
    13191378      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,   114,
    1320      115,    -1,    -1,    -1,    -1,   120,   121,    -1,    -1,     8,
    1321       -1,    -1,    -1,   128,    13,    14,    15,    16,   133,    -1,
    1322      135,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
    1323      145,    -1,   147,    91,    92,    93,    94,    95,    96,    97,
     1379     115,    -1,   117,    -1,    -1,    -1,   121,   122,    -1,    -1,
     1380       8,    -1,    -1,    -1,   129,    13,    14,    15,    16,   134,
     1381      -1,   136,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1382     145,   146,    -1,   148,    91,    92,    93,    94,    95,    96,
     1383      97,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
     1384      -1,    -1,    -1,    -1,   111,    -1,   113,   114,   115,    -1,
     1385     117,    -1,    -1,    -1,   121,   122,    -1,    -1,     8,    -1,
     1386      -1,    -1,   129,    13,    14,    15,    16,   134,    -1,   136,
     1387      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,   146,
     1388      -1,   148,    -1,    91,    92,    93,    94,    95,    96,    97,
    13241389      98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,    -1,
    1325       -1,    -1,    -1,   111,    -1,   113,   114,   115,    -1,    -1,
    1326       -1,    -1,   120,   121,    -1,    -1,     8,    -1,    -1,    -1,
    1327      128,    13,    14,    15,    16,   133,    -1,   135,    20,    -1,
    1328       -1,    -1,    -1,    -1,    -1,    -1,   144,   145,    -1,   147,
    1329       -1,    -1,    91,    92,    93,    94,    95,    96,    97,    98,
    1330       99,   100,   101,   102,    -1,    -1,    -1,    -1,    -1,    -1,
    1331       -1,    -1,   111,    -1,   113,   114,   115,    -1,    -1,    -1,
    1332       -1,   120,   121,    -1,    -1,     8,    -1,    -1,    -1,   128,
    1333       13,    14,    15,    16,   133,    -1,   135,    20,    -1,    -1,
    1334       -1,    -1,    -1,    -1,    -1,   144,   145,    -1,   147,    91,
    1335       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
    1336      102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    1337       -1,   113,   114,   115,    -1,    -1,    -1,    -1,   120,   121,
    1338       -1,    -1,     8,    -1,    -1,    -1,   128,    13,    14,    15,
    1339       16,   133,    -1,   135,    20,    -1,    -1,    -1,    -1,    -1,
    1340       -1,    -1,   144,   145,    -1,   147,    -1,    -1,    91,    92,
     1390      -1,    -1,    -1,   111,    -1,   113,   114,   115,    -1,   117,
     1391      -1,    -1,    -1,   121,   122,    -1,    -1,     8,    -1,    -1,
     1392      -1,   129,    13,    14,    15,    16,   134,    -1,   136,    20,
     1393      -1,    -1,    -1,    -1,    -1,    -1,    -1,   145,    -1,    -1,
     1394     148,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     1395     100,   101,   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1396      -1,   111,    -1,   113,   114,   115,    -1,   117,    -1,    -1,
     1397      -1,   121,   122,    -1,    -1,     8,    -1,    -1,    -1,   129,
     1398      13,    14,    15,    16,   134,    -1,   136,    20,    -1,    -1,
     1399       3,     4,    -1,    -1,     7,   145,     9,    10,   148,    -1,
     1400      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
     1401     101,   102,     3,     4,    -1,    -1,     7,    -1,     9,    10,
     1402     111,    -1,   113,   114,   115,    -1,   117,    -1,     3,     4,
     1403     121,   122,     7,    -1,     9,    10,    -1,    -1,   129,    -1,
     1404       3,     4,    -1,   134,     7,   136,     9,    10,    -1,    -1,
     1405      -1,    -1,    -1,    -1,   145,    -1,    -1,   148,    91,    92,
    13411406      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
    1342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
    1343      113,   114,   115,    -1,    -1,    -1,    -1,   120,   121,    -1,
    1344       -1,     8,    -1,    -1,    -1,   128,    13,    14,    15,    16,
    1345      133,    -1,   135,    20,    -1,    -1,     3,     4,    -1,    -1,
    1346        7,   144,     9,    10,   147,    91,    92,    93,    94,    95,
    1347       96,    97,    98,    99,   100,   101,   102,     3,     4,    -1,
    1348       -1,     7,    -1,     9,    10,   111,    -1,   113,   114,   115,
    1349       -1,    -1,     3,     4,   120,   121,     7,    -1,     9,    10,
    1350       -1,    -1,   128,    -1,     3,     4,    -1,   133,     7,   135,
    1351        9,    10,    -1,    -1,    -1,    -1,     3,     4,   144,    -1,
    1352        7,   147,     9,    10,    91,    92,    93,    94,    95,    96,
    1353       97,    98,    99,   100,   101,   102,     3,     4,    -1,    -1,
    1354        7,    -1,     9,    10,   111,    -1,   113,   114,   115,    -1,
    1355       -1,     3,     4,   120,   121,     7,    -1,     9,    10,    -1,
    1356       -1,   128,    -1,     3,     4,    -1,   133,     7,   135,     9,
    1357       10,    -1,    -1,    -1,    -1,     3,     4,   144,    -1,     7,
    1358      147,     9,    10,   130,    -1,   132,   133,   134,   135,   136,
    1359      137,   138,    -1,   140,   141,     3,     4,    -1,    -1,     7,
    1360       -1,     9,    10,    -1,   130,    -1,   132,   133,   134,   135,
    1361       -1,   137,   138,    -1,   140,   141,    -1,    -1,    -1,   130,
    1362       -1,   132,   133,   134,   135,    -1,   137,   138,    -1,   140,
    1363      141,   130,    -1,   132,   133,   134,   135,    -1,   137,   138,
    1364       -1,   140,   141,   130,    -1,   132,   133,   134,   135,    15,
    1365      137,   138,    -1,   140,   141,     3,     4,    -1,    -1,     7,
    1366       -1,     9,    10,   130,    -1,   132,   133,   134,   135,   136,
    1367      137,    -1,    -1,   140,   141,    -1,    -1,    -1,   130,    -1,
    1368      132,   133,   134,   135,    -1,   137,   138,    -1,   140,   141,
    1369      130,    -1,   132,   133,   134,   135,    -1,   137,   138,    -1,
    1370      140,   141,   130,    -1,   132,   133,   134,   135,   136,   137,
    1371        3,     4,   140,   141,     7,    -1,     9,    10,    -1,    -1,
    1372       -1,    -1,   130,    15,   132,   133,   134,   135,    -1,   137,
    1373      138,    -1,   140,   141,     3,     4,    -1,    -1,     7,    -1,
    1374        9,    10,    -1,    -1,    -1,   111,    -1,   113,   114,   115,
     1407       3,     4,    -1,    -1,     7,    -1,     9,    10,   111,    -1,
     1408     113,   114,   115,    -1,   117,    -1,     3,     4,   121,   122,
     1409       7,    -1,     9,    10,    -1,    -1,   129,    -1,     3,     4,
     1410      -1,   134,     7,   136,     9,    10,    -1,    -1,    -1,    -1,
     1411       3,     4,   145,    -1,     7,   148,     9,    10,   131,    -1,
     1412     133,   134,   135,   136,    -1,   138,   139,    -1,   141,   142,
     1413       3,     4,    -1,    -1,     7,    -1,     9,    10,    -1,    -1,
     1414     131,    -1,   133,   134,   135,   136,    -1,   138,   139,    -1,
     1415     141,   142,    -1,    -1,    -1,    -1,   131,    -1,   133,   134,
     1416     135,   136,    -1,   138,   139,    -1,   141,   142,   131,    -1,
     1417     133,   134,   135,   136,   137,   138,     3,     4,   141,   142,
     1418       7,    -1,     9,    10,    -1,    -1,    -1,    -1,     3,     4,
     1419      -1,    -1,     7,    -1,     9,    10,    -1,    -1,   131,    -1,
     1420     133,   134,   135,   136,    -1,   138,   139,    -1,   141,   142,
     1421      -1,    -1,    -1,    -1,   131,    -1,   133,   134,   135,   136,
     1422      -1,   138,   139,    -1,   141,   142,   131,    -1,   133,   134,
     1423     135,   136,   137,   138,    -1,    15,   141,   142,   131,    -1,
     1424     133,   134,   135,   136,    -1,   138,   139,    -1,   141,   142,
     1425      13,    14,    15,    16,    -1,    -1,    -1,    20,   131,    -1,
     1426     133,   134,   135,   136,   137,   138,    -1,    -1,   141,   142,
     1427      -1,    -1,    -1,    -1,    -1,    -1,    15,    -1,    -1,    -1,
     1428      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    13751429      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1376       -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,   135,
    1377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,    -1,
    1378       -1,   147,   130,    -1,   132,   133,   134,   135,   136,   137,
    1379       15,    -1,   140,   141,    13,    14,    15,    16,    -1,    -1,
    1380       -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    1382       -1,   113,   114,   115,    -1,    15,    -1,    -1,    -1,    -1,
    1383       -1,    -1,    -1,    -1,    -1,    -1,   128,   130,    -1,   132,
    1384      133,   134,   135,   135,   137,    -1,    -1,   140,   141,    -1,
    1385       -1,    -1,   144,    -1,    -1,   147,    -1,    -1,    -1,    -1,
    1386       -1,   130,    -1,   132,   133,   134,   135,    -1,   137,    -1,
    1387       -1,   140,   141,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1388       99,   100,   101,   102,    -1,    -1,   111,    -1,   113,   114,
    1389      115,    -1,   111,    -1,   113,   114,   115,    -1,    -1,    -1,
    1390       -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,   128,
    1391      135,    -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,   144,
    1392       -1,   111,   147,   113,   114,   115,   145,    -1,   147,    -1,
    1393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
    1394       -1,    -1,    -1,    -1,    -1,   135,    -1,    -1,    -1,    -1,
    1395       -1,    -1,    -1,    -1,   144,    -1,    -1,   147
     1430      -1,    -1,    -1,    -1,   131,    -1,   133,   134,   135,   136,
     1431      -1,   138,    -1,    -1,   141,   142,   131,    -1,   133,   134,
     1432     135,   136,    -1,   138,    -1,    -1,   141,   142,    -1,    -1,
     1433      -1,   111,    -1,   113,   114,   115,    99,   100,   101,   102,
     1434      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   129,
     1435     113,   114,   115,    -1,    -1,    -1,   136,    -1,    -1,    -1,
     1436      -1,    -1,    -1,    -1,    -1,   145,   129,    -1,   148,    -1,
     1437      -1,    -1,   111,   136,   113,   114,   115,   111,    -1,   113,
     1438     114,   115,    -1,   146,    -1,   148,    -1,    -1,    -1,    -1,
     1439     129,    -1,    -1,    -1,    -1,   129,    -1,   136,    -1,    -1,
     1440      -1,    -1,   136,    -1,    -1,    -1,   145,    -1,    -1,   148,
     1441      -1,   145,    -1,    -1,   148
    13961442};
    13971443
    13981444/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    13991445   symbol of state STATE-NUM.  */
    1400 static const unsigned char yystos[] =
     1446static const yytype_uint8 yystos[] =
    14011447{
    1402        0,   149,     0,     1,     8,    13,    14,    15,    16,    20,
     1448       0,   150,     0,     1,     8,    13,    14,    15,    16,    20,
    14031449      40,    91,    92,    93,    94,    95,    96,    97,    98,    99,
    14041450     100,   101,   102,   103,   104,   105,   106,   108,   109,   110,
    14051451     111,   113,   114,   115,   116,   117,   118,   119,   120,   121,
    1406      122,   123,   124,   125,   126,   127,   128,   130,   133,   135,
    1407      139,   144,   147,   150,   151,   152,   153,   154,   155,   156,
    1408      157,   159,   161,   162,   163,   164,   165,   172,   173,   175,
     1452     122,   123,   124,   125,   126,   127,   128,   129,   131,   134,
     1453     136,   140,   145,   148,   151,   152,   153,   154,   155,   156,
     1454     157,   158,   160,   162,   163,   164,   165,   166,   173,   174,
    14091455     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
    1410      186,   187,   188,   189,   190,   191,   139,    15,    16,    99,
    1411      100,   101,   102,   128,   157,   172,   144,   155,   163,   144,
    1412      144,   144,   144,   144,   144,   144,   144,   144,   144,   155,
    1413      144,   155,   144,   155,   144,   155,   111,   112,   156,   111,
    1414      139,   155,   144,   157,   111,   112,   144,   144,   111,   144,
    1415      111,   144,    15,   157,   164,   165,   165,   157,   156,   156,
    1416      157,   139,    11,   144,   146,   129,   138,     3,     4,     7,
    1417        9,    10,   130,   132,   133,   134,   135,   137,   140,   141,
    1418      157,   156,   129,   138,   139,   171,   144,   155,   138,   155,
    1419      157,   157,   112,   144,   157,   166,   157,   157,   157,   157,
    1420      157,   157,   157,   145,   156,   157,   145,   156,   157,   145,
    1421      156,   139,   139,    15,    16,    99,   100,   101,   102,   145,
    1422      155,   172,   111,   112,   158,   111,   157,   112,   145,   156,
    1423      174,   136,   145,   147,   155,   145,   156,   155,   157,   157,
    1424      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
    1425      129,   145,   160,   155,   157,   135,   155,   171,   145,   157,
    1426      145,   138,   145,   138,   138,   138,   145,   138,   145,   138,
    1427      138,   145,   145,   145,   145,   145,   145,   145,   145,   145,
    1428      145,   145,   145,   138,   145,   145,   112,   157,   111,   145,
    1429      145,   139,   145,   136,   138,   157,   138,   145,   157,   157,
    1430      166,   138,   166,   157,   157,   157,   157,   157,   157,    15,
    1431       16,    99,   100,   101,   102,   172,   145,   112,   112,   117,
    1432      157,   160,   157,   136,   138,   156,   138,   145,   138,   145,
    1433      138,   138,   145,   138,   145,   145,   145,   145,   145,   145,
    1434      145,   145,   136,   138,   135,   166,   145,   114,   144,   167,
    1435      168,   170,   157,   157,   157,   157,   157,   157,   138,   168,
    1436      169,   144,   145,   145,   145,   145,   145,   145,   136,   170,
    1437      138,   145,   156,   169,   145
     1456     186,   187,   188,   189,   190,   191,   192,   140,    15,    16,
     1457      99,   100,   101,   102,   129,   158,   173,   145,   156,   164,
     1458     145,   145,   145,   145,   145,   145,   145,   145,   145,   145,
     1459     156,   145,   156,   145,   156,   145,   156,   111,   112,   157,
     1460     111,   140,   156,   145,   158,   111,   145,   112,   145,   145,
     1461     111,   145,   111,   145,    15,   158,   165,   166,   166,   158,
     1462     157,   157,   158,   140,    11,   145,   147,   130,   139,     3,
     1463       4,     7,     9,    10,   131,   133,   134,   135,   136,   138,
     1464     141,   142,   158,   157,   130,   139,   140,   172,   145,   156,
     1465     139,   156,   158,   158,   112,   145,   158,   167,   158,   158,
     1466     158,   158,   158,   158,   158,   146,   157,   158,   146,   157,
     1467     158,   146,   157,   140,   140,    15,    16,    99,   100,   101,
     1468     102,   146,   156,   173,   111,   112,   158,   159,   111,   158,
     1469     112,   146,   157,   175,   137,   146,   148,   156,   146,   157,
     1470     156,   158,   158,   158,   158,   158,   158,   158,   158,   158,
     1471     158,   158,   158,   130,   146,   161,   156,   158,   136,   156,
     1472     172,   146,   158,   146,   139,   146,   139,   139,   139,   146,
     1473     139,   146,   139,   139,   146,   146,   146,   146,   146,   146,
     1474     146,   146,   146,   146,   146,   146,   139,   146,   146,   112,
     1475     139,   158,   111,   146,   146,   140,   146,   137,   139,   158,
     1476     139,   146,   158,   158,   167,   139,   167,   158,   158,   158,
     1477     158,   158,   158,    15,    16,    99,   100,   101,   102,   173,
     1478      91,    94,    95,    97,    98,   158,   146,   112,   112,   118,
     1479     158,   161,   158,   137,   139,   157,   139,   146,   139,   146,
     1480     139,   139,   146,   139,   146,   146,   146,   146,   146,   146,
     1481     146,   146,   146,   146,   146,   146,   146,   146,   137,   139,
     1482     136,   167,   146,   114,   145,   168,   169,   171,   158,   158,
     1483     158,   158,   158,   158,   139,   169,   170,   145,   146,   146,
     1484     146,   146,   146,   146,   137,   171,   139,   146,   157,   170,
     1485     146
    14381486};
    1439 
    1440 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    1441 # define YYSIZE_T __SIZE_TYPE__
    1442 #endif
    1443 #if ! defined (YYSIZE_T) && defined (size_t)
    1444 # define YYSIZE_T size_t
    1445 #endif
    1446 #if ! defined (YYSIZE_T)
    1447 # if defined (__STDC__) || defined (__cplusplus)
    1448 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1449 #  define YYSIZE_T size_t
    1450 # endif
    1451 #endif
    1452 #if ! defined (YYSIZE_T)
    1453 # define YYSIZE_T unsigned int
    1454 #endif
    14551487
    14561488#define yyerrok         (yyerrstatus = 0)
     
    14661498/* Like YYERROR except do call yyerror.  This remains here temporarily
    14671499   to ease the transition to the new meaning of YYERROR, for GCC.
    1468    Once GCC version 2 has supplanted version 1, this can go.  */
     1500   Once GCC version 2 has supplanted version 1, this can go.  However,
     1501   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
     1502   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
     1503   discussed.  */
    14691504
    14701505#define YYFAIL          goto yyerrlab
     1506#if defined YYFAIL
     1507  /* This is here to suppress warnings from the GCC cpp's
     1508     -Wunused-macros.  Normally we don't worry about that warning, but
     1509     some users do, and we want to make it easy for users to remove
     1510     YYFAIL uses, which will produce warnings from Bison 2.5.  */
     1511#endif
    14711512
    14721513#define YYRECOVERING()  (!!yyerrstatus)
     
    14791520      yylval = (Value);                                         \
    14801521      yytoken = YYTRANSLATE (yychar);                           \
    1481       YYPOPSTACK;                                               \
     1522      YYPOPSTACK (1);                                           \
    14821523      goto yybackup;                                            \
    14831524    }                                                           \
    14841525  else                                                          \
    1485     {                                                           \
    1486       yyerror ("syntax error: cannot back up");\
     1526    {                                                           \
     1527      yyerror (YY_("syntax error: cannot back up")); \
    14871528      YYERROR;                                                  \
    14881529    }                                                           \
    1489 while (0)
     1530while (YYID (0))
     1531
    14901532
    14911533#define YYTERROR        1
    14921534#define YYERRCODE       256
    14931535
    1494 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
    1495    are run).  */
    1496 
     1536
     1537/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
     1538   If N is 0, then set CURRENT to the empty location which ends
     1539   the previous symbol: RHS[0] (always defined).  */
     1540
     1541#define YYRHSLOC(Rhs, K) ((Rhs)[K])
    14971542#ifndef YYLLOC_DEFAULT
    1498 # define YYLLOC_DEFAULT(Current, Rhs, N)                \
    1499    ((Current).first_line   = (Rhs)[1].first_line,       \
    1500     (Current).first_column = (Rhs)[1].first_column,     \
    1501     (Current).last_line    = (Rhs)[N].last_line,        \
    1502     (Current).last_column  = (Rhs)[N].last_column)
    1503 #endif
     1543# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
     1544    do                                                                  \
     1545      if (YYID (N))                                                    \
     1546        {                                                               \
     1547          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
     1548          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
     1549          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
     1550          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
     1551        }                                                               \
     1552      else                                                              \
     1553        {                                                               \
     1554          (Current).first_line   = (Current).last_line   =              \
     1555            YYRHSLOC (Rhs, 0).last_line;                                \
     1556          (Current).first_column = (Current).last_column =              \
     1557            YYRHSLOC (Rhs, 0).last_column;                              \
     1558        }                                                               \
     1559    while (YYID (0))
     1560#endif
     1561
     1562
     1563/* YY_LOCATION_PRINT -- Print the location on the stream.
     1564   This macro was not mandated originally: define only if we know
     1565   we won't break user code: when these are the locations we know.  */
     1566
     1567#ifndef YY_LOCATION_PRINT
     1568# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
     1569#  define YY_LOCATION_PRINT(File, Loc)                  \
     1570     fprintf (File, "%d.%d-%d.%d",                      \
     1571              (Loc).first_line, (Loc).first_column,     \
     1572              (Loc).last_line,  (Loc).last_column)
     1573# else
     1574#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
     1575# endif
     1576#endif
     1577
    15041578
    15051579/* YYLEX -- calling `yylex' with the right arguments.  */
     
    15231597  if (yydebug)                                  \
    15241598    YYFPRINTF Args;                             \
    1525 } while (0)
    1526 
    1527 # define YYDSYMPRINT(Args)                      \
    1528 do {                                            \
    1529   if (yydebug)                                  \
    1530     yysymprint Args;                            \
    1531 } while (0)
    1532 
    1533 # define YYDSYMPRINTF(Title, Token, Value, Location)            \
    1534 do {                                                            \
    1535   if (yydebug)                                                  \
    1536     {                                                           \
    1537       YYFPRINTF (stderr, "%s ", Title);                         \
    1538       yysymprint (stderr,                                       \
    1539                   Token, Value);        \
    1540       YYFPRINTF (stderr, "\n");                                 \
    1541     }                                                           \
    1542 } while (0)
     1599} while (YYID (0))
     1600
     1601# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
     1602do {                                                                      \
     1603  if (yydebug)                                                            \
     1604    {                                                                     \
     1605      YYFPRINTF (stderr, "%s ", Title);                                   \
     1606      yy_symbol_print (stderr,                                            \
     1607                  Type, Value); \
     1608      YYFPRINTF (stderr, "\n");                                           \
     1609    }                                                                     \
     1610} while (YYID (0))
     1611
     1612
     1613/*--------------------------------.
     1614| Print this symbol on YYOUTPUT.  |
     1615`--------------------------------*/
     1616
     1617/*ARGSUSED*/
     1618#if (defined __STDC__ || defined __C99__FUNC__ \
     1619     || defined __cplusplus || defined _MSC_VER)
     1620static void
     1621yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
     1622#else
     1623static void
     1624yy_symbol_value_print (yyoutput, yytype, yyvaluep)
     1625    FILE *yyoutput;
     1626    int yytype;
     1627    YYSTYPE const * const yyvaluep;
     1628#endif
     1629{
     1630  if (!yyvaluep)
     1631    return;
     1632# ifdef YYPRINT
     1633  if (yytype < YYNTOKENS)
     1634    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
     1635# else
     1636  YYUSE (yyoutput);
     1637# endif
     1638  switch (yytype)
     1639    {
     1640      default:
     1641        break;
     1642    }
     1643}
     1644
     1645
     1646/*--------------------------------.
     1647| Print this symbol on YYOUTPUT.  |
     1648`--------------------------------*/
     1649
     1650#if (defined __STDC__ || defined __C99__FUNC__ \
     1651     || defined __cplusplus || defined _MSC_VER)
     1652static void
     1653yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
     1654#else
     1655static void
     1656yy_symbol_print (yyoutput, yytype, yyvaluep)
     1657    FILE *yyoutput;
     1658    int yytype;
     1659    YYSTYPE const * const yyvaluep;
     1660#endif
     1661{
     1662  if (yytype < YYNTOKENS)
     1663    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
     1664  else
     1665    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
     1666
     1667  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
     1668  YYFPRINTF (yyoutput, ")");
     1669}
    15431670
    15441671/*------------------------------------------------------------------.
     
    15471674`------------------------------------------------------------------*/
    15481675
    1549 #if defined (__STDC__) || defined (__cplusplus)
     1676#if (defined __STDC__ || defined __C99__FUNC__ \
     1677     || defined __cplusplus || defined _MSC_VER)
    15501678static void
    1551 yy_stack_print (short int *bottom, short int *top)
     1679yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    15521680#else
    15531681static void
    1554 yy_stack_print (bottom, top)
    1555     short int *bottom;
    1556     short int *top;
     1682yy_stack_print (yybottom, yytop)
     1683    yytype_int16 *yybottom;
     1684    yytype_int16 *yytop;
    15571685#endif
    15581686{
    15591687  YYFPRINTF (stderr, "Stack now");
    1560   for (/* Nothing. */; bottom <= top; ++bottom)
    1561     YYFPRINTF (stderr, " %d", *bottom);
     1688  for (; yybottom <= yytop; yybottom++)
     1689    {
     1690      int yybot = *yybottom;
     1691      YYFPRINTF (stderr, " %d", yybot);
     1692    }
    15621693  YYFPRINTF (stderr, "\n");
    15631694}
     
    15671698  if (yydebug)                                                  \
    15681699    yy_stack_print ((Bottom), (Top));                           \
    1569 } while (0)
     1700} while (YYID (0))
    15701701
    15711702
     
    15741705`------------------------------------------------*/
    15751706
    1576 #if defined (__STDC__) || defined (__cplusplus)
     1707#if (defined __STDC__ || defined __C99__FUNC__ \
     1708     || defined __cplusplus || defined _MSC_VER)
    15771709static void
    1578 yy_reduce_print (int yyrule)
     1710yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    15791711#else
    15801712static void
    1581 yy_reduce_print (yyrule)
     1713yy_reduce_print (yyvsp, yyrule)
     1714    YYSTYPE *yyvsp;
    15821715    int yyrule;
    15831716#endif
    15841717{
     1718  int yynrhs = yyr2[yyrule];
    15851719  int yyi;
    1586   unsigned int yylno = yyrline[yyrule];
    1587   YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
    1588              yyrule - 1, yylno);
    1589   /* Print the symbols being reduced, and their result.  */
    1590   for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    1591     YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
    1592   YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
     1720  unsigned long int yylno = yyrline[yyrule];
     1721  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
     1722             yyrule - 1, yylno);
     1723  /* The symbols being reduced.  */
     1724  for (yyi = 0; yyi < yynrhs; yyi++)
     1725    {
     1726      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
     1727      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
     1728                       &(yyvsp[(yyi + 1) - (yynrhs)])
     1729                                       );
     1730      YYFPRINTF (stderr, "\n");
     1731    }
    15931732}
    15941733
     
    15961735do {                                    \
    15971736  if (yydebug)                          \
    1598     yy_reduce_print (Rule);             \
    1599 } while (0)
     1737    yy_reduce_print (yyvsp, Rule); \
     1738} while (YYID (0))
    16001739
    16011740/* Nonzero means print parse trace.  It is left uninitialized so that
     
    16041743#else /* !YYDEBUG */
    16051744# define YYDPRINTF(Args)
    1606 # define YYDSYMPRINT(Args)
    1607 # define YYDSYMPRINTF(Title, Token, Value, Location)
     1745# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    16081746# define YY_STACK_PRINT(Bottom, Top)
    16091747# define YY_REDUCE_PRINT(Rule)
     
    16201758
    16211759   Do not make this value too large; the results are undefined if
    1622    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
     1760   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    16231761   evaluated with infinite-precision integer arithmetic.  */
    1624 
    1625 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
    1626 # undef YYMAXDEPTH
    1627 #endif
    16281762
    16291763#ifndef YYMAXDEPTH
     
    16371771
    16381772# ifndef yystrlen
    1639 #  if defined (__GLIBC__) && defined (_STRING_H)
     1773#  if defined __GLIBC__ && defined _STRING_H
    16401774#   define yystrlen strlen
    16411775#  else
    16421776/* Return the length of YYSTR.  */
     1777#if (defined __STDC__ || defined __C99__FUNC__ \
     1778     || defined __cplusplus || defined _MSC_VER)
    16431779static YYSIZE_T
    1644 #   if defined (__STDC__) || defined (__cplusplus)
    16451780yystrlen (const char *yystr)
    1646 #   else
     1781#else
     1782static YYSIZE_T
    16471783yystrlen (yystr)
    1648      const char *yystr;
    1649 #   endif
     1784    const char *yystr;
     1785#endif
    16501786{
    1651   register const char *yys = yystr;
    1652 
    1653   while (*yys++ != '\0')
     1787  YYSIZE_T yylen;
     1788  for (yylen = 0; yystr[yylen]; yylen++)
    16541789    continue;
    1655 
    1656   return yys - yystr - 1;
     1790  return yylen;
    16571791}
    16581792#  endif
     
    16601794
    16611795# ifndef yystpcpy
    1662 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
     1796#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
    16631797#   define yystpcpy stpcpy
    16641798#  else
    16651799/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    16661800   YYDEST.  */
     1801#if (defined __STDC__ || defined __C99__FUNC__ \
     1802     || defined __cplusplus || defined _MSC_VER)
    16671803static char *
    1668 #   if defined (__STDC__) || defined (__cplusplus)
    16691804yystpcpy (char *yydest, const char *yysrc)
    1670 #   else
     1805#else
     1806static char *
    16711807yystpcpy (yydest, yysrc)
    1672      char *yydest;
    1673      const char *yysrc;
    1674 #   endif
     1808    char *yydest;
     1809    const char *yysrc;
     1810#endif
    16751811{
    1676   register char *yyd = yydest;
    1677   register const char *yys = yysrc;
     1812  char *yyd = yydest;
     1813  const char *yys = yysrc;
    16781814
    16791815  while ((*yyd++ = *yys++) != '\0')
     
    16851821# endif
    16861822
    1687 #endif /* !YYERROR_VERBOSE */
    1688 
    1689 
    1690 
    1691 
    1692 #if YYDEBUG
    1693 /*--------------------------------.
    1694 | Print this symbol on YYOUTPUT.  |
    1695 `--------------------------------*/
    1696 
    1697 #if defined (__STDC__) || defined (__cplusplus)
    1698 static void
    1699 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
    1700 #else
    1701 static void
    1702 yysymprint (yyoutput, yytype, yyvaluep)
    1703     FILE *yyoutput;
    1704     int yytype;
    1705     YYSTYPE *yyvaluep;
    1706 #endif
     1823# ifndef yytnamerr
     1824/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
     1825   quotes and backslashes, so that it's suitable for yyerror.  The
     1826   heuristic is that double-quoting is unnecessary unless the string
     1827   contains an apostrophe, a comma, or backslash (other than
     1828   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
     1829   null, do not copy; instead, return the length of what the result
     1830   would have been.  */
     1831static YYSIZE_T
     1832yytnamerr (char *yyres, const char *yystr)
    17071833{
    1708   /* Pacify ``unused variable'' warnings.  */
    1709   (void) yyvaluep;
    1710 
    1711   if (yytype < YYNTOKENS)
    1712     {
    1713       YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    1714 # ifdef YYPRINT
    1715       YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
     1834  if (*yystr == '"')
     1835    {
     1836      YYSIZE_T yyn = 0;
     1837      char const *yyp = yystr;
     1838
     1839      for (;;)
     1840        switch (*++yyp)
     1841          {
     1842          case '\'':
     1843          case ',':
     1844            goto do_not_strip_quotes;
     1845
     1846          case '\\':
     1847            if (*++yyp != '\\')
     1848              goto do_not_strip_quotes;
     1849            /* Fall through.  */
     1850          default:
     1851            if (yyres)
     1852              yyres[yyn] = *yyp;
     1853            yyn++;
     1854            break;
     1855
     1856          case '"':
     1857            if (yyres)
     1858              yyres[yyn] = '\0';
     1859            return yyn;
     1860          }
     1861    do_not_strip_quotes: ;
     1862    }
     1863
     1864  if (! yyres)
     1865    return yystrlen (yystr);
     1866
     1867  return yystpcpy (yyres, yystr) - yyres;
     1868}
    17161869# endif
     1870
     1871/* Copy into YYRESULT an error message about the unexpected token
     1872   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
     1873   including the terminating null byte.  If YYRESULT is null, do not
     1874   copy anything; just return the number of bytes that would be
     1875   copied.  As a special case, return 0 if an ordinary "syntax error"
     1876   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
     1877   size calculation.  */
     1878static YYSIZE_T
     1879yysyntax_error (char *yyresult, int yystate, int yychar)
     1880{
     1881  int yyn = yypact[yystate];
     1882
     1883  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
     1884    return 0;
     1885  else
     1886    {
     1887      int yytype = YYTRANSLATE (yychar);
     1888      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
     1889      YYSIZE_T yysize = yysize0;
     1890      YYSIZE_T yysize1;
     1891      int yysize_overflow = 0;
     1892      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
     1893      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
     1894      int yyx;
     1895
     1896# if 0
     1897      /* This is so xgettext sees the translatable formats that are
     1898         constructed on the fly.  */
     1899      YY_("syntax error, unexpected %s");
     1900      YY_("syntax error, unexpected %s, expecting %s");
     1901      YY_("syntax error, unexpected %s, expecting %s or %s");
     1902      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
     1903      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
     1904# endif
     1905      char *yyfmt;
     1906      char const *yyf;
     1907      static char const yyunexpected[] = "syntax error, unexpected %s";
     1908      static char const yyexpecting[] = ", expecting %s";
     1909      static char const yyor[] = " or %s";
     1910      char yyformat[sizeof yyunexpected
     1911                    + sizeof yyexpecting - 1
     1912                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
     1913                       * (sizeof yyor - 1))];
     1914      char const *yyprefix = yyexpecting;
     1915
     1916      /* Start YYX at -YYN if negative to avoid negative indexes in
     1917         YYCHECK.  */
     1918      int yyxbegin = yyn < 0 ? -yyn : 0;
     1919
     1920      /* Stay within bounds of both yycheck and yytname.  */
     1921      int yychecklim = YYLAST - yyn + 1;
     1922      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
     1923      int yycount = 1;
     1924
     1925      yyarg[0] = yytname[yytype];
     1926      yyfmt = yystpcpy (yyformat, yyunexpected);
     1927
     1928      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
     1929        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
     1930          {
     1931            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
     1932              {
     1933                yycount = 1;
     1934                yysize = yysize0;
     1935                yyformat[sizeof yyunexpected - 1] = '\0';
     1936                break;
     1937              }
     1938            yyarg[yycount++] = yytname[yyx];
     1939            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
     1940            yysize_overflow |= (yysize1 < yysize);
     1941            yysize = yysize1;
     1942            yyfmt = yystpcpy (yyfmt, yyprefix);
     1943            yyprefix = yyor;
     1944          }
     1945
     1946      yyf = YY_(yyformat);
     1947      yysize1 = yysize + yystrlen (yyf);
     1948      yysize_overflow |= (yysize1 < yysize);
     1949      yysize = yysize1;
     1950
     1951      if (yysize_overflow)
     1952        return YYSIZE_MAXIMUM;
     1953
     1954      if (yyresult)
     1955        {
     1956          /* Avoid sprintf, as that infringes on the user's name space.
     1957             Don't have undefined behavior even if the translation
     1958             produced a string with the wrong number of "%s"s.  */
     1959          char *yyp = yyresult;
     1960          int yyi = 0;
     1961          while ((*yyp = *yyf) != '\0')
     1962            {
     1963              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
     1964                {
     1965                  yyp += yytnamerr (yyp, yyarg[yyi++]);
     1966                  yyf += 2;
     1967                }
     1968              else
     1969                {
     1970                  yyp++;
     1971                  yyf++;
     1972                }
     1973            }
     1974        }
     1975      return yysize;
    17171976    }
    1718   else
    1719     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    1720 
    1721   switch (yytype)
    1722     {
    1723       default:
    1724         break;
    1725     }
    1726   YYFPRINTF (yyoutput, ")");
    17271977}
    1728 
    1729 #endif /* ! YYDEBUG */
     1978#endif /* YYERROR_VERBOSE */
     1979
     1980
     1981
    17301982/*-----------------------------------------------.
    17311983| Release the memory associated to this symbol.  |
    17321984`-----------------------------------------------*/
    17331985
    1734 #if defined (__STDC__) || defined (__cplusplus)
     1986/*ARGSUSED*/
     1987#if (defined __STDC__ || defined __C99__FUNC__ \
     1988     || defined __cplusplus || defined _MSC_VER)
    17351989static void
    1736 yydestruct (int yytype, YYSTYPE *yyvaluep)
     1990yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    17371991#else
    17381992static void
    1739 yydestruct (yytype, yyvaluep)
     1993yydestruct (yymsg, yytype, yyvaluep)
     1994    const char *yymsg;
    17401995    int yytype;
    17411996    YYSTYPE *yyvaluep;
    17421997#endif
    17431998{
    1744   /* Pacify ``unused variable'' warnings.  */
    1745   (void) yyvaluep;
     1999  YYUSE (yyvaluep);
     2000
     2001  if (!yymsg)
     2002    yymsg = "Deleting";
     2003  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    17462004
    17472005  switch (yytype)
     
    17492007
    17502008      default:
    1751         break;
     2009        break;
    17522010    }
    17532011}
    17542012
    1755 
    1756 
    17572013/* Prevent warnings from -Wmissing-prototypes.  */
    1758 
    17592014#ifdef YYPARSE_PARAM
    1760 # if defined (__STDC__) || defined (__cplusplus)
     2015#if defined __STDC__ || defined __cplusplus
    17612016int yyparse (void *YYPARSE_PARAM);
    1762 # else
     2017#else
    17632018int yyparse ();
    1764 # endif
     2019#endif
    17652020#else /* ! YYPARSE_PARAM */
    1766 #if defined (__STDC__) || defined (__cplusplus)
     2021#if defined __STDC__ || defined __cplusplus
    17672022int yyparse (void);
    17682023#else
     
    17752030
    17762031
    1777 
    1778 /*----------.
    1779 | yyparse.  |
    1780 `----------*/
     2032/*-------------------------.
     2033| yyparse or yypush_parse.  |
     2034`-------------------------*/
    17812035
    17822036#ifdef YYPARSE_PARAM
    1783 # if defined (__STDC__) || defined (__cplusplus)
    1784 int yyparse (void *YYPARSE_PARAM)
    1785 # else
    1786 int yyparse (YYPARSE_PARAM)
    1787   void *YYPARSE_PARAM;
    1788 # endif
     2037#if (defined __STDC__ || defined __C99__FUNC__ \
     2038     || defined __cplusplus || defined _MSC_VER)
     2039int
     2040yyparse (void *YYPARSE_PARAM)
     2041#else
     2042int
     2043yyparse (YYPARSE_PARAM)
     2044    void *YYPARSE_PARAM;
     2045#endif
    17892046#else /* ! YYPARSE_PARAM */
    1790 #if defined (__STDC__) || defined (__cplusplus)
     2047#if (defined __STDC__ || defined __C99__FUNC__ \
     2048     || defined __cplusplus || defined _MSC_VER)
    17912049int
    17922050yyparse (void)
     
    17982056#endif
    17992057{
    1800   /* The lookahead symbol.  */
     2058/* The lookahead symbol.  */
    18012059int yychar;
    18022060
     
    18042062YYSTYPE yylval;
    18052063
    1806 /* Number of syntax errors so far.  */
    1807 int yynerrs;
    1808 
    1809   register int yystate;
    1810   register int yyn;
     2064    /* Number of syntax errors so far.  */
     2065    int yynerrs;
     2066
     2067    int yystate;
     2068    /* Number of tokens to shift before error messages enabled.  */
     2069    int yyerrstatus;
     2070
     2071    /* The stacks and their tools:
     2072       `yyss': related to states.
     2073       `yyvs': related to semantic values.
     2074
     2075       Refer to the stacks thru separate pointers, to allow yyoverflow
     2076       to reallocate them elsewhere.  */
     2077
     2078    /* The state stack.  */
     2079    yytype_int16 yyssa[YYINITDEPTH];
     2080    yytype_int16 *yyss;
     2081    yytype_int16 *yyssp;
     2082
     2083    /* The semantic value stack.  */
     2084    YYSTYPE yyvsa[YYINITDEPTH];
     2085    YYSTYPE *yyvs;
     2086    YYSTYPE *yyvsp;
     2087
     2088    YYSIZE_T yystacksize;
     2089
     2090  int yyn;
    18112091  int yyresult;
    1812   /* Number of tokens to shift before error messages enabled.  */
    1813   int yyerrstatus;
    18142092  /* Lookahead token as an internal (translated) token number.  */
    1815   int yytoken = 0;
    1816 
    1817   /* Three stacks and their tools:
    1818      `yyss': related to states,
    1819      `yyvs': related to semantic values,
    1820      `yyls': related to locations.
    1821 
    1822      Refer to the stacks thru separate pointers, to allow yyoverflow
    1823      to reallocate them elsewhere.  */
    1824 
    1825   /* The state stack.  */
    1826   short int yyssa[YYINITDEPTH];
    1827   short int *yyss = yyssa;
    1828   register short int *yyssp;
    1829 
    1830   /* The semantic value stack.  */
    1831   YYSTYPE yyvsa[YYINITDEPTH];
    1832   YYSTYPE *yyvs = yyvsa;
    1833   register YYSTYPE *yyvsp;
    1834 
    1835 
    1836 
    1837 #define YYPOPSTACK   (yyvsp--, yyssp--)
    1838 
    1839   YYSIZE_T yystacksize = YYINITDEPTH;
    1840 
     2093  int yytoken;
    18412094  /* The variables used to return semantic value and location from the
    18422095     action routines.  */
    18432096  YYSTYPE yyval;
    18442097
    1845 
    1846   /* When reducing, the number of symbols on the RHS of the reduced
    1847      rule.  */
    1848   int yylen;
     2098#if YYERROR_VERBOSE
     2099  /* Buffer for error messages, and its allocated size.  */
     2100  char yymsgbuf[128];
     2101  char *yymsg = yymsgbuf;
     2102  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
     2103#endif
     2104
     2105#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
     2106
     2107  /* The number of symbols on the RHS of the reduced rule.
     2108     Keep to zero when no symbol should be popped.  */
     2109  int yylen = 0;
     2110
     2111  yytoken = 0;
     2112  yyss = yyssa;
     2113  yyvs = yyvsa;
     2114  yystacksize = YYINITDEPTH;
    18492115
    18502116  YYDPRINTF ((stderr, "Starting parse\n"));
     
    18532119  yyerrstatus = 0;
    18542120  yynerrs = 0;
    1855   yychar = YYEMPTY;             /* Cause a token to be read.  */
     2121  yychar = YYEMPTY; /* Cause a token to be read.  */
    18562122
    18572123  /* Initialize stack pointers.
     
    18592125     so that they stay on the same level as the state stack.
    18602126     The wasted elements are never initialized.  */
    1861 
    18622127  yyssp = yyss;
    18632128  yyvsp = yyvs;
    1864 
    18652129
    18662130  goto yysetstate;
     
    18712135 yynewstate:
    18722136  /* In all cases, when you get here, the value and location stacks
    1873      have just been pushed. so pushing a state here evens the stacks.
    1874      */
     2137     have just been pushed.  So pushing a state here evens the stacks.  */
    18752138  yyssp++;
    18762139
     
    18852148#ifdef yyoverflow
    18862149      {
    1887         /* Give user a chance to reallocate the stack. Use copies of
     2150        /* Give user a chance to reallocate the stack.  Use copies of
    18882151           these so that the &'s don't force the real ones into
    18892152           memory.  */
    18902153        YYSTYPE *yyvs1 = yyvs;
    1891         short int *yyss1 = yyss;
    1892 
     2154        yytype_int16 *yyss1 = yyss;
    18932155
    18942156        /* Each stack pointer address is followed by the size of the
     
    18962158           conditional around just the two extra args, but that might
    18972159           be undefined if yyoverflow is a macro.  */
    1898         yyoverflow ("parser stack overflow",
     2160        yyoverflow (YY_("memory exhausted"),
    18992161                    &yyss1, yysize * sizeof (*yyssp),
    19002162                    &yyvs1, yysize * sizeof (*yyvsp),
    1901 
    19022163                    &yystacksize);
    19032164
     
    19072168#else /* no yyoverflow */
    19082169# ifndef YYSTACK_RELOCATE
    1909       goto yyoverflowlab;
     2170      goto yyexhaustedlab;
    19102171# else
    19112172      /* Extend the stack our own way.  */
    19122173      if (YYMAXDEPTH <= yystacksize)
    1913         goto yyoverflowlab;
     2174        goto yyexhaustedlab;
    19142175      yystacksize *= 2;
    19152176      if (YYMAXDEPTH < yystacksize)
     
    19172178
    19182179      {
    1919         short int *yyss1 = yyss;
     2180        yytype_int16 *yyss1 = yyss;
    19202181        union yyalloc *yyptr =
    19212182          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    19222183        if (! yyptr)
    1923           goto yyoverflowlab;
    1924         YYSTACK_RELOCATE (yyss);
    1925         YYSTACK_RELOCATE (yyvs);
    1926 
     2184          goto yyexhaustedlab;
     2185        YYSTACK_RELOCATE (yyss_alloc, yyss);
     2186        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    19272187#  undef YYSTACK_RELOCATE
    19282188        if (yyss1 != yyssa)
     
    19352195      yyvsp = yyvs + yysize - 1;
    19362196
    1937 
    19382197      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    19392198                  (unsigned long int) yystacksize));
     
    19442203
    19452204  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
     2205
     2206  if (yystate == YYFINAL)
     2207    YYACCEPT;
    19462208
    19472209  goto yybackup;
     
    19522214yybackup:
    19532215
    1954 /* Do appropriate processing given the current state.  */
    1955 /* Read a lookahead token if we need one and don't already have one.  */
    1956 /* yyresume: */
     2216  /* Do appropriate processing given the current state.  Read a
     2217     lookahead token if we need one and don't already have one.  */
    19572218
    19582219  /* First try to decide what to do without reference to lookahead token.  */
    1959 
    19602220  yyn = yypact[yystate];
    19612221  if (yyn == YYPACT_NINF)
     
    19792239    {
    19802240      yytoken = YYTRANSLATE (yychar);
    1981       YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     2241      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    19822242    }
    19832243
     
    19962256    }
    19972257
    1998   if (yyn == YYFINAL)
    1999     YYACCEPT;
    2000 
    2001   /* Shift the lookahead token.  */
    2002   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
    2003 
    2004   /* Discard the token being shifted unless it is eof.  */
    2005   if (yychar != YYEOF)
    2006     yychar = YYEMPTY;
    2007 
    2008   *++yyvsp = yylval;
    2009 
    2010 
    20112258  /* Count tokens shifted since error; after three, turn off error
    20122259     status.  */
     
    20142261    yyerrstatus--;
    20152262
     2263  /* Shift the lookahead token.  */
     2264  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
     2265
     2266  /* Discard the shifted token.  */
     2267  yychar = YYEMPTY;
     2268
    20162269  yystate = yyn;
     2270  *++yyvsp = yylval;
     2271
    20172272  goto yynewstate;
    20182273
     
    20502305    {
    20512306        case 3:
    2052 #line 367 "grammar.y"
     2307
     2308/* Line 1464 of yacc.c  */
     2309#line 373 "grammar.y"
    20532310    {
    20542311            if (timerv)
     
    20842341
    20852342  case 5:
    2086 #line 402 "grammar.y"
     2343
     2344/* Line 1464 of yacc.c  */
     2345#line 408 "grammar.y"
    20872346    {currentVoice->ifsw=0;;}
    20882347    break;
    20892348
    20902349  case 6:
    2091 #line 404 "grammar.y"
    2092     { yyvsp[-1].lv.CleanUp(); currentVoice->ifsw=0;;}
     2350
     2351/* Line 1464 of yacc.c  */
     2352#line 410 "grammar.y"
     2353    { (yyvsp[(1) - (2)].lv).CleanUp(); currentVoice->ifsw=0;;}
    20932354    break;
    20942355
    20952356  case 7:
    2096 #line 406 "grammar.y"
     2357
     2358/* Line 1464 of yacc.c  */
     2359#line 412 "grammar.y"
    20972360    {
    20982361            YYACCEPT;
     
    21012364
    21022365  case 8:
    2103 #line 410 "grammar.y"
     2366
     2367/* Line 1464 of yacc.c  */
     2368#line 416 "grammar.y"
    21042369    {
    21052370            currentVoice->ifsw=0;
     
    21092374
    21102375  case 9:
    2111 #line 415 "grammar.y"
     2376
     2377/* Line 1464 of yacc.c  */
     2378#line 421 "grammar.y"
    21122379    {currentVoice->ifsw=0;;}
    21132380    break;
    21142381
    21152382  case 10:
    2116 #line 417 "grammar.y"
     2383
     2384/* Line 1464 of yacc.c  */
     2385#line 423 "grammar.y"
    21172386    {
    21182387            #ifdef SIQ
     
    21242393            {
    21252394/*  bison failed here*/
    2126               if ((inerror!=3) && (yyvsp[-1].i<UMINUS) && (yyvsp[-1].i>' '))
     2395              if ((inerror!=3) && ((yyvsp[(1) - (2)].i)<UMINUS) && ((yyvsp[(1) - (2)].i)>' '))
    21272396              {
    21282397                // 1: yyerror called
     
    21302399                // 3: error rule put token+\n
    21312400                inerror=3;
    2132                 Print(" error at token `%s`\n",iiTwoOps(yyvsp[-1].i));
     2401                Print(" error at token `%s`\n",iiTwoOps((yyvsp[(1) - (2)].i)));
    21332402              }
    21342403/**/
     
    21662435
    21672436  case 18:
    2168 #line 475 "grammar.y"
     2437
     2438/* Line 1464 of yacc.c  */
     2439#line 481 "grammar.y"
    21692440    {if (currentVoice!=NULL) currentVoice->ifsw=0;;}
    21702441    break;
    21712442
    21722443  case 19:
    2173 #line 478 "grammar.y"
    2174     { omFree((ADDRESS)yyvsp[0].name); ;}
     2444
     2445/* Line 1464 of yacc.c  */
     2446#line 484 "grammar.y"
     2447    { omFree((ADDRESS)(yyvsp[(2) - (2)].name)); ;}
    21752448    break;
    21762449
    21772450  case 29:
    2178 #line 493 "grammar.y"
    2179     {
    2180             if(iiAssign(&yyvsp[-1].lv,&yyvsp[0].lv)) YYERROR;
     2451
     2452/* Line 1464 of yacc.c  */
     2453#line 499 "grammar.y"
     2454    {
     2455            if(iiAssign(&(yyvsp[(1) - (2)].lv),&(yyvsp[(2) - (2)].lv))) YYERROR;
    21812456          ;}
    21822457    break;
    21832458
    21842459  case 30:
    2185 #line 500 "grammar.y"
     2460
     2461/* Line 1464 of yacc.c  */
     2462#line 506 "grammar.y"
    21862463    {
    21872464            if (currRing==NULL) MYYERROR("no ring active");
    2188             syMake(&yyval.lv,omStrDup(yyvsp[0].name));
     2465            syMake(&(yyval.lv),omStrDup((yyvsp[(1) - (1)].name)));
    21892466          ;}
    21902467    break;
    21912468
    21922469  case 31:
    2193 #line 505 "grammar.y"
    2194     {
    2195             syMake(&yyval.lv,yyvsp[0].name);
     2470
     2471/* Line 1464 of yacc.c  */
     2472#line 511 "grammar.y"
     2473    {
     2474            syMake(&(yyval.lv),(yyvsp[(1) - (1)].name));
    21962475          ;}
    21972476    break;
    21982477
    21992478  case 32:
    2200 #line 509 "grammar.y"
    2201     {
    2202             if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, COLONCOLON, &yyvsp[0].lv)) YYERROR;
     2479
     2480/* Line 1464 of yacc.c  */
     2481#line 515 "grammar.y"
     2482    {
     2483            if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), COLONCOLON, &(yyvsp[(3) - (3)].lv))) YYERROR;
    22032484          ;}
    22042485    break;
    22052486
    22062487  case 33:
    2207 #line 513 "grammar.y"
    2208     {
    2209             if(iiExprArith2(&yyval.lv, &yyvsp[-2].lv, '.', &yyvsp[0].lv)) YYERROR;
     2488
     2489/* Line 1464 of yacc.c  */
     2490#line 519 "grammar.y"
     2491    {
     2492            if(iiExprArith2(&(yyval.lv), &(yyvsp[(1) - (3)].lv), '.', &(yyvsp[(3) - (3)].lv))) YYERROR;
    22102493          ;}
    22112494    break;
    22122495
    22132496  case 34:
    2214 #line 517 "grammar.y"
    2215     {
    2216             if(iiExprArith1(&yyval.lv,&yyvsp[-2].lv,'(')) YYERROR;
     2497
     2498/* Line 1464 of yacc.c  */
     2499#line 523 "grammar.y"
     2500    {
     2501            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'(')) YYERROR;
    22172502          ;}
    22182503    break;
    22192504
    22202505  case 35:
    2221 #line 521 "grammar.y"
    2222     {
    2223             if (yyvsp[-3].lv.rtyp==UNKNOWN)
     2506
     2507/* Line 1464 of yacc.c  */
     2508#line 527 "grammar.y"
     2509    {
     2510            if ((yyvsp[(1) - (4)].lv).rtyp==UNKNOWN)
    22242511            { // for x(i)(j)
    2225               if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'(',&yyvsp[-1].lv)) YYERROR;
     2512              if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(',&(yyvsp[(3) - (4)].lv))) YYERROR;
    22262513            }
    22272514            else
    22282515            {
    2229               yyvsp[-3].lv.next=(leftv)omAllocBin(sleftv_bin);
    2230               memcpy(yyvsp[-3].lv.next,&yyvsp[-1].lv,sizeof(sleftv));
    2231               if(iiExprArithM(&yyval.lv,&yyvsp[-3].lv,'(')) YYERROR;
     2516              (yyvsp[(1) - (4)].lv).next=(leftv)omAllocBin(sleftv_bin);
     2517              memcpy((yyvsp[(1) - (4)].lv).next,&(yyvsp[(3) - (4)].lv),sizeof(sleftv));
     2518              if(iiExprArithM(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'(')) YYERROR;
    22322519            }
    22332520          ;}
     
    22352522
    22362523  case 36:
    2237 #line 534 "grammar.y"
     2524
     2525/* Line 1464 of yacc.c  */
     2526#line 540 "grammar.y"
    22382527    {
    22392528            if (currRingHdl==NULL) MYYERROR("no ring active");
    22402529            int j = 0;
    2241             memset(&yyval.lv,0,sizeof(sleftv));
    2242             yyval.lv.rtyp=VECTOR_CMD;
    2243             leftv v = &yyvsp[-1].lv;
     2530            memset(&(yyval.lv),0,sizeof(sleftv));
     2531            (yyval.lv).rtyp=VECTOR_CMD;
     2532            leftv v = &(yyvsp[(2) - (3)].lv);
    22442533            while (v!=NULL)
    22452534            {
     
    22502539              if((i==0) || (iiConvert(t /*v->Typ()*/,POLY_CMD,i,v,&tmp)))
    22512540              {
    2252                 pDelete((poly *)&yyval.lv.data);
    2253                 yyvsp[-1].lv.CleanUp();
     2541                pDelete((poly *)&(yyval.lv).data);
     2542                (yyvsp[(2) - (3)].lv).CleanUp();
    22542543                MYYERROR("expected '[poly,...'");
    22552544              }
    22562545              poly p = (poly)tmp.CopyD(POLY_CMD);
    22572546              pSetCompP(p,++j);
    2258               yyval.lv.data = (void *)pAdd((poly)yyval.lv.data,p);
     2547              (yyval.lv).data = (void *)pAdd((poly)(yyval.lv).data,p);
    22592548              v->next=tmp.next;tmp.next=NULL;
    22602549              tmp.CleanUp();
    22612550              v=v->next;
    22622551            }
    2263             yyvsp[-1].lv.CleanUp();
     2552            (yyvsp[(2) - (3)].lv).CleanUp();
    22642553          ;}
    22652554    break;
    22662555
    22672556  case 37:
    2268 #line 562 "grammar.y"
    2269     {
    2270             memset(&yyval.lv,0,sizeof(yyval.lv));
    2271             int i = atoi(yyvsp[0].name);
     2557
     2558/* Line 1464 of yacc.c  */
     2559#line 568 "grammar.y"
     2560    {
     2561            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2562            int i = atoi((yyvsp[(1) - (1)].name));
    22722563            /*remember not to omFree($1)
    22732564            *because it is a part of the scanner buffer*/
    2274             yyval.lv.rtyp  = INT_CMD;
    2275             yyval.lv.data = (void *)(long)i;
     2565            (yyval.lv).rtyp  = INT_CMD;
     2566            (yyval.lv).data = (void *)(long)i;
    22762567
    22772568            /* check: out of range input */
    2278             int l = strlen(yyvsp[0].name)+2;
     2569            int l = strlen((yyvsp[(1) - (1)].name))+2;
    22792570            number n;
    22802571            if (l >= MAX_INT_LEN)
     
    22822573              char tmp[MAX_INT_LEN+5];
    22832574              sprintf(tmp,"%d",i);
    2284               if (strcmp(tmp,yyvsp[0].name)!=0)
     2575              if (strcmp(tmp,(yyvsp[(1) - (1)].name))!=0)
    22852576              {
    2286                 n_Read(yyvsp[0].name,&n,coeffs_BIGINT);
    2287                 yyval.lv.rtyp=BIGINT_CMD;
    2288                 yyval.lv.data = n;
     2577                n_Read((yyvsp[(1) - (1)].name),&n,coeffs_BIGINT);
     2578                (yyval.lv).rtyp=BIGINT_CMD;
     2579                (yyval.lv).data = n;
    22892580              }
    22902581            }
     
    22932584
    22942585  case 38:
    2295 #line 586 "grammar.y"
    2296     {
    2297             memset(&yyval.lv,0,sizeof(yyval.lv));
    2298             yyval.lv.rtyp = yyvsp[0].i;
    2299             yyval.lv.data = yyval.lv.Data();
     2586
     2587/* Line 1464 of yacc.c  */
     2588#line 592 "grammar.y"
     2589    {
     2590            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2591            (yyval.lv).rtyp = (yyvsp[(1) - (1)].i);
     2592            (yyval.lv).data = (yyval.lv).Data();
    23002593          ;}
    23012594    break;
    23022595
    23032596  case 39:
    2304 #line 592 "grammar.y"
    2305     {
    2306             memset(&yyval.lv,0,sizeof(yyval.lv));
    2307             yyval.lv.rtyp  = STRING_CMD;
    2308             yyval.lv.data = yyvsp[0].name;
     2597
     2598/* Line 1464 of yacc.c  */
     2599#line 598 "grammar.y"
     2600    {
     2601            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2602            (yyval.lv).rtyp  = STRING_CMD;
     2603            (yyval.lv).data = (yyvsp[(1) - (1)].name);
    23092604          ;}
    23102605    break;
    23112606
    23122607  case 40:
    2313 #line 598 "grammar.y"
    2314     {
    2315             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2608
     2609/* Line 1464 of yacc.c  */
     2610#line 604 "grammar.y"
     2611    {
     2612            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    23162613          ;}
    23172614    break;
    23182615
    23192616  case 41:
    2320 #line 605 "grammar.y"
    2321     {
    2322             leftv v = &yyvsp[-2].lv;
     2617
     2618/* Line 1464 of yacc.c  */
     2619#line 611 "grammar.y"
     2620    {
     2621            leftv v = &(yyvsp[(1) - (3)].lv);
    23232622            while (v->next!=NULL)
    23242623            {
     
    23262625            }
    23272626            v->next = (leftv)omAllocBin(sleftv_bin);
    2328             memcpy(v->next,&(yyvsp[0].lv),sizeof(sleftv));
    2329             yyval.lv = yyvsp[-2].lv;
     2627            memcpy(v->next,&((yyvsp[(3) - (3)].lv)),sizeof(sleftv));
     2628            (yyval.lv) = (yyvsp[(1) - (3)].lv);
    23302629          ;}
    23312630    break;
    23322631
    23332632  case 42:
    2334 #line 616 "grammar.y"
    2335     {
    2336             yyval.lv = yyvsp[0].lv;
     2633
     2634/* Line 1464 of yacc.c  */
     2635#line 622 "grammar.y"
     2636    {
     2637            (yyval.lv) = (yyvsp[(1) - (1)].lv);
    23372638          ;}
    23382639    break;
    23392640
    23402641  case 43:
    2341 #line 622 "grammar.y"
     2642
     2643/* Line 1464 of yacc.c  */
     2644#line 628 "grammar.y"
    23422645    {
    23432646            /*if ($1.typ == eunknown) YYERROR;*/
    2344             yyval.lv = yyvsp[0].lv;
     2647            (yyval.lv) = (yyvsp[(1) - (1)].lv);
    23452648          ;}
    23462649    break;
    23472650
    23482651  case 44:
    2349 #line 626 "grammar.y"
    2350     { yyval.lv = yyvsp[0].lv; ;}
     2652
     2653/* Line 1464 of yacc.c  */
     2654#line 632 "grammar.y"
     2655    { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;}
    23512656    break;
    23522657
    23532658  case 45:
    2354 #line 627 "grammar.y"
    2355     { yyval.lv = yyvsp[-1].lv; ;}
     2659
     2660/* Line 1464 of yacc.c  */
     2661#line 633 "grammar.y"
     2662    { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;}
    23562663    break;
    23572664
    23582665  case 46:
    2359 #line 629 "grammar.y"
    2360     {
    2361             if(iiExprArith3(&yyval.lv,'[',&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2666
     2667/* Line 1464 of yacc.c  */
     2668#line 635 "grammar.y"
     2669    {
     2670            if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR;
    23622671          ;}
    23632672    break;
    23642673
    23652674  case 47:
    2366 #line 633 "grammar.y"
    2367     {
    2368             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'[',&yyvsp[-1].lv)) YYERROR;
     2675
     2676/* Line 1464 of yacc.c  */
     2677#line 639 "grammar.y"
     2678    {
     2679            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR;
    23692680          ;}
    23702681    break;
    23712682
    23722683  case 48:
    2373 #line 637 "grammar.y"
    2374     {
    2375             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2684
     2685/* Line 1464 of yacc.c  */
     2686#line 643 "grammar.y"
     2687    {
     2688            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    23762689          ;}
    23772690    break;
    23782691
    23792692  case 49:
    2380 #line 641 "grammar.y"
    2381     {
    2382             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2693
     2694/* Line 1464 of yacc.c  */
     2695#line 647 "grammar.y"
     2696    {
     2697            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    23832698          ;}
    23842699    break;
    23852700
    23862701  case 50:
    2387 #line 645 "grammar.y"
    2388     {
    2389             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2702
     2703/* Line 1464 of yacc.c  */
     2704#line 651 "grammar.y"
     2705    {
     2706            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    23902707          ;}
    23912708    break;
    23922709
    23932710  case 51:
    2394 #line 649 "grammar.y"
    2395     {
    2396             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2711
     2712/* Line 1464 of yacc.c  */
     2713#line 655 "grammar.y"
     2714    {
     2715            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    23972716          ;}
    23982717    break;
    23992718
    24002719  case 52:
    2401 #line 653 "grammar.y"
    2402     {
    2403             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2720
     2721/* Line 1464 of yacc.c  */
     2722#line 659 "grammar.y"
     2723    {
     2724            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24042725          ;}
    24052726    break;
    24062727
    24072728  case 53:
    2408 #line 657 "grammar.y"
    2409     {
    2410             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2729
     2730/* Line 1464 of yacc.c  */
     2731#line 663 "grammar.y"
     2732    {
     2733            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    24112734          ;}
    24122735    break;
    24132736
    24142737  case 54:
    2415 #line 661 "grammar.y"
    2416     {
    2417             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2738
     2739/* Line 1464 of yacc.c  */
     2740#line 667 "grammar.y"
     2741    {
     2742            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24182743          ;}
    24192744    break;
    24202745
    24212746  case 55:
    2422 #line 665 "grammar.y"
    2423     {
    2424             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2747
     2748/* Line 1464 of yacc.c  */
     2749#line 671 "grammar.y"
     2750    {
     2751            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24252752          ;}
    24262753    break;
    24272754
    24282755  case 56:
    2429 #line 669 "grammar.y"
    2430     {
    2431             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2756
     2757/* Line 1464 of yacc.c  */
     2758#line 675 "grammar.y"
     2759    {
     2760            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24322761          ;}
    24332762    break;
    24342763
    24352764  case 57:
    2436 #line 673 "grammar.y"
    2437     {
    2438             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2765
     2766/* Line 1464 of yacc.c  */
     2767#line 679 "grammar.y"
     2768    {
     2769            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    24392770          ;}
    24402771    break;
    24412772
    24422773  case 58:
    2443 #line 677 "grammar.y"
    2444     {
    2445             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2774
     2775/* Line 1464 of yacc.c  */
     2776#line 683 "grammar.y"
     2777    {
     2778            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24462779          ;}
    24472780    break;
    24482781
    24492782  case 59:
    2450 #line 681 "grammar.y"
    2451     {
    2452             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2783
     2784/* Line 1464 of yacc.c  */
     2785#line 687 "grammar.y"
     2786    {
     2787            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24532788          ;}
    24542789    break;
    24552790
    24562791  case 60:
    2457 #line 685 "grammar.y"
    2458     {
    2459             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2792
     2793/* Line 1464 of yacc.c  */
     2794#line 691 "grammar.y"
     2795    {
     2796            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24602797          ;}
    24612798    break;
    24622799
    24632800  case 61:
    2464 #line 689 "grammar.y"
    2465     {
    2466             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2801
     2802/* Line 1464 of yacc.c  */
     2803#line 695 "grammar.y"
     2804    {
     2805            if(iiExprArith2(&(yyval.lv),&(yyvsp[(3) - (6)].lv),(yyvsp[(1) - (6)].i),&(yyvsp[(5) - (6)].lv),TRUE)) YYERROR;
    24672806          ;}
    24682807    break;
    24692808
    24702809  case 62:
    2471 #line 693 "grammar.y"
    2472     {
    2473             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2810
     2811/* Line 1464 of yacc.c  */
     2812#line 699 "grammar.y"
     2813    {
     2814            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24742815          ;}
    24752816    break;
    24762817
    24772818  case 63:
    2478 #line 697 "grammar.y"
    2479     {
    2480             if(iiExprArith2(&yyval.lv,&yyvsp[-3].lv,yyvsp[-5].i,&yyvsp[-1].lv,TRUE)) YYERROR;
     2819
     2820/* Line 1464 of yacc.c  */
     2821#line 703 "grammar.y"
     2822    {
     2823            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24812824          ;}
    24822825    break;
    24832826
    24842827  case 64:
    2485 #line 701 "grammar.y"
    2486     {
    2487             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2828
     2829/* Line 1464 of yacc.c  */
     2830#line 707 "grammar.y"
     2831    {
     2832            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24882833          ;}
    24892834    break;
    24902835
    24912836  case 65:
    2492 #line 705 "grammar.y"
    2493     {
    2494             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2837
     2838/* Line 1464 of yacc.c  */
     2839#line 711 "grammar.y"
     2840    {
     2841            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    24952842          ;}
    24962843    break;
    24972844
    24982845  case 66:
    2499 #line 709 "grammar.y"
    2500     {
    2501             if(iiExprArithM(&yyval.lv,NULL,yyvsp[-2].i)) YYERROR;
     2846
     2847/* Line 1464 of yacc.c  */
     2848#line 715 "grammar.y"
     2849    {
     2850            if(iiExprArithM(&(yyval.lv),NULL,(yyvsp[(1) - (3)].i))) YYERROR;
    25022851          ;}
    25032852    break;
    25042853
    25052854  case 67:
    2506 #line 713 "grammar.y"
    2507     {
    2508             if(iiExprArithM(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2855
     2856/* Line 1464 of yacc.c  */
     2857#line 719 "grammar.y"
     2858    {
     2859            if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    25092860          ;}
    25102861    break;
    25112862
    25122863  case 68:
    2513 #line 717 "grammar.y"
    2514     {
    2515             if(iiExprArith3(&yyval.lv,yyvsp[-7].i,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2864
     2865/* Line 1464 of yacc.c  */
     2866#line 723 "grammar.y"
     2867    {
     2868            if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    25162869          ;}
    25172870    break;
    25182871
    25192872  case 69:
    2520 #line 721 "grammar.y"
    2521     {
    2522             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,yyvsp[-3].i)) YYERROR;
     2873
     2874/* Line 1464 of yacc.c  */
     2875#line 727 "grammar.y"
     2876    {
     2877            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR;
    25232878          ;}
    25242879    break;
    25252880
    25262881  case 70:
    2527 #line 725 "grammar.y"
    2528     {
    2529             if(iiExprArith3(&yyval.lv,RING_CMD,&yyvsp[-5].lv,&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2882
     2883/* Line 1464 of yacc.c  */
     2884#line 731 "grammar.y"
     2885    {
     2886            if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR;
    25302887          ;}
    25312888    break;
    25322889
    25332890  case 71:
    2534 #line 729 "grammar.y"
    2535     {
    2536             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,RING_CMD)) YYERROR;
     2891
     2892/* Line 1464 of yacc.c  */
     2893#line 735 "grammar.y"
     2894    {
     2895            if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR;
    25372896          ;}
    25382897    break;
    25392898
    25402899  case 72:
    2541 #line 733 "grammar.y"
    2542     {
    2543             yyval.lv=yyvsp[-1].lv;
     2900
     2901/* Line 1464 of yacc.c  */
     2902#line 739 "grammar.y"
     2903    {
     2904            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
    25442905          ;}
    25452906    break;
    25462907
    25472908  case 73:
    2548 #line 737 "grammar.y"
     2909
     2910/* Line 1464 of yacc.c  */
     2911#line 743 "grammar.y"
     2912    {
     2913            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     2914          ;}
     2915    break;
     2916
     2917  case 74:
     2918
     2919/* Line 1464 of yacc.c  */
     2920#line 747 "grammar.y"
     2921    {
     2922            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     2923          ;}
     2924    break;
     2925
     2926  case 75:
     2927
     2928/* Line 1464 of yacc.c  */
     2929#line 751 "grammar.y"
     2930    {
     2931            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     2932          ;}
     2933    break;
     2934
     2935  case 76:
     2936
     2937/* Line 1464 of yacc.c  */
     2938#line 755 "grammar.y"
     2939    {
     2940            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR;
     2941          ;}
     2942    break;
     2943
     2944  case 77:
     2945
     2946/* Line 1464 of yacc.c  */
     2947#line 759 "grammar.y"
     2948    {
     2949            if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv))) YYERROR;
     2950          ;}
     2951    break;
     2952
     2953  case 78:
     2954
     2955/* Line 1464 of yacc.c  */
     2956#line 763 "grammar.y"
     2957    {
     2958            (yyval.lv)=(yyvsp[(2) - (3)].lv);
     2959          ;}
     2960    break;
     2961
     2962  case 79:
     2963
     2964/* Line 1464 of yacc.c  */
     2965#line 767 "grammar.y"
    25492966    {
    25502967            #ifdef SIQ
    25512968            siq++;
    25522969            if (siq>0)
    2553             { if (iiExprArith2(&yyval.lv,&yyvsp[-3].lv,'=',&yyvsp[-1].lv)) YYERROR; }
     2970            { if (iiExprArith2(&(yyval.lv),&(yyvsp[(2) - (5)].lv),'=',&(yyvsp[(4) - (5)].lv))) YYERROR; }
    25542971            else
    25552972            #endif
    25562973            {
    2557               memset(&yyval.lv,0,sizeof(yyval.lv));
    2558               yyval.lv.rtyp=NONE;
    2559               if (iiAssign(&yyvsp[-3].lv,&yyvsp[-1].lv)) YYERROR;
     2974              memset(&(yyval.lv),0,sizeof((yyval.lv)));
     2975              (yyval.lv).rtyp=NONE;
     2976              if (iiAssign(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv))) YYERROR;
    25602977            }
    25612978            #ifdef SIQ
     
    25652982    break;
    25662983
    2567   case 74:
    2568 #line 754 "grammar.y"
     2984  case 80:
     2985
     2986/* Line 1464 of yacc.c  */
     2987#line 784 "grammar.y"
    25692988    {
    25702989            #ifdef SIQ
     
    25742993    break;
    25752994
    2576   case 75:
    2577 #line 760 "grammar.y"
     2995  case 81:
     2996
     2997/* Line 1464 of yacc.c  */
     2998#line 790 "grammar.y"
    25782999    {
    25793000            #ifdef SIQ
    2580             if (siq<=0) yyvsp[-1].lv.Eval();
     3001            if (siq<=0) (yyvsp[(4) - (5)].lv).Eval();
    25813002            #endif
    2582             yyval.lv=yyvsp[-1].lv;
     3003            (yyval.lv)=(yyvsp[(4) - (5)].lv);
    25833004            #ifdef SIQ
    25843005            siq++;
     
    25873008    break;
    25883009
    2589   case 76:
    2590 #line 772 "grammar.y"
     3010  case 82:
     3011
     3012/* Line 1464 of yacc.c  */
     3013#line 802 "grammar.y"
    25913014    {
    25923015            #ifdef SIQ
     
    25963019    break;
    25973020
    2598   case 77:
    2599 #line 780 "grammar.y"
     3021  case 83:
     3022
     3023/* Line 1464 of yacc.c  */
     3024#line 810 "grammar.y"
    26003025    {
    26013026            #ifdef SIQ
     
    26053030    break;
    26063031
    2607   case 78:
    2608 #line 789 "grammar.y"
    2609     {
    2610             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,PLUSPLUS)) YYERROR;
    2611           ;}
    2612     break;
    2613 
    2614   case 79:
    2615 #line 793 "grammar.y"
    2616     {
    2617             if(iiExprArith1(&yyval.lv,&yyvsp[-1].lv,MINUSMINUS)) YYERROR;
    2618           ;}
    2619     break;
    2620 
    2621   case 80:
    2622 #line 797 "grammar.y"
    2623     {
    2624             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'+',&yyvsp[0].lv)) YYERROR;
    2625           ;}
    2626     break;
    2627 
    2628   case 81:
    2629 #line 801 "grammar.y"
    2630     {
    2631             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'-',&yyvsp[0].lv)) YYERROR;
    2632           ;}
    2633     break;
    2634 
    2635   case 82:
    2636 #line 805 "grammar.y"
    2637     {
    2638             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
    2639           ;}
    2640     break;
    2641 
    2642   case 83:
    2643 #line 809 "grammar.y"
    2644     {
    2645             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,'^',&yyvsp[0].lv)) YYERROR;
    2646           ;}
    2647     break;
    2648 
    26493032  case 84:
    2650 #line 813 "grammar.y"
    2651     {
    2652             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     3033
     3034/* Line 1464 of yacc.c  */
     3035#line 819 "grammar.y"
     3036    {
     3037            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR;
    26533038          ;}
    26543039    break;
    26553040
    26563041  case 85:
    2657 #line 817 "grammar.y"
    2658     {
    2659             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,yyvsp[-1].i,&yyvsp[0].lv)) YYERROR;
     3042
     3043/* Line 1464 of yacc.c  */
     3044#line 823 "grammar.y"
     3045    {
     3046            if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR;
    26603047          ;}
    26613048    break;
    26623049
    26633050  case 86:
    2664 #line 821 "grammar.y"
    2665     {
    2666             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,NOTEQUAL,&yyvsp[0].lv)) YYERROR;
     3051
     3052/* Line 1464 of yacc.c  */
     3053#line 827 "grammar.y"
     3054    {
     3055            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26673056          ;}
    26683057    break;
    26693058
    26703059  case 87:
    2671 #line 825 "grammar.y"
    2672     {
    2673             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,EQUAL_EQUAL,&yyvsp[0].lv)) YYERROR;
     3060
     3061/* Line 1464 of yacc.c  */
     3062#line 831 "grammar.y"
     3063    {
     3064            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26743065          ;}
    26753066    break;
    26763067
    26773068  case 88:
    2678 #line 829 "grammar.y"
    2679     {
    2680             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,DOTDOT,&yyvsp[0].lv)) YYERROR;
     3069
     3070/* Line 1464 of yacc.c  */
     3071#line 835 "grammar.y"
     3072    {
     3073            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    26813074          ;}
    26823075    break;
    26833076
    26843077  case 89:
    2685 #line 833 "grammar.y"
    2686     {
    2687             if(iiExprArith2(&yyval.lv,&yyvsp[-2].lv,':',&yyvsp[0].lv)) YYERROR;
     3078
     3079/* Line 1464 of yacc.c  */
     3080#line 839 "grammar.y"
     3081    {
     3082            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR;
    26883083          ;}
    26893084    break;
    26903085
    26913086  case 90:
    2692 #line 837 "grammar.y"
    2693     {
    2694             memset(&yyval.lv,0,sizeof(yyval.lv));
    2695             int i; TESTSETINT(yyvsp[0].lv,i);
    2696             yyval.lv.rtyp  = INT_CMD;
    2697             yyval.lv.data = (void *)(long)(i == 0 ? 1 : 0);
     3087
     3088/* Line 1464 of yacc.c  */
     3089#line 843 "grammar.y"
     3090    {
     3091            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    26983092          ;}
    26993093    break;
    27003094
    27013095  case 91:
    2702 #line 844 "grammar.y"
    2703     {
    2704             if(iiExprArith1(&yyval.lv,&yyvsp[0].lv,'-')) YYERROR;
     3096
     3097/* Line 1464 of yacc.c  */
     3098#line 847 "grammar.y"
     3099    {
     3100            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR;
    27053101          ;}
    27063102    break;
    27073103
    27083104  case 92:
    2709 #line 850 "grammar.y"
    2710     { yyval.lv = yyvsp[-1].lv; ;}
     3105
     3106/* Line 1464 of yacc.c  */
     3107#line 851 "grammar.y"
     3108    {
     3109            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     3110          ;}
    27113111    break;
    27123112
    27133113  case 93:
    2714 #line 852 "grammar.y"
    2715     {
    2716             if (yyvsp[-1].lv.rtyp==0)
     3114
     3115/* Line 1464 of yacc.c  */
     3116#line 855 "grammar.y"
     3117    {
     3118            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR;
     3119          ;}
     3120    break;
     3121
     3122  case 94:
     3123
     3124/* Line 1464 of yacc.c  */
     3125#line 859 "grammar.y"
     3126    {
     3127            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR;
     3128          ;}
     3129    break;
     3130
     3131  case 95:
     3132
     3133/* Line 1464 of yacc.c  */
     3134#line 863 "grammar.y"
     3135    {
     3136            if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR;
     3137          ;}
     3138    break;
     3139
     3140  case 96:
     3141
     3142/* Line 1464 of yacc.c  */
     3143#line 867 "grammar.y"
     3144    {
     3145            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     3146            int i; TESTSETINT((yyvsp[(2) - (2)].lv),i);
     3147            (yyval.lv).rtyp  = INT_CMD;
     3148            (yyval.lv).data = (void *)(long)(i == 0 ? 1 : 0);
     3149          ;}
     3150    break;
     3151
     3152  case 97:
     3153
     3154/* Line 1464 of yacc.c  */
     3155#line 874 "grammar.y"
     3156    {
     3157            if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR;
     3158          ;}
     3159    break;
     3160
     3161  case 98:
     3162
     3163/* Line 1464 of yacc.c  */
     3164#line 880 "grammar.y"
     3165    { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;}
     3166    break;
     3167
     3168  case 99:
     3169
     3170/* Line 1464 of yacc.c  */
     3171#line 882 "grammar.y"
     3172    {
     3173            if ((yyvsp[(1) - (2)].lv).rtyp==0)
    27173174            {
    2718               Werror("`%s` is undefined",yyvsp[-1].lv.Fullname());
     3175              Werror("`%s` is undefined",(yyvsp[(1) - (2)].lv).Fullname());
    27193176              YYERROR;
    27203177            }
    2721             else if ((yyvsp[-1].lv.rtyp==MODUL_CMD)
     3178            else if (((yyvsp[(1) - (2)].lv).rtyp==MODUL_CMD)
    27223179            // matrix m; m[2]=...
    2723             && (yyvsp[-1].lv.e!=NULL) && (yyvsp[-1].lv.e->next==NULL))
     3180            && ((yyvsp[(1) - (2)].lv).e!=NULL) && ((yyvsp[(1) - (2)].lv).e->next==NULL))
    27243181            {
    27253182              MYYERROR("matrix must have 2 indices");
    27263183            }
    2727             yyval.lv = yyvsp[-1].lv;
    2728           ;}
    2729     break;
    2730 
    2731   case 95:
    2732 #line 872 "grammar.y"
    2733     {
    2734             if (yyvsp[-1].lv.Typ()!=STRING_CMD)
     3184            (yyval.lv) = (yyvsp[(1) - (2)].lv);
     3185          ;}
     3186    break;
     3187
     3188  case 101:
     3189
     3190/* Line 1464 of yacc.c  */
     3191#line 902 "grammar.y"
     3192    {
     3193            if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD)
    27353194            {
    27363195              MYYERROR("string expression expected");
    27373196            }
    2738             yyval.name = (char *)yyvsp[-1].lv.CopyD(STRING_CMD);
    2739             yyvsp[-1].lv.CleanUp();
    2740           ;}
    2741     break;
    2742 
    2743   case 96:
    2744 #line 884 "grammar.y"
    2745     {
    2746             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3197            (yyval.name) = (char *)(yyvsp[(2) - (3)].lv).CopyD(STRING_CMD);
     3198            (yyvsp[(2) - (3)].lv).CleanUp();
     3199          ;}
     3200    break;
     3201
     3202  case 102:
     3203
     3204/* Line 1464 of yacc.c  */
     3205#line 914 "grammar.y"
     3206    {
     3207            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    27473208              YYERROR;
    27483209          ;}
    27493210    break;
    27503211
    2751   case 97:
    2752 #line 889 "grammar.y"
    2753     {
    2754             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3212  case 103:
     3213
     3214/* Line 1464 of yacc.c  */
     3215#line 919 "grammar.y"
     3216    {
     3217            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    27553218              YYERROR;
    27563219          ;}
    27573220    break;
    27583221
    2759   case 98:
    2760 #line 894 "grammar.y"
    2761     {
    2762             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
    2763           ;}
    2764     break;
    2765 
    2766   case 99:
    2767 #line 898 "grammar.y"
    2768     {
    2769             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
    2770           ;}
    2771     break;
    2772 
    2773   case 100:
    2774 #line 902 "grammar.y"
    2775     {
    2776             int r; TESTSETINT(yyvsp[-4].lv,r);
    2777             int c; TESTSETINT(yyvsp[-1].lv,c);
     3222  case 104:
     3223
     3224/* Line 1464 of yacc.c  */
     3225#line 924 "grammar.y"
     3226    {
     3227            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     3228          ;}
     3229    break;
     3230
     3231  case 105:
     3232
     3233/* Line 1464 of yacc.c  */
     3234#line 928 "grammar.y"
     3235    {
     3236            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
     3237          ;}
     3238    break;
     3239
     3240  case 106:
     3241
     3242/* Line 1464 of yacc.c  */
     3243#line 932 "grammar.y"
     3244    {
     3245            int r; TESTSETINT((yyvsp[(4) - (8)].lv),r);
     3246            int c; TESTSETINT((yyvsp[(7) - (8)].lv),c);
    27783247            if (r < 1)
    27793248              MYYERROR("rows must be greater than 0");
     
    27823251            leftv v;
    27833252            idhdl h;
    2784             if (yyvsp[-7].i == MATRIX_CMD)
     3253            if ((yyvsp[(1) - (8)].i) == MATRIX_CMD)
    27853254            {
    2786               if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(currRing->idroot), TRUE)) YYERROR;
    2787               v=&yyval.lv;
     3255              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&(currRing->idroot), TRUE)) YYERROR;
     3256              v=&(yyval.lv);
    27883257              h=(idhdl)v->data;
    27893258              idDelete(&IDIDEAL(h));
     
    27913260              if (IDMATRIX(h)==NULL) YYERROR;
    27923261            }
    2793             else if (yyvsp[-7].i == INTMAT_CMD)
     3262            else if ((yyvsp[(1) - (8)].i) == INTMAT_CMD)
    27943263            {
    2795               if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(yyvsp[-6].lv.req_packhdl->idroot)))
     3264              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
    27963265                YYERROR;
    2797               v=&yyval.lv;
     3266              v=&(yyval.lv);
    27983267              h=(idhdl)v->data;
    27993268              delete IDINTVEC(h);
     
    28033272            else /* BIGINTMAT_CMD */
    28043273            {
    2805               if (iiDeclCommand(&yyval.lv,&yyvsp[-6].lv,myynest,yyvsp[-7].i,&(yyvsp[-6].lv.req_packhdl->idroot)))
     3274              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (8)].lv),myynest,(yyvsp[(1) - (8)].i),&((yyvsp[(2) - (8)].lv).req_packhdl->idroot)))
    28063275                YYERROR;
    2807               v=&yyval.lv;
     3276              v=&(yyval.lv);
    28083277              h=(idhdl)v->data;
    28093278              delete IDBIMAT(h);
     
    28143283    break;
    28153284
    2816   case 101:
    2817 #line 942 "grammar.y"
    2818     {
    2819             if (yyvsp[-1].i == MATRIX_CMD)
     3285  case 107:
     3286
     3287/* Line 1464 of yacc.c  */
     3288#line 972 "grammar.y"
     3289    {
     3290            if ((yyvsp[(1) - (2)].i) == MATRIX_CMD)
    28203291            {
    2821               if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(currRing->idroot), TRUE)) YYERROR;
     3292              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR;
    28223293            }
    2823             else if (yyvsp[-1].i == INTMAT_CMD)
     3294            else if ((yyvsp[(1) - (2)].i) == INTMAT_CMD)
    28243295            {
    2825               if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3296              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    28263297                YYERROR;
    2827               leftv v=&yyval.lv;
     3298              leftv v=&(yyval.lv);
    28283299              idhdl h;
    28293300              do
     
    28373308            else /* BIGINTMAT_CMD */
    28383309            {
    2839               if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3310              if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    28403311                YYERROR;
    28413312            }
     
    28433314    break;
    28443315
    2845   case 102:
    2846 #line 968 "grammar.y"
    2847     {
    2848             int t=yyvsp[-2].lv.Typ();
     3316  case 108:
     3317
     3318/* Line 1464 of yacc.c  */
     3319#line 998 "grammar.y"
     3320    {
     3321            int t=(yyvsp[(1) - (3)].lv).Typ();
    28493322            sleftv r;
    28503323            memset(&r,0,sizeof(sleftv));
    28513324            if ((BEGIN_RING<t) && (t<END_RING))
    28523325            {
    2853               if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(currRing->idroot), TRUE))
     3326              if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&(currRing->idroot), TRUE))
    28543327                YYERROR;
    28553328            }
    28563329            else
    28573330            {
    2858               if (iiDeclCommand(&r,&yyvsp[0].lv,myynest,t,&(yyvsp[0].lv.req_packhdl->idroot)))
     3331              if (iiDeclCommand(&r,&(yyvsp[(3) - (3)].lv),myynest,t,&((yyvsp[(3) - (3)].lv).req_packhdl->idroot)))
    28593332                YYERROR;
    28603333            }
    2861             leftv v=&yyvsp[-2].lv;
     3334            leftv v=&(yyvsp[(1) - (3)].lv);
    28623335            while (v->next!=NULL) v=v->next;
    28633336            v->next=(leftv)omAllocBin(sleftv_bin);
    28643337            memcpy(v->next,&r,sizeof(sleftv));
    2865             yyval.lv=yyvsp[-2].lv;
    2866           ;}
    2867     break;
    2868 
    2869   case 103:
    2870 #line 989 "grammar.y"
    2871     {
    2872             if (iiDeclCommand(&yyval.lv,&yyvsp[0].lv,myynest,yyvsp[-1].i,&(yyvsp[0].lv.req_packhdl->idroot)))
     3338            (yyval.lv)=(yyvsp[(1) - (3)].lv);
     3339          ;}
     3340    break;
     3341
     3342  case 109:
     3343
     3344/* Line 1464 of yacc.c  */
     3345#line 1019 "grammar.y"
     3346    {
     3347            if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot)))
    28733348              YYERROR;
    28743349          ;}
    28753350    break;
    28763351
    2877   case 106:
    2878 #line 1002 "grammar.y"
    2879     {
    2880             leftv v = &yyvsp[-3].lv;
     3352  case 112:
     3353
     3354/* Line 1464 of yacc.c  */
     3355#line 1032 "grammar.y"
     3356    {
     3357            leftv v = &(yyvsp[(2) - (5)].lv);
    28813358            while (v->next!=NULL)
    28823359            {
     
    28843361            }
    28853362            v->next = (leftv)omAllocBin(sleftv_bin);
    2886             memcpy(v->next,&(yyvsp[-1].lv),sizeof(sleftv));
    2887             yyval.lv = yyvsp[-3].lv;
    2888           ;}
    2889     break;
    2890 
    2891   case 107:
    2892 #line 1016 "grammar.y"
     3363            memcpy(v->next,&((yyvsp[(4) - (5)].lv)),sizeof(sleftv));
     3364            (yyval.lv) = (yyvsp[(2) - (5)].lv);
     3365          ;}
     3366    break;
     3367
     3368  case 113:
     3369
     3370/* Line 1464 of yacc.c  */
     3371#line 1046 "grammar.y"
    28933372    {
    28943373          // let rInit take care of any errors
    2895           yyval.i=rOrderName(yyvsp[0].name);
     3374          (yyval.i)=rOrderName((yyvsp[(1) - (1)].name));
    28963375        ;}
    28973376    break;
    28983377
    2899   case 108:
    2900 #line 1024 "grammar.y"
    2901     {
    2902             memset(&yyval.lv,0,sizeof(yyval.lv));
     3378  case 114:
     3379
     3380/* Line 1464 of yacc.c  */
     3381#line 1054 "grammar.y"
     3382    {
     3383            memset(&(yyval.lv),0,sizeof((yyval.lv)));
    29033384            intvec *iv = new intvec(2);
    29043385            (*iv)[0] = 1;
    2905             (*iv)[1] = yyvsp[0].i;
    2906             yyval.lv.rtyp = INTVEC_CMD;
    2907             yyval.lv.data = (void *)iv;
    2908           ;}
    2909     break;
    2910 
    2911   case 109:
    2912 #line 1033 "grammar.y"
    2913     {
    2914             memset(&yyval.lv,0,sizeof(yyval.lv));
    2915             leftv sl = &yyvsp[-1].lv;
     3386            (*iv)[1] = (yyvsp[(1) - (1)].i);
     3387            (yyval.lv).rtyp = INTVEC_CMD;
     3388            (yyval.lv).data = (void *)iv;
     3389          ;}
     3390    break;
     3391
     3392  case 115:
     3393
     3394/* Line 1464 of yacc.c  */
     3395#line 1063 "grammar.y"
     3396    {
     3397            memset(&(yyval.lv),0,sizeof((yyval.lv)));
     3398            leftv sl = &(yyvsp[(3) - (4)].lv);
    29163399            int slLength;
    29173400            {
     
    29203403              intvec *iv = new intvec(l);
    29213404              (*iv)[0] = slLength;
    2922               (*iv)[1] = yyvsp[-3].i;
     3405              (*iv)[1] = (yyvsp[(1) - (4)].i);
    29233406
    29243407              int i = 2;
     
    29423425                {
    29433426                  delete iv;
    2944                   yyvsp[-1].lv.CleanUp();
     3427                  (yyvsp[(3) - (4)].lv).CleanUp();
    29453428                  MYYERROR("wrong type in ordering");
    29463429                }
    29473430                sl = sl->next;
    29483431              }
    2949               yyval.lv.rtyp = INTVEC_CMD;
    2950               yyval.lv.data = (void *)iv;
     3432              (yyval.lv).rtyp = INTVEC_CMD;
     3433              (yyval.lv).data = (void *)iv;
    29513434            }
    2952             yyvsp[-1].lv.CleanUp();
    2953           ;}
    2954     break;
    2955 
    2956   case 111:
    2957 #line 1079 "grammar.y"
    2958     {
    2959             yyval.lv = yyvsp[-2].lv;
    2960             yyval.lv.next = (sleftv *)omAllocBin(sleftv_bin);
    2961             memcpy(yyval.lv.next,&yyvsp[0].lv,sizeof(sleftv));
    2962           ;}
    2963     break;
    2964 
    2965   case 113:
    2966 #line 1089 "grammar.y"
    2967     {
    2968             yyval.lv = yyvsp[-1].lv;
    2969           ;}
    2970     break;
    2971 
    2972   case 114:
    2973 #line 1095 "grammar.y"
     3435            (yyvsp[(3) - (4)].lv).CleanUp();
     3436          ;}
     3437    break;
     3438
     3439  case 117:
     3440
     3441/* Line 1464 of yacc.c  */
     3442#line 1109 "grammar.y"
     3443    {
     3444            (yyval.lv) = (yyvsp[(1) - (3)].lv);
     3445            (yyval.lv).next = (sleftv *)omAllocBin(sleftv_bin);
     3446            memcpy((yyval.lv).next,&(yyvsp[(3) - (3)].lv),sizeof(sleftv));
     3447          ;}
     3448    break;
     3449
     3450  case 119:
     3451
     3452/* Line 1464 of yacc.c  */
     3453#line 1119 "grammar.y"
     3454    {
     3455            (yyval.lv) = (yyvsp[(2) - (3)].lv);
     3456          ;}
     3457    break;
     3458
     3459  case 120:
     3460
     3461/* Line 1464 of yacc.c  */
     3462#line 1125 "grammar.y"
    29743463    {
    29753464            expected_parms = TRUE;
     
    29773466    break;
    29783467
    2979   case 115:
    2980 #line 1101 "grammar.y"
    2981     { yyval.i = yyvsp[0].i; ;}
    2982     break;
    2983 
    2984   case 116:
    2985 #line 1103 "grammar.y"
    2986     { yyval.i = yyvsp[0].i; ;}
    2987     break;
    2988 
    2989   case 117:
    2990 #line 1105 "grammar.y"
    2991     { yyval.i = yyvsp[0].i; ;}
    2992     break;
    2993 
    2994   case 118:
    2995 #line 1114 "grammar.y"
    2996     { if (yyvsp[-1].i != '<') YYERROR;
    2997             if((feFilePending=feFopen(yyvsp[0].name,"r",NULL,TRUE))==NULL) YYERROR; ;}
    2998     break;
    2999 
    3000   case 119:
    3001 #line 1117 "grammar.y"
    3002     { newFile(yyvsp[-2].name,feFilePending); ;}
    3003     break;
    3004 
    3005   case 120:
    3006 #line 1122 "grammar.y"
    3007     {
    3008             feHelp(yyvsp[-1].name);
    3009             omFree((ADDRESS)yyvsp[-1].name);
    3010           ;}
    3011     break;
    3012 
    30133468  case 121:
    3014 #line 1127 "grammar.y"
     3469
     3470/* Line 1464 of yacc.c  */
     3471#line 1132 "grammar.y"
     3472    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3473    break;
     3474
     3475  case 122:
     3476
     3477/* Line 1464 of yacc.c  */
     3478#line 1134 "grammar.y"
     3479    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3480    break;
     3481
     3482  case 123:
     3483
     3484/* Line 1464 of yacc.c  */
     3485#line 1136 "grammar.y"
     3486    { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
     3487    break;
     3488
     3489  case 124:
     3490
     3491/* Line 1464 of yacc.c  */
     3492#line 1145 "grammar.y"
     3493    { if ((yyvsp[(1) - (2)].i) != '<') YYERROR;
     3494            if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;}
     3495    break;
     3496
     3497  case 125:
     3498
     3499/* Line 1464 of yacc.c  */
     3500#line 1148 "grammar.y"
     3501    { newFile((yyvsp[(2) - (4)].name),feFilePending); ;}
     3502    break;
     3503
     3504  case 126:
     3505
     3506/* Line 1464 of yacc.c  */
     3507#line 1153 "grammar.y"
     3508    {
     3509            feHelp((yyvsp[(2) - (3)].name));
     3510            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3511          ;}
     3512    break;
     3513
     3514  case 127:
     3515
     3516/* Line 1464 of yacc.c  */
     3517#line 1158 "grammar.y"
    30153518    {
    30163519            feHelp(NULL);
     
    30183521    break;
    30193522
    3020   case 122:
    3021 #line 1134 "grammar.y"
    3022     {
    3023             singular_example(yyvsp[-1].name);
    3024             omFree((ADDRESS)yyvsp[-1].name);
    3025           ;}
    3026     break;
    3027 
    3028   case 123:
    3029 #line 1142 "grammar.y"
    3030     {
    3031           if (basePack!=yyvsp[0].lv.req_packhdl)
     3523  case 128:
     3524
     3525/* Line 1464 of yacc.c  */
     3526#line 1165 "grammar.y"
     3527    {
     3528            singular_example((yyvsp[(2) - (3)].name));
     3529            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     3530          ;}
     3531    break;
     3532
     3533  case 129:
     3534
     3535/* Line 1464 of yacc.c  */
     3536#line 1173 "grammar.y"
     3537    {
     3538          if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl)
    30323539          {
    3033             if(iiExport(&yyvsp[0].lv,0,currPackHdl)) YYERROR;
     3540            if(iiExport(&(yyvsp[(2) - (2)].lv),0,currPackHdl)) YYERROR;
    30343541          }
    30353542          else
    3036             if (iiExport(&yyvsp[0].lv,0)) YYERROR;
     3543            if (iiExport(&(yyvsp[(2) - (2)].lv),0)) YYERROR;
    30373544        ;}
    30383545    break;
    30393546
    3040   case 124:
    3041 #line 1154 "grammar.y"
    3042     {
    3043           leftv v=&yyvsp[0].lv;
     3547  case 130:
     3548
     3549/* Line 1464 of yacc.c  */
     3550#line 1185 "grammar.y"
     3551    {
     3552          leftv v=&(yyvsp[(2) - (2)].lv);
    30443553          if (v->rtyp!=IDHDL)
    30453554          {
     
    30573566    break;
    30583567
    3059   case 125:
    3060 #line 1170 "grammar.y"
    3061     {
    3062           leftv v=&yyvsp[0].lv;
     3568  case 131:
     3569
     3570/* Line 1464 of yacc.c  */
     3571#line 1201 "grammar.y"
     3572    {
     3573          leftv v=&(yyvsp[(3) - (3)].lv);
    30633574          if (v->rtyp!=IDHDL)
    30643575          {
     
    30763587    break;
    30773588
    3078   case 126:
    3079 #line 1189 "grammar.y"
    3080     {
    3081             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3082           ;}
    3083     break;
    3084 
    3085   case 127:
    3086 #line 1193 "grammar.y"
    3087     {
    3088             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3089           ;}
    3090     break;
    3091 
    3092   case 128:
    3093 #line 1197 "grammar.y"
    3094     {
    3095             if (yyvsp[-1].i==QRING_CMD) yyvsp[-1].i=RING_CMD;
    3096             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3097           ;}
    3098     break;
    3099 
    3100   case 129:
    3101 #line 1202 "grammar.y"
    3102     {
    3103             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3104           ;}
    3105     break;
    3106 
    3107   case 130:
    3108 #line 1206 "grammar.y"
     3589  case 132:
     3590
     3591/* Line 1464 of yacc.c  */
     3592#line 1220 "grammar.y"
     3593    {
     3594            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3595          ;}
     3596    break;
     3597
     3598  case 133:
     3599
     3600/* Line 1464 of yacc.c  */
     3601#line 1224 "grammar.y"
     3602    {
     3603            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3604          ;}
     3605    break;
     3606
     3607  case 134:
     3608
     3609/* Line 1464 of yacc.c  */
     3610#line 1228 "grammar.y"
     3611    {
     3612            if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD;
     3613            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3614          ;}
     3615    break;
     3616
     3617  case 135:
     3618
     3619/* Line 1464 of yacc.c  */
     3620#line 1233 "grammar.y"
     3621    {
     3622            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
     3623          ;}
     3624    break;
     3625
     3626  case 136:
     3627
     3628/* Line 1464 of yacc.c  */
     3629#line 1237 "grammar.y"
    31093630    {
    31103631            list_cmd(RING_CMD,NULL,"// ",TRUE);
     
    31123633    break;
    31133634
    3114   case 131:
    3115 #line 1210 "grammar.y"
    3116     {
    3117             list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
     3635  case 137:
     3636
     3637/* Line 1464 of yacc.c  */
     3638#line 1241 "grammar.y"
     3639    {
     3640            list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE);
    31183641           ;}
    31193642    break;
    31203643
    3121   case 132:
    3122 #line 1214 "grammar.y"
     3644  case 138:
     3645
     3646/* Line 1464 of yacc.c  */
     3647#line 1245 "grammar.y"
    31233648    {
    31243649            list_cmd(PROC_CMD,NULL,"// ",TRUE);
     
    31263651    break;
    31273652
    3128   case 133:
    3129 #line 1218 "grammar.y"
    3130     {
    3131             list_cmd(0,yyvsp[-1].lv.Fullname(),"// ",TRUE);
    3132             yyvsp[-1].lv.CleanUp();
    3133           ;}
    3134     break;
    3135 
    3136   case 134:
    3137 #line 1223 "grammar.y"
    3138     {
    3139             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3140               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3141             yyvsp[-3].lv.CleanUp();
    3142           ;}
    3143     break;
    3144 
    3145   case 135:
    3146 #line 1229 "grammar.y"
    3147     {
    3148             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3149               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3150             yyvsp[-3].lv.CleanUp();
    3151           ;}
    3152     break;
    3153 
    3154   case 136:
    3155 #line 1235 "grammar.y"
    3156     {
    3157             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3158               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3159             yyvsp[-3].lv.CleanUp();
    3160           ;}
    3161     break;
    3162 
    3163   case 137:
    3164 #line 1241 "grammar.y"
    3165     {
    3166             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3167               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3168             yyvsp[-3].lv.CleanUp();
    3169           ;}
    3170     break;
    3171 
    3172   case 138:
    3173 #line 1247 "grammar.y"
    3174     {
    3175             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3176               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3177             yyvsp[-3].lv.CleanUp();
    3178           ;}
    3179     break;
    3180 
    31813653  case 139:
    3182 #line 1253 "grammar.y"
    3183     {
    3184             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3185               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3186             yyvsp[-3].lv.CleanUp();
     3654
     3655/* Line 1464 of yacc.c  */
     3656#line 1249 "grammar.y"
     3657    {
     3658            list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE);
     3659            (yyvsp[(3) - (4)].lv).CleanUp();
    31873660          ;}
    31883661    break;
    31893662
    31903663  case 140:
    3191 #line 1259 "grammar.y"
    3192     {
    3193             if(yyvsp[-3].lv.Typ() == PACKAGE_CMD)
    3194               list_cmd(yyvsp[-1].i,NULL,"// ",TRUE);
    3195             yyvsp[-3].lv.CleanUp();
     3664
     3665/* Line 1464 of yacc.c  */
     3666#line 1254 "grammar.y"
     3667    {
     3668            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3669              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3670            (yyvsp[(3) - (6)].lv).CleanUp();
    31963671          ;}
    31973672    break;
    31983673
    31993674  case 141:
    3200 #line 1271 "grammar.y"
     3675
     3676/* Line 1464 of yacc.c  */
     3677#line 1260 "grammar.y"
     3678    {
     3679            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3680              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3681            (yyvsp[(3) - (6)].lv).CleanUp();
     3682          ;}
     3683    break;
     3684
     3685  case 142:
     3686
     3687/* Line 1464 of yacc.c  */
     3688#line 1266 "grammar.y"
     3689    {
     3690            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3691              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3692            (yyvsp[(3) - (6)].lv).CleanUp();
     3693          ;}
     3694    break;
     3695
     3696  case 143:
     3697
     3698/* Line 1464 of yacc.c  */
     3699#line 1272 "grammar.y"
     3700    {
     3701            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3702              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3703            (yyvsp[(3) - (6)].lv).CleanUp();
     3704          ;}
     3705    break;
     3706
     3707  case 144:
     3708
     3709/* Line 1464 of yacc.c  */
     3710#line 1278 "grammar.y"
     3711    {
     3712            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3713              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3714            (yyvsp[(3) - (6)].lv).CleanUp();
     3715          ;}
     3716    break;
     3717
     3718  case 145:
     3719
     3720/* Line 1464 of yacc.c  */
     3721#line 1284 "grammar.y"
     3722    {
     3723            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3724              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3725            (yyvsp[(3) - (6)].lv).CleanUp();
     3726          ;}
     3727    break;
     3728
     3729  case 146:
     3730
     3731/* Line 1464 of yacc.c  */
     3732#line 1290 "grammar.y"
     3733    {
     3734            if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD)
     3735              list_cmd((yyvsp[(5) - (6)].i),NULL,"// ",TRUE);
     3736            (yyvsp[(3) - (6)].lv).CleanUp();
     3737          ;}
     3738    break;
     3739
     3740  case 147:
     3741
     3742/* Line 1464 of yacc.c  */
     3743#line 1302 "grammar.y"
    32013744    {
    32023745            list_cmd(-1,NULL,"// ",TRUE);
     
    32043747    break;
    32053748
    3206   case 142:
    3207 #line 1277 "grammar.y"
     3749  case 148:
     3750
     3751/* Line 1464 of yacc.c  */
     3752#line 1308 "grammar.y"
    32083753    { yyInRingConstruction = TRUE; ;}
    32093754    break;
    32103755
    3211   case 143:
    3212 #line 1286 "grammar.y"
    3213     {
    3214             const char *ring_name = yyvsp[-6].lv.name;
     3756  case 149:
     3757
     3758/* Line 1464 of yacc.c  */
     3759#line 1317 "grammar.y"
     3760    {
     3761            const char *ring_name = (yyvsp[(2) - (8)].lv).name;
    32153762            ring b=
    3216             rInit(&yyvsp[-4].lv,            /* characteristik and list of parameters*/
    3217                   &yyvsp[-2].lv,            /* names of ringvariables */
    3218                   &yyvsp[0].lv);            /* ordering */
     3763            rInit(&(yyvsp[(4) - (8)].lv),            /* characteristik and list of parameters*/
     3764                  &(yyvsp[(6) - (8)].lv),            /* names of ringvariables */
     3765                  &(yyvsp[(8) - (8)].lv));            /* ordering */
    32193766            idhdl newRingHdl=NULL;
    32203767
     
    32223769            {
    32233770              newRingHdl=enterid(ring_name, myynest, RING_CMD,
    3224                                    &(yyvsp[-6].lv.req_packhdl->idroot),FALSE);
    3225               yyvsp[-6].lv.CleanUp();
     3771                                   &((yyvsp[(2) - (8)].lv).req_packhdl->idroot),FALSE);
     3772              (yyvsp[(2) - (8)].lv).CleanUp();
    32263773              if (newRingHdl!=NULL)
    32273774              {
     
    32453792    break;
    32463793
    3247   case 144:
    3248 #line 1319 "grammar.y"
    3249     {
    3250             const char *ring_name = yyvsp[0].lv.name;
     3794  case 150:
     3795
     3796/* Line 1464 of yacc.c  */
     3797#line 1350 "grammar.y"
     3798    {
     3799            const char *ring_name = (yyvsp[(2) - (2)].lv).name;
    32513800            if (!inerror) rDefault(ring_name);
    32523801            yyInRingConstruction = FALSE;
    3253             yyvsp[0].lv.CleanUp();
    3254           ;}
    3255     break;
    3256 
    3257   case 145:
    3258 #line 1329 "grammar.y"
    3259     {
    3260             if ((yyvsp[-1].i!=LIB_CMD)||(jjLOAD(yyvsp[0].name,TRUE))) YYERROR;
    3261           ;}
    3262     break;
    3263 
    3264   case 148:
    3265 #line 1338 "grammar.y"
    3266     {
    3267             if ((yyvsp[-1].i==KEEPRING_CMD) && (myynest==0))
     3802            (yyvsp[(2) - (2)].lv).CleanUp();
     3803          ;}
     3804    break;
     3805
     3806  case 151:
     3807
     3808/* Line 1464 of yacc.c  */
     3809#line 1360 "grammar.y"
     3810    {
     3811            if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(jjLOAD((yyvsp[(2) - (2)].name),TRUE))) YYERROR;
     3812          ;}
     3813    break;
     3814
     3815  case 154:
     3816
     3817/* Line 1464 of yacc.c  */
     3818#line 1369 "grammar.y"
     3819    {
     3820            if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0))
    32683821               MYYERROR("only inside a proc allowed");
    3269             const char * n=yyvsp[0].lv.Name();
    3270             if (((yyvsp[0].lv.Typ()==RING_CMD)||(yyvsp[0].lv.Typ()==QRING_CMD))
    3271             && (yyvsp[0].lv.rtyp==IDHDL))
     3822            const char * n=(yyvsp[(2) - (2)].lv).Name();
     3823            if ((((yyvsp[(2) - (2)].lv).Typ()==RING_CMD)||((yyvsp[(2) - (2)].lv).Typ()==QRING_CMD))
     3824            && ((yyvsp[(2) - (2)].lv).rtyp==IDHDL))
    32723825            {
    3273               idhdl h=(idhdl)yyvsp[0].lv.data;
    3274               if (yyvsp[0].lv.e!=NULL) h=rFindHdl((ring)yyvsp[0].lv.Data(),NULL, NULL);
     3826              idhdl h=(idhdl)(yyvsp[(2) - (2)].lv).data;
     3827              if ((yyvsp[(2) - (2)].lv).e!=NULL) h=rFindHdl((ring)(yyvsp[(2) - (2)].lv).Data(),NULL, NULL);
    32753828              //Print("setring %s lev %d (ptr:%x)\n",IDID(h),IDLEV(h),IDRING(h));
    3276               if (yyvsp[-1].i==KEEPRING_CMD)
     3829              if ((yyvsp[(1) - (2)].i)==KEEPRING_CMD)
    32773830              {
    32783831                if (h!=NULL)
     
    32803833                  if (IDLEV(h)!=0)
    32813834                  {
    3282                     if (iiExport(&yyvsp[0].lv,myynest-1)) YYERROR;
     3835                    if (iiExport(&(yyvsp[(2) - (2)].lv),myynest-1)) YYERROR;
    32833836#if 1
    32843837                    idhdl p=IDRING(h)->idroot;
     
    33123865                {
    33133866                  Werror("%s is no identifier",n);
    3314                   yyvsp[0].lv.CleanUp();
     3867                  (yyvsp[(2) - (2)].lv).CleanUp();
    33153868                  YYERROR;
    33163869                }
     
    33203873              {
    33213874                Werror("cannot find the name of the basering %s",n);
    3322                 yyvsp[0].lv.CleanUp();
     3875                (yyvsp[(2) - (2)].lv).CleanUp();
    33233876                YYERROR;
    33243877              }
    3325               yyvsp[0].lv.CleanUp();
     3878              (yyvsp[(2) - (2)].lv).CleanUp();
    33263879            }
    33273880            else
    33283881            {
    33293882              Werror("%s is no name of a ring/qring",n);
    3330               yyvsp[0].lv.CleanUp();
     3883              (yyvsp[(2) - (2)].lv).CleanUp();
    33313884              YYERROR;
    33323885            }
     
    33343887    break;
    33353888
    3336   case 149:
    3337 #line 1410 "grammar.y"
    3338     {
    3339             type_cmd(&(yyvsp[0].lv));
    3340           ;}
    3341     break;
    3342 
    3343   case 150:
    3344 #line 1414 "grammar.y"
     3889  case 155:
     3890
     3891/* Line 1464 of yacc.c  */
     3892#line 1441 "grammar.y"
     3893    {
     3894            type_cmd(&((yyvsp[(2) - (2)].lv)));
     3895          ;}
     3896    break;
     3897
     3898  case 156:
     3899
     3900/* Line 1464 of yacc.c  */
     3901#line 1445 "grammar.y"
    33453902    {
    33463903            //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp);
    33473904            #ifdef SIQ
    3348             if (yyvsp[0].lv.rtyp!=COMMAND)
     3905            if ((yyvsp[(1) - (1)].lv).rtyp!=COMMAND)
    33493906            {
    33503907            #endif
    3351               if (yyvsp[0].lv.Typ()==UNKNOWN)
     3908              if ((yyvsp[(1) - (1)].lv).Typ()==UNKNOWN)
    33523909              {
    3353                 if (yyvsp[0].lv.name!=NULL)
     3910                if ((yyvsp[(1) - (1)].lv).name!=NULL)
    33543911                {
    3355                   Werror("`%s` is undefined",yyvsp[0].lv.name);
    3356                   omFree((ADDRESS)yyvsp[0].lv.name);
     3912                  Werror("`%s` is undefined",(yyvsp[(1) - (1)].lv).name);
     3913                  omFree((ADDRESS)(yyvsp[(1) - (1)].lv).name);
    33573914                }
    33583915                YYERROR;
     
    33613918            }
    33623919            #endif
    3363             yyvsp[0].lv.Print(&sLastPrinted);
    3364             yyvsp[0].lv.CleanUp(currRing);
     3920            (yyvsp[(1) - (1)].lv).Print(&sLastPrinted);
     3921            (yyvsp[(1) - (1)].lv).CleanUp(currRing);
    33653922            if (errorreported) YYERROR;
    33663923          ;}
    33673924    break;
    33683925
    3369   case 151:
    3370 #line 1443 "grammar.y"
    3371     {
    3372             int i; TESTSETINT(yyvsp[-2].lv,i);
     3926  case 157:
     3927
     3928/* Line 1464 of yacc.c  */
     3929#line 1474 "grammar.y"
     3930    {
     3931            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
    33733932            if (i!=0)
    33743933            {
    3375               newBuffer( yyvsp[0].name, BT_if);
     3934              newBuffer( (yyvsp[(5) - (5)].name), BT_if);
    33763935            }
    33773936            else
    33783937            {
    3379               omFree((ADDRESS)yyvsp[0].name);
     3938              omFree((ADDRESS)(yyvsp[(5) - (5)].name));
    33803939              currentVoice->ifsw=1;
    33813940            }
     
    33833942    break;
    33843943
    3385   case 152:
    3386 #line 1456 "grammar.y"
     3944  case 158:
     3945
     3946/* Line 1464 of yacc.c  */
     3947#line 1487 "grammar.y"
    33873948    {
    33883949            if (currentVoice->ifsw==1)
    33893950            {
    33903951              currentVoice->ifsw=0;
    3391               newBuffer( yyvsp[0].name, BT_else);
     3952              newBuffer( (yyvsp[(2) - (2)].name), BT_else);
    33923953            }
    33933954            else
     
    33973958                Warn("`else` without `if` in level %d",myynest);
    33983959              }
    3399               omFree((ADDRESS)yyvsp[0].name);
     3960              omFree((ADDRESS)(yyvsp[(2) - (2)].name));
    34003961            }
    34013962            currentVoice->ifsw=0;
     
    34033964    break;
    34043965
    3405   case 153:
    3406 #line 1473 "grammar.y"
    3407     {
    3408             int i; TESTSETINT(yyvsp[-2].lv,i);
     3966  case 159:
     3967
     3968/* Line 1464 of yacc.c  */
     3969#line 1504 "grammar.y"
     3970    {
     3971            int i; TESTSETINT((yyvsp[(3) - (5)].lv),i);
    34093972            if (i)
    34103973            {
     
    34153978    break;
    34163979
    3417   case 154:
    3418 #line 1482 "grammar.y"
     3980  case 160:
     3981
     3982/* Line 1464 of yacc.c  */
     3983#line 1513 "grammar.y"
    34193984    {
    34203985            if (exitBuffer(BT_break)) YYERROR;
     
    34233988    break;
    34243989
    3425   case 155:
    3426 #line 1487 "grammar.y"
     3990  case 161:
     3991
     3992/* Line 1464 of yacc.c  */
     3993#line 1518 "grammar.y"
    34273994    {
    34283995            if (contBuffer(BT_break)) YYERROR;
     
    34313998    break;
    34323999
    3433   case 156:
    3434 #line 1495 "grammar.y"
     4000  case 162:
     4001
     4002/* Line 1464 of yacc.c  */
     4003#line 1526 "grammar.y"
    34354004    {
    34364005            /* -> if(!$2) break; $3; continue;*/
    3437             char * s = (char *)omAlloc( strlen(yyvsp[-1].name) + strlen(yyvsp[0].name) + 36);
    3438             sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,yyvsp[-1].name,yyvsp[0].name);
     4006            char * s = (char *)omAlloc( strlen((yyvsp[(2) - (3)].name)) + strlen((yyvsp[(3) - (3)].name)) + 36);
     4007            sprintf(s,"whileif (!(%s)) break;\n%scontinue;\n " ,(yyvsp[(2) - (3)].name),(yyvsp[(3) - (3)].name));
    34394008            newBuffer(s,BT_break);
    3440             omFree((ADDRESS)yyvsp[-1].name);
    3441             omFree((ADDRESS)yyvsp[0].name);
    3442           ;}
    3443     break;
    3444 
    3445   case 157:
    3446 #line 1507 "grammar.y"
     4009            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     4010            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     4011          ;}
     4012    break;
     4013
     4014  case 163:
     4015
     4016/* Line 1464 of yacc.c  */
     4017#line 1538 "grammar.y"
    34474018    {
    34484019            /* $2 */
    34494020            /* if (!$3) break; $5; $4; continue; */
    3450             char * s = (char *)omAlloc( strlen(yyvsp[-2].name)+strlen(yyvsp[-1].name)+strlen(yyvsp[0].name)+36);
     4021            char * s = (char *)omAlloc( strlen((yyvsp[(3) - (5)].name))+strlen((yyvsp[(4) - (5)].name))+strlen((yyvsp[(5) - (5)].name))+36);
    34514022            sprintf(s,"forif (!(%s)) break;\n%s%s;\ncontinue;\n "
    3452                    ,yyvsp[-2].name,yyvsp[0].name,yyvsp[-1].name);
    3453             omFree((ADDRESS)yyvsp[-2].name);
    3454             omFree((ADDRESS)yyvsp[-1].name);
    3455             omFree((ADDRESS)yyvsp[0].name);
     4023                   ,(yyvsp[(3) - (5)].name),(yyvsp[(5) - (5)].name),(yyvsp[(4) - (5)].name));
     4024            omFree((ADDRESS)(yyvsp[(3) - (5)].name));
     4025            omFree((ADDRESS)(yyvsp[(4) - (5)].name));
     4026            omFree((ADDRESS)(yyvsp[(5) - (5)].name));
    34564027            newBuffer(s,BT_break);
    3457             s = (char *)omAlloc( strlen(yyvsp[-3].name) + 3);
    3458             sprintf(s,"%s;\n",yyvsp[-3].name);
    3459             omFree((ADDRESS)yyvsp[-3].name);
     4028            s = (char *)omAlloc( strlen((yyvsp[(2) - (5)].name)) + 3);
     4029            sprintf(s,"%s;\n",(yyvsp[(2) - (5)].name));
     4030            omFree((ADDRESS)(yyvsp[(2) - (5)].name));
    34604031            newBuffer(s,BT_if);
    34614032          ;}
    34624033    break;
    34634034
    3464   case 158:
    3465 #line 1526 "grammar.y"
    3466     {
    3467             idhdl h = enterid(yyvsp[-1].name,myynest,PROC_CMD,&IDROOT,TRUE);
    3468             if (h==NULL) {omFree((ADDRESS)yyvsp[-1].name);omFree((ADDRESS)yyvsp[0].name); YYERROR;}
    3469             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-1].name, 0, 0);
    3470             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+31);;
    3471             sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",yyvsp[0].name);
    3472             omFree((ADDRESS)yyvsp[0].name);
    3473             omFree((ADDRESS)yyvsp[-1].name);
    3474           ;}
    3475     break;
    3476 
    3477   case 159:
    3478 #line 1536 "grammar.y"
    3479     {
    3480             idhdl h = enterid(yyvsp[-2].name,myynest,PROC_CMD,&IDROOT,TRUE);
     4035  case 164:
     4036
     4037/* Line 1464 of yacc.c  */
     4038#line 1557 "grammar.y"
     4039    {
     4040            idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
     4041            if (h==NULL) {omFree((ADDRESS)(yyvsp[(2) - (3)].name));omFree((ADDRESS)(yyvsp[(3) - (3)].name)); YYERROR;}
     4042            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(2) - (3)].name), 0, 0);
     4043            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+31);;
     4044            sprintf(IDPROC(h)->data.s.body,"parameter list #;\n%s;return();\n\n",(yyvsp[(3) - (3)].name));
     4045            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     4046            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     4047          ;}
     4048    break;
     4049
     4050  case 165:
     4051
     4052/* Line 1464 of yacc.c  */
     4053#line 1567 "grammar.y"
     4054    {
     4055            idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE);
    34814056            if (h==NULL)
    34824057            {
    3483               omFree((ADDRESS)yyvsp[-2].name);
    3484               omFree((ADDRESS)yyvsp[-1].name);
    3485               omFree((ADDRESS)yyvsp[0].name);
     4058              omFree((ADDRESS)(yyvsp[(1) - (3)].name));
     4059              omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     4060              omFree((ADDRESS)(yyvsp[(3) - (3)].name));
    34864061              YYERROR;
    34874062            }
    3488             char *args=iiProcArgs(yyvsp[-1].name,FALSE);
    3489             omFree((ADDRESS)yyvsp[-1].name);
    3490             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-2].name, 0, 0);
    3491             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);;
    3492             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name);
     4063            char *args=iiProcArgs((yyvsp[(2) - (3)].name),FALSE);
     4064            omFree((ADDRESS)(yyvsp[(2) - (3)].name));
     4065            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (3)].name), 0, 0);
     4066            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(3) - (3)].name))+strlen(args)+14);;
     4067            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(3) - (3)].name));
    34934068            omFree((ADDRESS)args);
    3494             omFree((ADDRESS)yyvsp[0].name);
    3495             omFree((ADDRESS)yyvsp[-2].name);
    3496           ;}
    3497     break;
    3498 
    3499   case 160:
    3500 #line 1555 "grammar.y"
    3501     {
    3502             omFree((ADDRESS)yyvsp[-1].name);
    3503             idhdl h = enterid(yyvsp[-3].name,myynest,PROC_CMD,&IDROOT,TRUE);
     4069            omFree((ADDRESS)(yyvsp[(3) - (3)].name));
     4070            omFree((ADDRESS)(yyvsp[(1) - (3)].name));
     4071          ;}
     4072    break;
     4073
     4074  case 166:
     4075
     4076/* Line 1464 of yacc.c  */
     4077#line 1586 "grammar.y"
     4078    {
     4079            omFree((ADDRESS)(yyvsp[(3) - (4)].name));
     4080            idhdl h = enterid((yyvsp[(1) - (4)].name),myynest,PROC_CMD,&IDROOT,TRUE);
    35044081            if (h==NULL)
    35054082            {
    3506               omFree((ADDRESS)yyvsp[-3].name);
    3507               omFree((ADDRESS)yyvsp[-2].name);
    3508               omFree((ADDRESS)yyvsp[0].name);
     4083              omFree((ADDRESS)(yyvsp[(1) - (4)].name));
     4084              omFree((ADDRESS)(yyvsp[(2) - (4)].name));
     4085              omFree((ADDRESS)(yyvsp[(4) - (4)].name));
    35094086              YYERROR;
    35104087            }
    3511             char *args=iiProcArgs(yyvsp[-2].name,FALSE);
    3512             omFree((ADDRESS)yyvsp[-2].name);
    3513             iiInitSingularProcinfo(IDPROC(h),"", yyvsp[-3].name, 0, 0);
    3514             omFree((ADDRESS)yyvsp[-3].name);
    3515             IDPROC(h)->data.s.body = (char *)omAlloc(strlen(yyvsp[0].name)+strlen(args)+14);;
    3516             sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,yyvsp[0].name);
     4088            char *args=iiProcArgs((yyvsp[(2) - (4)].name),FALSE);
     4089            omFree((ADDRESS)(yyvsp[(2) - (4)].name));
     4090            iiInitSingularProcinfo(IDPROC(h),"", (yyvsp[(1) - (4)].name), 0, 0);
     4091            omFree((ADDRESS)(yyvsp[(1) - (4)].name));
     4092            IDPROC(h)->data.s.body = (char *)omAlloc(strlen((yyvsp[(4) - (4)].name))+strlen(args)+14);;
     4093            sprintf(IDPROC(h)->data.s.body,"%s\n%s;return();\n\n",args,(yyvsp[(4) - (4)].name));
    35174094            omFree((ADDRESS)args);
    3518             omFree((ADDRESS)yyvsp[0].name);
    3519           ;}
    3520     break;
    3521 
    3522   case 161:
    3523 #line 1578 "grammar.y"
     4095            omFree((ADDRESS)(yyvsp[(4) - (4)].name));
     4096          ;}
     4097    break;
     4098
     4099  case 167:
     4100
     4101/* Line 1464 of yacc.c  */
     4102#line 1609 "grammar.y"
    35244103    {
    35254104            // decl. of type proc p(int i)
    3526             if (yyvsp[-1].i==PARAMETER)  { if (iiParameter(&yyvsp[0].lv)) YYERROR; }
    3527             else                { if (iiAlias(&yyvsp[0].lv)) YYERROR; }
    3528           ;}
    3529     break;
    3530 
    3531   case 162:
    3532 #line 1584 "grammar.y"
     4105            if ((yyvsp[(1) - (2)].i)==PARAMETER)  { if (iiParameter(&(yyvsp[(2) - (2)].lv))) YYERROR; }
     4106            else                { if (iiAlias(&(yyvsp[(2) - (2)].lv))) YYERROR; }
     4107          ;}
     4108    break;
     4109
     4110  case 168:
     4111
     4112/* Line 1464 of yacc.c  */
     4113#line 1615 "grammar.y"
    35334114    {
    35344115            // decl. of type proc p(i)
    35354116            sleftv tmp_expr;
    3536             if (yyvsp[-1].i==ALIAS_CMD) MYYERROR("alias requires a type");
    3537             if ((iiDeclCommand(&tmp_expr,&yyvsp[0].lv,myynest,DEF_CMD,&IDROOT))
     4117            if ((yyvsp[(1) - (2)].i)==ALIAS_CMD) MYYERROR("alias requires a type");
     4118            if ((iiDeclCommand(&tmp_expr,&(yyvsp[(2) - (2)].lv),myynest,DEF_CMD,&IDROOT))
    35384119            || (iiParameter(&tmp_expr)))
    35394120              YYERROR;
     
    35414122    break;
    35424123
    3543   case 163:
    3544 #line 1596 "grammar.y"
    3545     {
    3546             iiRETURNEXPR.Copy(&yyvsp[-1].lv);
    3547             yyvsp[-1].lv.CleanUp();
     4124  case 169:
     4125
     4126/* Line 1464 of yacc.c  */
     4127#line 1627 "grammar.y"
     4128    {
     4129            iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv));
     4130            (yyvsp[(3) - (4)].lv).CleanUp();
    35484131            if (exitBuffer(BT_proc)) YYERROR;
    35494132          ;}
    35504133    break;
    35514134
    3552   case 164:
    3553 #line 1602 "grammar.y"
    3554     {
    3555             if (yyvsp[-2].i==RETURN)
     4135  case 170:
     4136
     4137/* Line 1464 of yacc.c  */
     4138#line 1633 "grammar.y"
     4139    {
     4140            if ((yyvsp[(1) - (3)].i)==RETURN)
    35564141            {
    35574142              iiRETURNEXPR.Init();
     
    35634148
    35644149
     4150
     4151/* Line 1464 of yacc.c  */
     4152#line 4151 "grammar.cc"
     4153      default: break;
    35654154    }
    3566 
    3567 /* Line 1010 of yacc.c.  */
    3568 #line 3561 "grammar.cc"
    3569 
    3570 
    3571   yyvsp -= yylen;
    3572   yyssp -= yylen;
    3573 
    3574 
     4155  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
     4156
     4157  YYPOPSTACK (yylen);
     4158  yylen = 0;
    35754159  YY_STACK_PRINT (yyss, yyssp);
    35764160
    35774161  *++yyvsp = yyval;
    3578 
    35794162
    35804163  /* Now `shift' the result of the reduction.  Determine what state
     
    36014184    {
    36024185      ++yynerrs;
    3603 #if YYERROR_VERBOSE
    3604       yyn = yypact[yystate];
    3605 
    3606       if (YYPACT_NINF < yyn && yyn < YYLAST)
     4186#if ! YYERROR_VERBOSE
     4187      yyerror (YY_("syntax error"));
     4188#else
     4189      {
     4190        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
     4191        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
     4192          {
     4193            YYSIZE_T yyalloc = 2 * yysize;
     4194            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
     4195              yyalloc = YYSTACK_ALLOC_MAXIMUM;
     4196            if (yymsg != yymsgbuf)
     4197              YYSTACK_FREE (yymsg);
     4198            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
     4199            if (yymsg)
     4200              yymsg_alloc = yyalloc;
     4201            else
     4202              {
     4203                yymsg = yymsgbuf;
     4204                yymsg_alloc = sizeof yymsgbuf;
     4205              }
     4206          }
     4207
     4208        if (0 < yysize && yysize <= yymsg_alloc)
     4209          {
     4210            (void) yysyntax_error (yymsg, yystate, yychar);
     4211            yyerror (yymsg);
     4212          }
     4213        else
     4214          {
     4215            yyerror (YY_("syntax error"));
     4216            if (yysize != 0)
     4217              goto yyexhaustedlab;
     4218          }
     4219      }
     4220#endif
     4221    }
     4222
     4223
     4224
     4225  if (yyerrstatus == 3)
     4226    {
     4227      /* If just tried and failed to reuse lookahead token after an
     4228         error, discard it.  */
     4229
     4230      if (yychar <= YYEOF)
    36074231        {
    3608           YYSIZE_T yysize = 0;
    3609           int yytype = YYTRANSLATE (yychar);
    3610           const char* yyprefix;
    3611           char *yymsg;
    3612           int yyx;
    3613 
    3614           /* Start YYX at -YYN if negative to avoid negative indexes in
    3615              YYCHECK.  */
    3616           int yyxbegin = yyn < 0 ? -yyn : 0;
    3617 
    3618           /* Stay within bounds of both yycheck and yytname.  */
    3619           int yychecklim = YYLAST - yyn;
    3620           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    3621           int yycount = 0;
    3622 
    3623           yyprefix = ", expecting ";
    3624           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    3625             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    3626               {
    3627                 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
    3628                 yycount += 1;
    3629                 if (yycount == 5)
    3630                   {
    3631                     yysize = 0;
    3632                     break;
    3633                   }
    3634               }
    3635           yysize += (sizeof ("syntax error, unexpected ")
    3636                      + yystrlen (yytname[yytype]));
    3637           yymsg = (char *) YYSTACK_ALLOC (yysize);
    3638           if (yymsg != 0)
    3639             {
    3640               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
    3641               yyp = yystpcpy (yyp, yytname[yytype]);
    3642 
    3643               if (yycount < 5)
    3644                 {
    3645                   yyprefix = ", expecting ";
    3646                   for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    3647                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    3648                       {
    3649                         yyp = yystpcpy (yyp, yyprefix);
    3650                         yyp = yystpcpy (yyp, yytname[yyx]);
    3651                         yyprefix = " or ";
    3652                       }
    3653                 }
    3654               yyerror (yymsg);
    3655               YYSTACK_FREE (yymsg);
    3656             }
    3657           else
    3658             yyerror ("syntax error; also virtual memory exhausted");
     4232          /* Return failure if at end of input.  */
     4233          if (yychar == YYEOF)
     4234            YYABORT;
    36594235        }
    36604236      else
    3661 #endif /* YYERROR_VERBOSE */
    3662         yyerror ("syntax error");
    3663     }
    3664 
    3665 
    3666 
    3667   if (yyerrstatus == 3)
    3668     {
    3669       /* If just tried and failed to reuse lookahead token after an
    3670          error, discard it.  */
    3671 
    3672       if (yychar <= YYEOF)
    3673         {
    3674           /* If at end of input, pop the error token,
    3675              then the rest of the stack, then return failure.  */
    3676           if (yychar == YYEOF)
    3677              for (;;)
    3678                {
    3679                  YYPOPSTACK;
    3680                  if (yyssp == yyss)
    3681                    YYABORT;
    3682                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    3683                  yydestruct (yystos[*yyssp], yyvsp);
    3684                }
    3685         }
    3686       else
    36874237        {
    3688           YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
    3689           yydestruct (yytoken, &yylval);
     4238          yydestruct ("Error: discarding",
     4239                      yytoken, &yylval);
    36904240          yychar = YYEMPTY;
    3691 
    36924241        }
    36934242    }
     
    37034252yyerrorlab:
    37044253
    3705 #ifdef __GNUC__
    3706   /* Pacify GCC when the user code never invokes YYERROR and the label
    3707      yyerrorlab therefore never appears in user code.  */
    3708   if (0)
     4254  /* Pacify compilers like GCC when the user code never invokes
     4255     YYERROR and the label yyerrorlab therefore never appears in user
     4256     code.  */
     4257  if (/*CONSTCOND*/ 0)
    37094258     goto yyerrorlab;
    3710 #endif
    3711 
    3712   yyvsp -= yylen;
    3713   yyssp -= yylen;
     4259
     4260  /* Do not reclaim the symbols of the rule which action triggered
     4261     this YYERROR.  */
     4262  YYPOPSTACK (yylen);
     4263  yylen = 0;
     4264  YY_STACK_PRINT (yyss, yyssp);
    37144265  yystate = *yyssp;
    37154266  goto yyerrlab1;
     
    37404291        YYABORT;
    37414292
    3742       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    3743       yydestruct (yystos[yystate], yyvsp);
    3744       YYPOPSTACK;
     4293
     4294      yydestruct ("Error: popping",
     4295                  yystos[yystate], yyvsp);
     4296      YYPOPSTACK (1);
    37454297      yystate = *yyssp;
    37464298      YY_STACK_PRINT (yyss, yyssp);
    37474299    }
    37484300
    3749   if (yyn == YYFINAL)
    3750     YYACCEPT;
    3751 
    3752   YYDPRINTF ((stderr, "Shifting error token, "));
    3753 
    37544301  *++yyvsp = yylval;
    37554302
     4303
     4304  /* Shift the error token.  */
     4305  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
    37564306
    37574307  yystate = yyn;
     
    37734323  goto yyreturn;
    37744324
    3775 #ifndef yyoverflow
    3776 /*----------------------------------------------.
    3777 | yyoverflowlab -- parser overflow comes here.  |
    3778 `----------------------------------------------*/
    3779 yyoverflowlab:
    3780   yyerror ("parser stack overflow");
     4325#if !defined(yyoverflow) || YYERROR_VERBOSE
     4326/*-------------------------------------------------.
     4327| yyexhaustedlab -- memory exhaustion comes here.  |
     4328`-------------------------------------------------*/
     4329yyexhaustedlab:
     4330  yyerror (YY_("memory exhausted"));
    37814331  yyresult = 2;
    37824332  /* Fall through.  */
     
    37844334
    37854335yyreturn:
     4336  if (yychar != YYEMPTY)
     4337     yydestruct ("Cleanup: discarding lookahead",
     4338                 yytoken, &yylval);
     4339  /* Do not reclaim the symbols of the rule which action triggered
     4340     this YYABORT or YYACCEPT.  */
     4341  YYPOPSTACK (yylen);
     4342  YY_STACK_PRINT (yyss, yyssp);
     4343  while (yyssp != yyss)
     4344    {
     4345      yydestruct ("Cleanup: popping",
     4346                  yystos[*yyssp], yyvsp);
     4347      YYPOPSTACK (1);
     4348    }
    37864349#ifndef yyoverflow
    37874350  if (yyss != yyssa)
    37884351    YYSTACK_FREE (yyss);
    37894352#endif
    3790   return yyresult;
     4353#if YYERROR_VERBOSE
     4354  if (yymsg != yymsgbuf)
     4355    YYSTACK_FREE (yymsg);
     4356#endif
     4357  /* Make sure YYID is used.  */
     4358  return YYID (yyresult);
    37914359}
    37924360
  • Singular/grammar.h

    r4fb517c r78c0dbe  
    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.  */
     
    144153     RINGVAR = 370,
    145154     PROC_DEF = 371,
    146      BREAK_CMD = 372,
    147      CONTINUE_CMD = 373,
    148      ELSE_CMD = 374,
    149      EVAL = 375,
    150      QUOTE = 376,
    151      FOR_CMD = 377,
    152      IF_CMD = 378,
    153      SYS_BREAK = 379,
    154      WHILE_CMD = 380,
    155      RETURN = 381,
    156      PARAMETER = 382,
    157      SYSVAR = 383,
    158      UMINUS = 384
     155     APPLY = 372,
     156     BREAK_CMD = 373,
     157     CONTINUE_CMD = 374,
     158     ELSE_CMD = 375,
     159     EVAL = 376,
     160     QUOTE = 377,
     161     FOR_CMD = 378,
     162     IF_CMD = 379,
     163     SYS_BREAK = 380,
     164     WHILE_CMD = 381,
     165     RETURN = 382,
     166     PARAMETER = 383,
     167     SYSVAR = 384,
     168     UMINUS = 385
    159169   };
    160170#endif
    161 #define DOTDOT 258
    162 #define EQUAL_EQUAL 259
    163 #define GE 260
    164 #define LE 261
    165 #define MINUSMINUS 262
    166 #define NOT 263
    167 #define NOTEQUAL 264
    168 #define PLUSPLUS 265
    169 #define COLONCOLON 266
    170 #define GRING_CMD 267
    171 #define BIGINTMAT_CMD 268
    172 #define INTMAT_CMD 269
    173 #define PROC_CMD 270
    174 #define RING_CMD 271
    175 #define BEGIN_RING 272
    176 #define IDEAL_CMD 273
    177 #define MAP_CMD 274
    178 #define MATRIX_CMD 275
    179 #define MODUL_CMD 276
    180 #define NUMBER_CMD 277
    181 #define POLY_CMD 278
    182 #define RESOLUTION_CMD 279
    183 #define VECTOR_CMD 280
    184 #define BETTI_CMD 281
    185 #define COEFFS_CMD 282
    186 #define COEF_CMD 283
    187 #define CONTRACT_CMD 284
    188 #define DEGREE_CMD 285
    189 #define DEG_CMD 286
    190 #define DIFF_CMD 287
    191 #define DIM_CMD 288
    192 #define DIVISION_CMD 289
    193 #define ELIMINATION_CMD 290
    194 #define E_CMD 291
    195 #define FAREY_CMD 292
    196 #define FETCH_CMD 293
    197 #define FREEMODULE_CMD 294
    198 #define KEEPRING_CMD 295
    199 #define HILBERT_CMD 296
    200 #define HOMOG_CMD 297
    201 #define IMAP_CMD 298
    202 #define INDEPSET_CMD 299
    203 #define INTERRED_CMD 300
    204 #define INTERSECT_CMD 301
    205 #define JACOB_CMD 302
    206 #define JET_CMD 303
    207 #define KBASE_CMD 304
    208 #define KOSZUL_CMD 305
    209 #define LEADCOEF_CMD 306
    210 #define LEADEXP_CMD 307
    211 #define LEAD_CMD 308
    212 #define LEADMONOM_CMD 309
    213 #define LIFTSTD_CMD 310
    214 #define LIFT_CMD 311
    215 #define MAXID_CMD 312
    216 #define MINBASE_CMD 313
    217 #define MINOR_CMD 314
    218 #define MINRES_CMD 315
    219 #define MODULO_CMD 316
    220 #define MONOM_CMD 317
    221 #define MRES_CMD 318
    222 #define MULTIPLICITY_CMD 319
    223 #define ORD_CMD 320
    224 #define PAR_CMD 321
    225 #define PARDEG_CMD 322
    226 #define PREIMAGE_CMD 323
    227 #define QUOTIENT_CMD 324
    228 #define QHWEIGHT_CMD 325
    229 #define REDUCE_CMD 326
    230 #define REGULARITY_CMD 327
    231 #define RES_CMD 328
    232 #define SBA_CMD 329
    233 #define SIMPLIFY_CMD 330
    234 #define SORTVEC_CMD 331
    235 #define SRES_CMD 332
    236 #define STD_CMD 333
    237 #define SUBST_CMD 334
    238 #define SYZYGY_CMD 335
    239 #define VAR_CMD 336
    240 #define VDIM_CMD 337
    241 #define WEDGE_CMD 338
    242 #define WEIGHT_CMD 339
    243 #define VALTVARS 340
    244 #define VMAXDEG 341
    245 #define VMAXMULT 342
    246 #define VNOETHER 343
    247 #define VMINPOLY 344
    248 #define END_RING 345
    249 #define CMD_1 346
    250 #define CMD_2 347
    251 #define CMD_3 348
    252 #define CMD_12 349
    253 #define CMD_13 350
    254 #define CMD_23 351
    255 #define CMD_123 352
    256 #define CMD_M 353
    257 #define ROOT_DECL 354
    258 #define ROOT_DECL_LIST 355
    259 #define RING_DECL 356
    260 #define RING_DECL_LIST 357
    261 #define EXAMPLE_CMD 358
    262 #define EXPORT_CMD 359
    263 #define HELP_CMD 360
    264 #define KILL_CMD 361
    265 #define LIB_CMD 362
    266 #define LISTVAR_CMD 363
    267 #define SETRING_CMD 364
    268 #define TYPE_CMD 365
    269 #define STRINGTOK 366
    270 #define BLOCKTOK 367
    271 #define INT_CONST 368
    272 #define UNKNOWN_IDENT 369
    273 #define RINGVAR 370
    274 #define PROC_DEF 371
    275 #define BREAK_CMD 372
    276 #define CONTINUE_CMD 373
    277 #define ELSE_CMD 374
    278 #define EVAL 375
    279 #define QUOTE 376
    280 #define FOR_CMD 377
    281 #define IF_CMD 378
    282 #define SYS_BREAK 379
    283 #define WHILE_CMD 380
    284 #define RETURN 381
    285 #define PARAMETER 382
    286 #define SYSVAR 383
    287 #define UMINUS 384
    288171
    289172
    290173
     174#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    291175
    292 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    293 typedef int YYSTYPE;
    294176# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    295177# define YYSTYPE_IS_DECLARED 1
    296 # define YYSTYPE_IS_TRIVIAL 1
    297178#endif
    298179
     
    300181
    301182
    302 
  • Singular/grammar.y

    r4fb517c r78c0dbe  
    318318
    319319/* control */
     320%token <i> APPLY
    320321%token <i> BREAK_CMD
    321322%token <i> CONTINUE_CMD
     
    667668            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    668669          }
     670        | CMD_12 '(' expr ')'
     671          {
     672            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
     673          }
     674        | CMD_13 '(' expr ')'
     675          {
     676            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
     677          }
     678        | CMD_123 '(' expr ')'
     679          {
     680            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
     681          }
    669682        | CMD_2 '(' expr ',' expr ')'
    670683          {
    671684            if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
    672685          }
     686        | CMD_12 '(' expr ',' expr ')'
     687          {
     688            if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
     689          }
     690        | CMD_23 '(' expr ',' expr ')'
     691          {
     692            if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
     693          }
     694        | CMD_123 '(' expr ',' expr ')'
     695          {
     696            if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
     697          }
    673698        | CMD_3 '(' expr ',' expr ',' expr ')'
    674699          {
    675700            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    676701          }
    677         | CMD_23 '(' expr ',' expr ')'
    678           {
    679             if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
     702        | CMD_13 '(' expr ',' expr ',' expr ')'
     703          {
     704            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    680705          }
    681706        | CMD_23 '(' expr ',' expr ',' expr ')'
     
    683708            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    684709          }
    685         | CMD_12 '(' expr ')'
     710        | CMD_123 '(' expr ',' expr ',' expr ')'
     711          {
     712            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
     713          }
     714        | CMD_M '(' ')'
     715          {
     716            if(iiExprArithM(&$$,NULL,$1)) YYERROR;
     717          }
     718        | CMD_M '(' exprlist ')'
     719          {
     720            if(iiExprArithM(&$$,&$3,$1)) YYERROR;
     721          }
     722        | mat_cmd '(' expr ',' expr ',' expr ')'
     723          {
     724            if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
     725          }
     726        | mat_cmd '(' expr ')'
    686727          {
    687728            if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    688729          }
    689         | CMD_13 '(' expr ')'
    690           {
    691             if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    692           }
    693         | CMD_12 '(' expr ',' expr ')'
    694           {
    695             if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
    696           }
    697         | CMD_123 '(' expr ')'
    698           {
    699             if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    700           }
    701         | CMD_123 '(' expr ',' expr ')'
    702           {
    703             if(iiExprArith2(&$$,&$3,$1,&$5,TRUE)) YYERROR;
    704           }
    705         | CMD_13 '(' expr ',' expr ',' expr ')'
    706           {
    707             if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    708           }
    709         | CMD_123 '(' expr ',' expr ',' expr ')'
    710           {
    711             if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    712           }
    713         | CMD_M '(' ')'
    714           {
    715             if(iiExprArithM(&$$,NULL,$1)) YYERROR;
    716           }
    717         | CMD_M '(' exprlist ')'
    718           {
    719             if(iiExprArithM(&$$,&$3,$1)) YYERROR;
    720           }
    721         | mat_cmd '(' expr ',' expr ',' expr ')'
    722           {
    723             if(iiExprArith3(&$$,$1,&$3,&$5,&$7)) YYERROR;
    724           }
    725         | mat_cmd '(' expr ')'
    726           {
    727             if(iiExprArith1(&$$,&$3,$1)) YYERROR;
    728           }
    729730        | RING_CMD '(' rlist ',' rlist ',' ordering ')'
    730731          {
     
    734735          {
    735736            if(iiExprArith1(&$$,&$3,RING_CMD)) YYERROR;
     737          }
     738        | APPLY '('  expr ',' CMD_1 ')'
     739          {
     740            if (iiApply(&$$, &$3, $5, NULL)) YYERROR;
     741          }
     742        | APPLY '('  expr ',' CMD_12 ')'
     743          {
     744            if (iiApply(&$$, &$3, $5, NULL)) YYERROR;
     745          }
     746        | APPLY '('  expr ',' CMD_13 ')'
     747          {
     748            if (iiApply(&$$, &$3, $5, NULL)) YYERROR;
     749          }
     750        | APPLY '('  expr ',' CMD_123 ')'
     751          {
     752            if (iiApply(&$$, &$3, $5, NULL)) YYERROR;
     753          }
     754        | APPLY '('  expr ',' CMD_M ')'
     755          {
     756            if (iiApply(&$$, &$3, $5, NULL)) YYERROR;
     757          }
     758        | APPLY '('  expr ',' expr ')'
     759          {
     760            if (iiApply(&$$, &$3, 0, &$5)) YYERROR;
    736761          }
    737762        | quote_start expr quote_end
     
    11021127          }
    11031128        ;
     1129
    11041130
    11051131mat_cmd: MATRIX_CMD
  • Singular/ipshell.cc

    r4fb517c r78c0dbe  
    57495749  PrintS(")");
    57505750}
     5751
     5752BOOLEAN iiApplyINTVEC(leftv res, leftv a, int op, leftv proc)
     5753{
     5754  intvec *aa=(intvec*)a->Data();
     5755  intvec *r=ivCopy(aa);
     5756  sleftv tmp_out;
     5757  sleftv tmp_in;
     5758  BOOLEAN bo=FALSE;
     5759  for(int i=0;i<aa->length(); i++)
     5760  {
     5761    memset(&tmp_in,0,sizeof(tmp_in));
     5762    tmp_in.rtyp=INT_CMD;
     5763    tmp_in.data=(void*)(*aa)[i];
     5764    if (proc==NULL)
     5765      bo=iiExprArith1(&tmp_out,&tmp_in,op);
     5766    else
     5767      bo=jjPROC(&tmp_out,proc,&tmp_in);
     5768    if (bo || (tmp_out.rtyp!=INT_CMD))
     5769    {
     5770      if (r!=NULL) delete r;
     5771      Werror("apply fails at index %d",i+1);
     5772      return TRUE;
     5773    }
     5774    (*r)[i]=(int)(long)tmp_out.data;
     5775  }
     5776  res->data=(void*)r;
     5777  return FALSE;
     5778}
     5779BOOLEAN iiApplyBIGINTMAT(leftv res, leftv a, int op, leftv proc)
     5780{
     5781  WerrorS("not implemented");
     5782  return TRUE;
     5783}
     5784BOOLEAN iiApplyIDEAL(leftv res, leftv a, int op, leftv proc)
     5785{
     5786  WerrorS("not implemented");
     5787  return TRUE;
     5788}
     5789BOOLEAN iiApplyLIST(leftv res, leftv a, int op, leftv proc)
     5790{
     5791  lists aa=(lists)a->Data();
     5792  lists r=(lists)omAlloc0Bin(slists_bin); r->Init(aa->nr+1);
     5793  sleftv tmp_out;
     5794  sleftv tmp_in;
     5795  BOOLEAN bo=FALSE;
     5796  for(int i=0;i<=aa->nr; i++)
     5797  {
     5798    memset(&tmp_in,0,sizeof(tmp_in));
     5799    tmp_in.Copy(&(aa->m[i]));
     5800    if (proc==NULL)
     5801      bo=iiExprArith1(&tmp_out,&tmp_in,op);
     5802    else
     5803      bo=jjPROC(&tmp_out,proc,&tmp_in);
     5804    tmp_in.CleanUp();
     5805    if (bo)
     5806    {
     5807      if (r!=NULL) r->Clean();
     5808      Werror("apply fails at index %d",i+1);
     5809      return TRUE;
     5810    }
     5811    memcpy(&(r->m[i]),&tmp_out,sizeof(sleftv));
     5812  }
     5813  res->data=(void*)r;
     5814  return FALSE;
     5815  WerrorS("not implemented");
     5816  return TRUE;
     5817}
     5818BOOLEAN iiApply(leftv res, leftv a, int op, leftv proc)
     5819{
     5820  memset(res,0,sizeof(sleftv));
     5821  res->rtyp=a->Typ();
     5822  switch (res->rtyp /*a->Typ()*/)
     5823  {
     5824    case INTVEC_CMD:
     5825    case INTMAT_CMD:
     5826        return iiApplyINTVEC(res,a,op,proc);
     5827    case BIGINTMAT_CMD:
     5828        return iiApplyBIGINTMAT(res,a,op,proc);
     5829    case IDEAL_CMD:
     5830    case MODUL_CMD:
     5831    case MATRIX_CMD:
     5832        return iiApplyIDEAL(res,a,op,proc);
     5833    case LIST_CMD:
     5834        return iiApplyLIST(res,a,op,proc);
     5835  }
     5836  WerrorS("first argument to `apply` must allow an index");
     5837  return TRUE;
     5838}
  • Singular/ipshell.h

    r4fb517c r78c0dbe  
    111111BOOLEAN iiExprArith3(leftv res, int op, leftv a, leftv b, leftv c);
    112112BOOLEAN iiExprArithM(leftv res, sleftv* a, int op);
     113BOOLEAN iiApply(leftv res,leftv a, int op, leftv proc);
    113114
    114115typedef BOOLEAN (*proc1)(leftv,leftv);
  • Singular/table.h

    r4fb517c r78c0dbe  
    848848  { "alias",       0, ALIAS_CMD ,         PARAMETER},
    849849  { "and",         0, '&' ,               LOGIC_OP},
     850  { "apply",       0, APPLY,              APPLY},
    850851  { "attrib",      0, ATTRIB_CMD ,        CMD_123},
    851852  { "bareiss",     0, BAREISS_CMD ,       CMD_13},
Note: See TracChangeset for help on using the changeset viewer.