Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 235 KiB
Newer Older
    by GNU Bison version 1.28  */

#define YYBISON 1  /* Identify Bison output.  */

#define	tDOUBLE	257
#define	tSTRING	258
#define	tBIGSTR	259
#define	tEND	260
#define	tAFFECT	261
#define	tDOTS	262
#define	tPi	263
#define	tExp	264
#define	tLog	265
#define	tLog10	266
#define	tSqrt	267
#define	tSin	268
#define	tAsin	269
#define	tCos	270
#define	tAcos	271
#define	tTan	272
#define	tRand	273
#define	tAtan	274
#define	tAtan2	275
#define	tSinh	276
#define	tCosh	277
#define	tTanh	278
#define	tFabs	279
#define	tFloor	280
#define	tCeil	281
#define	tFmod	282
#define	tModulo	283
#define	tHypot	284
#define	tPrintf	285
#define	tSprintf	286
#define	tStrCat	287
#define	tStrPrefix	288
#define	tDraw	289
#define	tPoint	290
#define	tCircle	291
#define	tEllipsis	292
#define	tLine	293
#define	tSurface	294
#define	tSpline	295
#define	tVolume	296
#define	tCharacteristic	297
#define	tLength	298
#define	tParametric	299
#define	tElliptic	300
#define	tPlane	301
#define	tRuled	302
#define	tTransfinite	303
#define	tComplex	304
#define	tPhysical	305
#define	tUsing	306
#define	tBump	307
#define	tProgression	308
#define	tPlugin	309
#define	tRotate	310
#define	tTranslate	311
#define	tSymmetry	312
#define	tDilate	313
#define	tExtrude	314
#define	tDuplicata	315
#define	tLoop	316
#define	tRecombine	317
#define	tDelete	318
#define	tCoherence	319
#define	tIntersect	320
#define	tAttractor	321
#define	tLayers	322
#define	tScalarTetrahedron	323
#define	tVectorTetrahedron	324
#define	tTensorTetrahedron	325
#define	tScalarTriangle	326
#define	tVectorTriangle	327
#define	tTensorTriangle	328
#define	tScalarLine	329
#define	tVectorLine	330
#define	tTensorLine	331
#define	tScalarPoint	332
#define	tVectorPoint	333
#define	tTensorPoint	334
#define	tBSpline	335
#define	tNurbs	336
#define	tOrder	337
#define	tWith	338
#define	tBounds	339
#define	tKnots	340
#define	tColor	341
#define	tColorTable	342
#define	tFor	343
#define	tIn	344
#define	tEndFor	345
#define	tIf	346
#define	tEndIf	347
#define	tExit	348
#define	tReturn	349
#define	tCall	350
#define	tFunction	351
#define	tMesh	352
#define	tB_SPLINE_SURFACE_WITH_KNOTS	353
#define	tB_SPLINE_CURVE_WITH_KNOTS	354
#define	tCARTESIAN_POINT	355
#define	tTRUE	356
#define	tFALSE	357
#define	tUNSPECIFIED	358
#define	tU	359
#define	tV	360
#define	tEDGE_CURVE	361
#define	tVERTEX_POINT	362
#define	tORIENTED_EDGE	363
#define	tPLANE	364
#define	tFACE_OUTER_BOUND	365
#define	tEDGE_LOOP	366
#define	tADVANCED_FACE	367
#define	tVECTOR	368
#define	tDIRECTION	369
#define	tAXIS2_PLACEMENT_3D	370
#define	tISO	371
#define	tENDISO	372
#define	tENDSEC	373
#define	tDATA	374
#define	tHEADER	375
#define	tFILE_DESCRIPTION	376
#define	tFILE_SCHEMA	377
#define	tFILE_NAME	378
#define	tMANIFOLD_SOLID_BREP	379
#define	tCLOSED_SHELL	380
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	381
#define	tFACE_BOUND	382
#define	tCYLINDRICAL_SURFACE	383
#define	tCONICAL_SURFACE	384
#define	tCIRCLE	385
#define	tTRIMMED_CURVE	386
#define	tGEOMETRIC_SET	387
#define	tCOMPOSITE_CURVE_SEGMENT	388
#define	tCONTINUOUS	389
#define	tCOMPOSITE_CURVE	390
#define	tTOROIDAL_SURFACE	391
#define	tPRODUCT_DEFINITION	392
#define	tPRODUCT_DEFINITION_SHAPE	393
#define	tSHAPE_DEFINITION_REPRESENTATION	394
#define	tELLIPSE	395
#define	tTrimmed	396
#define	tSolid	397
#define	tEndSolid	398
#define	tVertex	399
#define	tFacet	400
#define	tNormal	401
#define	tOuter	402
#define	tLoopSTL	403
#define	tEndLoop	404
#define	tEndFacet	405
#define	tAFFECTPLUS	406
#define	tAFFECTMINUS	407
#define	tAFFECTTIMES	408
#define	tAFFECTDIVIDE	409
#define	tOR	410
#define	tAND	411
#define	tEQUAL	412
#define	tNOTEQUAL	413
#define	tAPPROXEQUAL	414
#define	tLESSOREQUAL	415
#define	tGREATEROREQUAL	416
#define	tCROSSPRODUCT	417
#define	tPLUSPLUS	418
#define	tMINUSMINUS	419
#define	UNARYPREC	420
// $Id: Gmsh.tab.cpp,v 1.94 2001-07-26 21:36:31 remacle Exp $

  //
  // Generaliser sprintf avec des chaines de caracteres
  // 
#ifndef _NOPLUGIN
#include "PluginManager.h"
#endif
#include "Gmsh.h"
#include "Const.h"
#include "Context.h"
#include "Geo.h"
#include "CAD.h"
#include "DataBase.h"
#include "Mesh.h"
#include "Create.h"
#include "Views.h"
#include "StepGeomDatabase.h"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include "Options.h"
#include "OpenFile.h"
#include "FunctionManager.h"
#include "ColorTable.h"
#include "Timer.h"
#include "CreateFile.h"
#include "STL.h"
#ifdef __DECCXX // bug in bison
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include <alloca.h>
#endif

List_T *Symbol_L=NULL;
extern Mesh      *THEM;
extern Post_View *ActualView;

static FILE          *yyinTab[MAX_OPEN_FILES];
static int            yylinenoTab[MAX_OPEN_FILES];
static fpos_t         yyposImbricatedLoopsTab[MAX_OPEN_FILES];
static double         LoopControlVariablesTab[MAX_OPEN_FILES][3];
static char*          LoopControlVariablesNameTab[MAX_OPEN_FILES];
static char           yynameTab[MAX_OPEN_FILES][NAME_STR_L];
static char           tmpstring[NAME_STR_L];
static char           tmpstring2[NAME_STR_L], tmpstring3[NAME_STR_L];
static Symbol         TheSymbol, *pSymbol;
static Surface       *STL_Surf;
static Shape          TheShape;
static int            i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0;
static int            Last_NumberOfPoints = 0;
static double         d, *pd;
static ExtrudeParams  extr;
static char           *str;
static StringXString  *pStrCat;
static StringXNumber  *pNumCat;
static StringXColor   *pColCat;
static double         (*pNumOpt)(int num, int action, double value);
static char*          (*pStrOpt)(int num, int action, char *value);
static unsigned int   (*pColOpt)(int num, int action, unsigned int value);
char *strsave(char *ptr);
void  yyerror (char *s);
void  vyyerror (char *fmt, ...);
void  skip_until (char *skip, char *until);
#line 73 "Gmsh.y"
  unsigned int u;
  double   d;
  double   v[5];
  Shape    s;
  List_T  *l;
} YYSTYPE;
#include <stdio.h>

#ifndef __cplusplus
#ifndef __STDC__
#define const
#endif
#endif



#define	YYFINAL		1538
#define	YYNTBASE	185
#define YYTRANSLATE(x) ((unsigned)(x) <= 420 ? yytranslate[x] : 266)

static const short yytranslate[] = {     0,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,   172,     2,     2,     2,   170,     2,     2,   177,
   178,   168,   166,   182,   167,   181,   169,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,   162,
     2,   164,   156,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   179,     2,   180,   176,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,   183,     2,   184,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
   107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
   127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
   137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
   147,   148,   149,   150,   151,   152,   153,   154,   155,   157,
   158,   159,   160,   161,   163,   165,   171,   173,   174,   175
};

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     2,     4,     6,     9,    11,    14,    16,    38,    40,
    41,    44,    46,    48,    50,    53,    56,    59,    62,    65,
    73,    79,    97,   107,   131,   163,   179,   191,   203,   219,
   229,   243,   253,   265,   279,   289,   299,   311,   321,   333,
   343,   355,   369,   383,   395,   409,   427,   437,   449,   461,
   475,   487,   497,   498,   501,   503,   505,   507,   509,   511,
   513,   515,   517,   519,   521,   523,   525,   531,   539,   546,
   555,   556,   559,   562,   565,   568,   571,   574,   577,   580,
   583,   586,   589,   592,   594,   598,   599,   613,   615,   619,
   620,   634,   636,   640,   641,   655,   657,   661,   662,   682,
   684,   688,   689,   709,   711,   715,   716,   736,   738,   742,
   743,   769,   771,   775,   776,   802,   804,   808,   809,   835,
   837,   841,   842,   874,   876,   880,   881,   913,   915,   919,
   920,   952,   954,   956,   958,   960,   962,   964,   966,   971,
   979,   989,   996,  1000,  1007,  1014,  1024,  1031,  1041,  1047,
  1056,  1065,  1077,  1084,  1094,  1104,  1114,  1122,  1131,  1144,
  1151,  1157,  1165,  1173,  1186,  1194,  1204,  1222,  1230,  1239,
  1248,  1256,  1268,  1274,  1283,  1296,  1305,  1328,  1349,  1358,
  1367,  1373,  1382,  1390,  1399,  1405,  1417,  1423,  1433,  1435,
  1437,  1439,  1440,  1443,  1448,  1453,  1460,  1464,  1468,  1472,
  1480,  1483,  1486,  1493,  1502,  1511,  1522,  1524,  1527,  1529,
  1533,  1538,  1540,  1549,  1562,  1571,  1584,  1593,  1606,  1618,
  1634,  1636,  1639,  1649,  1652,  1659,  1669,  1679,  1688,  1697,
  1706,  1713,  1718,  1721,  1724,  1726,  1728,  1730,  1732,  1734,
  1736,  1740,  1743,  1746,  1749,  1753,  1757,  1761,  1765,  1769,
  1773,  1777,  1781,  1785,  1789,  1793,  1797,  1801,  1805,  1811,
  1816,  1821,  1826,  1831,  1836,  1841,  1846,  1851,  1856,  1861,
  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1905,  1912,  1919,
  1924,  1926,  1928,  1930,  1935,  1938,  1944,  1948,  1955,  1960,
  1968,  1970,  1973,  1976,  1980,  1984,  1996,  2006,  2014,  2022,
  2023,  2027,  2029,  2033,  2034,  2038,  2042,  2044,  2048,  2050,
  2052,  2056,  2061,  2065,  2071,  2075,  2080,  2087,  2095,  2097,
  2099,  2103,  2107,  2117,  2125,  2127,  2133,  2137,  2144,  2146,
  2150,  2152,  2159,  2164,  2169,  2176,  2183
static const short yyrhs[] = {   188,
     0,   187,     0,   193,     0,     1,     6,     0,     3,     0,
   167,     3,     0,   143,     0,   146,   147,   186,   186,   186,
   148,   149,   145,   186,   186,   186,   145,   186,   186,   186,
   145,   186,   186,   186,   150,   151,     0,   144,     0,     0,
   188,   189,     0,   190,     0,   192,     0,   191,     0,   117,
     6,     0,   118,     6,     0,   120,     6,     0,   119,     6,
     0,   121,     6,     0,   122,   177,   255,   182,     5,   178,
     6,     0,   123,   177,   255,   178,     6,     0,   124,   177,
     5,   182,     5,   182,   255,   182,   255,   182,     5,   182,
     5,   182,     5,   178,     6,     0,     3,     7,   101,   177,
     5,   182,   253,   178,     6,     0,     3,     7,   100,   177,
     5,   182,   251,   182,   259,   182,   250,   182,   250,   182,
   250,   182,   259,   182,   259,   182,   250,   178,     6,     0,
     3,     7,    99,   177,     5,   182,   251,   182,   251,   182,
   257,   182,   250,   182,   250,   182,   250,   182,   250,   182,
   259,   182,   259,   182,   259,   182,   259,   182,   250,   178,
     6,     0,     3,     7,   107,   177,     5,   182,     3,   182,
     3,   182,     3,   182,   250,   178,     6,     0,     3,     7,
   111,   177,     5,   182,     3,   182,   250,   178,     6,     0,
     3,     7,   128,   177,     5,   182,     3,   182,   250,   178,
     6,     0,     3,     7,   109,   177,     5,   182,   168,   182,
   168,   182,   251,   182,   250,   178,     6,     0,     3,     7,
   112,   177,     5,   182,   259,   178,     6,     0,     3,     7,
   113,   177,     5,   182,   259,   182,     3,   182,   250,   178,
     6,     0,     3,     7,   108,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   114,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   116,   177,     5,   182,
     3,   182,     3,   182,     3,   178,     6,     0,     3,     7,
   115,   177,     5,   182,   253,   178,     6,     0,     3,     7,
   110,   177,     5,   182,     3,   178,     6,     0,     3,     7,
    39,   177,     5,   182,     3,   182,     3,   178,     6,     0,
     3,     7,   126,   177,     5,   182,   259,   178,     6,     0,
     3,     7,   127,   177,     5,   182,   259,   182,     3,   178,
     6,     0,     3,     7,   125,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   129,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   130,   177,     5,   182,
     3,   182,   251,   182,   251,   178,     6,     0,     3,     7,
   137,   177,     5,   182,     3,   182,   251,   182,   251,   178,
     6,     0,     3,     7,   131,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   141,   177,     5,   182,
     3,   182,   251,   182,   251,   178,     6,     0,     3,     7,
   132,   177,     5,   182,     3,   182,   259,   182,   259,   182,
   250,   182,   250,   178,     6,     0,     3,     7,   133,   177,
     5,   182,   259,   178,     6,     0,     3,     7,   134,   177,
   135,   182,   250,   182,     3,   178,     6,     0,     3,     7,
   136,   177,     5,   182,   259,   182,   250,   178,     6,     0,
     3,     7,   138,   177,     5,   182,     5,   182,     3,   182,
     3,   178,     6,     0,     3,     7,   139,   177,     5,   182,
     5,   182,     3,   178,     6,     0,     3,     7,   140,   177,
     3,   182,     3,   178,     6,     0,     0,   193,   194,     0,
   196,     0,   195,     0,   236,     0,   237,     0,   238,     0,
   241,     0,   242,     0,   245,     0,   248,     0,   249,     0,
   244,     0,   243,     0,    31,   177,     5,   178,     6,     0,
    31,   177,     5,   182,   261,   178,     6,     0,     4,     5,
   183,   197,   184,     6,     0,     4,     5,     4,   253,   183,
   197,   184,     6,     0,     0,   197,   199,     0,   197,   202,
     0,   197,   205,     0,   197,   208,     0,   197,   211,     0,
   197,   214,     0,   197,   217,     0,   197,   220,     0,   197,
   223,     0,   197,   226,     0,   197,   229,     0,   197,   232,
     0,   251,     0,   198,   182,   251,     0,     0,    78,   177,
   251,   182,   251,   182,   251,   178,   200,   183,   198,   184,
     6,     0,   251,     0,   201,   182,   251,     0,     0,    79,
   177,   251,   182,   251,   182,   251,   178,   203,   183,   201,
   184,     6,     0,   251,     0,   204,   182,   251,     0,     0,
    80,   177,   251,   182,   251,   182,   251,   178,   206,   183,
   204,   184,     6,     0,   251,     0,   207,   182,   251,     0,
     0,    75,   177,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   209,   183,   207,   184,     6,
     0,   251,     0,   210,   182,   251,     0,     0,    76,   177,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   178,   212,   183,   210,   184,     6,     0,   251,     0,
   213,   182,   251,     0,     0,    77,   177,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   178,   215,
   183,   213,   184,     6,     0,   251,     0,   216,   182,   251,
     0,     0,    72,   177,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   178,   218,   183,   216,   184,     6,     0,   251,     0,
   219,   182,   251,     0,     0,    73,   177,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   221,   183,   219,   184,     6,
     0,   251,     0,   222,   182,   251,     0,     0,    74,   177,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   178,   224,   183,
   222,   184,     6,     0,   251,     0,   225,   182,   251,     0,
     0,    69,   177,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   178,   227,   183,   225,
   184,     6,     0,   251,     0,   228,   182,   251,     0,     0,
    70,   177,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   178,   230,   183,   228,   184,
     6,     0,   251,     0,   231,   182,   251,     0,     0,    71,
   177,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   233,   183,   231,   184,     6,
     0,     7,     0,   152,     0,   153,     0,   154,     0,   155,
     0,   173,     0,   174,     0,     4,   234,   251,     6,     0,
     4,   179,   251,   180,   234,   251,     6,     0,     4,   179,
   183,   261,   184,   180,   234,   259,     6,     0,     4,   179,
   180,     7,   259,     6,     0,     4,   235,     6,     0,     4,
   179,   251,   180,   235,     6,     0,     4,   181,     4,     7,
   265,     6,     0,     4,   179,   251,   180,   181,     4,     7,
   265,     6,     0,     4,   181,     4,   234,   251,     6,     0,
     4,   179,   251,   180,   181,     4,   234,   251,     6,     0,
     4,   181,     4,   235,     6,     0,     4,   179,   251,   180,
   181,     4,   235,     6,     0,     4,   181,    87,   181,     4,
     7,   262,     6,     0,     4,   179,   251,   180,   181,    87,
   181,     4,     7,   262,     6,     0,     4,   181,    88,     7,
   263,     6,     0,     4,   179,   251,   180,   181,    88,     7,
   263,     6,     0,    55,   177,     5,   178,   181,     5,     7,
   251,     6,     0,    55,   177,     5,   178,   181,     5,     7,
     5,     6,     0,    36,   177,   251,   178,     7,   253,     6,
     0,    51,    36,   177,   251,   178,     7,   259,     6,     0,
    67,    36,   259,     7,   183,   251,   182,   251,   182,   251,
   184,     6,     0,    43,    44,   259,     7,   251,     6,     0,
    36,   183,   251,   184,     6,     0,    39,   177,   251,   178,
     7,   259,     6,     0,    41,   177,   251,   178,     7,   259,
     6,     0,    67,    39,   259,     7,   183,   251,   182,   251,
   182,   251,   184,     6,     0,    37,   177,   251,   178,     7,
   259,     6,     0,    37,   177,   251,   178,     7,   259,    47,
   253,     6,     0,    45,   177,   251,   178,     7,   183,   251,
   182,   251,   182,     5,   182,     5,   182,     5,   184,     6,
     0,    38,   177,   251,   178,     7,   259,     6,     0,    51,
    39,   177,   251,   178,     7,   259,     6,     0,    39,    62,
   177,   251,   178,     7,   259,     6,     0,    81,   177,   251,
   178,     7,   259,     6,     0,    82,   177,   251,   178,     7,
   259,    86,   259,    83,   251,     6,     0,    39,   183,   251,
   184,     6,     0,    47,    40,   177,   251,   178,     7,   259,
     6,     0,   142,    40,   177,   251,   178,     7,   183,   251,
   182,   259,   184,     6,     0,    48,    40,   177,   251,   178,
     7,   259,     6,     0,    82,    40,    84,    85,   177,   251,
   178,     7,   257,    86,   183,   259,   182,   259,   184,    83,
   183,   251,   182,   251,   184,     6,     0,    82,    40,   177,
   251,   178,     7,   257,    86,   183,   259,   182,   259,   184,
    83,   183,   251,   182,   251,   184,     6,     0,    51,    40,
   177,   251,   178,     7,   259,     6,     0,    40,    62,   177,
   251,   178,     7,   259,     6,     0,    40,   183,   251,   184,
     6,     0,    50,    42,   177,   251,   178,     7,   259,     6,
     0,    42,   177,   251,   178,     7,   259,     6,     0,    51,
    42,   177,   251,   178,     7,   259,     6,     0,    57,   253,
   183,   239,   184,     0,    56,   183,   253,   182,   253,   182,
   251,   184,   183,   239,   184,     0,    58,   253,   183,   239,
   184,     0,    59,   183,   253,   182,   251,   184,   183,   239,
   184,     0,   241,     0,   240,     0,   238,     0,     0,   240,
   237,     0,    61,   183,   240,   184,     0,    64,   183,   240,
   184,     0,    64,     4,   179,   251,   180,     6,     0,    64,
    98,     6,     0,     4,   265,     6,     0,     4,   251,     6,
     0,    55,   177,     5,   178,   181,     5,     6,     0,    94,
     6,     0,    35,     6,     0,    89,   177,   251,     8,   251,
   178,     0,    89,   177,   251,     8,   251,     8,   251,   178,
     0,    89,     4,    90,   183,   251,     8,   251,   184,     0,
    89,     4,    90,   183,   251,     8,   251,     8,   251,   184,
     0,    91,     0,    97,     4,     0,    95,     0,    96,     4,
     6,     0,    92,   177,   251,   178,     0,    93,     0,    60,
    36,   183,   251,   182,   253,   184,     6,     0,    60,    36,
   183,   251,   182,   253,   182,   253,   182,   251,   184,     6,
     0,    60,    39,   183,   251,   182,   253,   184,     6,     0,
    60,    39,   183,   251,   182,   253,   182,   253,   182,   251,
   184,     6,     0,    60,    40,   183,   251,   182,   253,   184,
     6,     0,    60,    40,   183,   251,   182,   253,   182,   253,
   182,   251,   184,     6,     0,    60,    40,   183,   251,   182,
   253,   184,   183,   246,   184,     6,     0,    60,    40,   183,
   251,   182,   253,   182,   253,   182,   251,   184,   183,   246,
   184,     6,     0,   247,     0,   246,   247,     0,    68,   183,
   259,   182,   259,   182,   259,   184,     6,     0,    63,     6,
     0,    49,    39,   259,     7,   251,     6,     0,    49,    39,
   259,     7,   251,    52,    54,   251,     6,     0,    49,    39,
   259,     7,   251,    52,    53,   251,     6,     0,    49,    40,
   183,   251,   184,     7,   259,     6,     0,    46,    40,   183,
   251,   184,     7,   259,     6,     0,    49,    42,   183,   251,
   184,     7,   259,     6,     0,    63,    40,   259,     7,   251,
     6,     0,    63,    40,   259,     6,     0,    65,     6,     0,
    66,     6,     0,   102,     0,   103,     0,   104,     0,   105,
     0,   106,     0,   252,     0,   177,   251,   178,     0,   167,
   251,     0,   166,   251,     0,   172,   251,     0,   251,   167,
   251,     0,   251,   166,   251,     0,   251,   168,   251,     0,
   251,   169,   251,     0,   251,   170,   251,     0,   251,   176,
   251,     0,   251,   162,   251,     0,   251,   164,   251,     0,
   251,   163,   251,     0,   251,   165,   251,     0,   251,   159,
   251,     0,   251,   160,   251,     0,   251,   158,   251,     0,
   251,   157,   251,     0,   251,   156,   251,     8,   251,     0,
    10,   177,   251,   178,     0,    11,   177,   251,   178,     0,
    12,   177,   251,   178,     0,    13,   177,   251,   178,     0,
    14,   177,   251,   178,     0,    15,   177,   251,   178,     0,
    16,   177,   251,   178,     0,    17,   177,   251,   178,     0,
    18,   177,   251,   178,     0,    20,   177,   251,   178,     0,
    21,   177,   251,   182,   251,   178,     0,    22,   177,   251,
   178,     0,    23,   177,   251,   178,     0,    24,   177,   251,
   178,     0,    25,   177,   251,   178,     0,    26,   177,   251,
   178,     0,    27,   177,   251,   178,     0,    28,   177,   251,
   182,   251,   178,     0,    29,   177,   251,   182,   251,   178,
     0,    30,   177,   251,   182,   251,   178,     0,    19,   177,
   251,   178,     0,     3,     0,     9,     0,     4,     0,     4,
   179,   251,   180,     0,     4,   235,     0,     4,   179,   251,
   180,   235,     0,     4,   181,     4,     0,     4,   179,   251,
   180,   181,     4,     0,     4,   181,     4,   235,     0,     4,
   179,   251,   180,   181,     4,   235,     0,   254,     0,   167,
   253,     0,   166,   253,     0,   253,   167,   253,     0,   253,
   166,   253,     0,   183,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   184,     0,   183,   251,   182,   251,   182,
   251,   182,   251,   184,     0,   183,   251,   182,   251,   182,
   251,   184,     0,   177,   251,   182,   251,   182,   251,   178,
     0,     0,   177,   256,   178,     0,     5,     0,   256,   182,
     5,     0,     0,   183,   258,   184,     0,   177,   258,   178,
     0,   259,     0,   258,   182,   259,     0,   251,     0,   260,
     0,   183,   261,   184,     0,   167,   183,   261,   184,     0,
   251,     8,   251,     0,   251,     8,   251,     8,   251,     0,
     4,   179,   180,     0,   167,     4,   179,   180,     0,     4,
   179,   183,   261,   184,   180,     0,   167,     4,   179,   183,
   261,   184,   180,     0,   251,     0,   260,     0,   261,   182,
   251,     0,   261,   182,   260,     0,   183,   251,   182,   251,
   182,   251,   182,   251,   184,     0,   183,   251,   182,   251,
   182,   251,   184,     0,     4,     0,     4,   181,    87,   181,
     4,     0,   183,   264,   184,     0,     4,   179,   251,   180,
   181,    88,     0,   262,     0,   264,   182,   262,     0,     5,
     0,    33,   177,   265,   182,   265,   178,     0,    34,   177,
   265,   178,     0,    32,   177,   265,   178,     0,    32,   177,
   265,   182,   261,   178,     0,    32,   177,     4,   181,     4,
   178,     0,    32,   177,     4,   179,   251,   180,   181,     4,
   178,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   155,   157,   158,   159,   166,   168,   171,   179,   193,   205,
   207,   210,   212,   213,   216,   222,   227,   228,   229,   232,
   236,   239,   245,   250,   256,   264,   269,   273,   279,   284,
   288,   293,   297,   300,   305,   309,   313,   317,   322,   326,
   329,   333,   337,   341,   345,   349,   353,   356,   360,   363,
   367,   370,   379,   383,   389,   391,   392,   393,   394,   395,
   396,   397,   398,   399,   400,   401,   404,   409,   438,   444,
   451,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   465,   466,   467,   470,   473,   477,   483,   489,   492,   496,
   502,   508,   511,   515,   521,   527,   530,   534,   542,   548,
   551,   555,   563,   569,   572,   576,   584,   590,   593,   597,
   609,   615,   618,   622,   634,   640,   643,   647,   659,   665,
   668,   672,   685,   691,   694,   698,   711,   717,   720,   724,
   737,   749,   751,   752,   753,   754,   756,   758,   760,   791,
   825,   872,   887,   896,   911,   923,   937,   960,   984,   996,
  1010,  1022,  1036,  1052,  1068,  1081,  1101,  1112,  1118,  1137,
  1148,  1156,  1162,  1168,  1187,  1193,  1209,  1216,  1222,  1228,
  1234,  1240,  1259,  1271,  1277,  1296,  1317,  1325,  1331,  1337,
  1343,  1355,  1361,  1367,  1379,  1385,  1390,  1395,  1402,  1404,
  1405,  1408,  1413,  1424,  1442,  1450,  1455,  1466,  1534,  1554,
  1560,  1564,  1584,  1600,  1614,  1639,  1664,  1690,  1696,  1701,
  1706,  1710,  1720,  1726,  1732,  1736,  1740,  1744,  1748,  1753,
  1760,  1764,  1769,  1790,  1800,  1819,  1837,  1855,  1877,  1898,
  1919,  1933,  1954,  1959,  1970,  1972,  1973,  1974,  1975,  1978,
  1980,  1981,  1982,  1983,  1984,  1985,  1986,  1987,  1994,  1995,
  1996,  1997,  1998,  1999,  2000,  2001,  2002,  2003,  2004,  2005,
  2006,  2007,  2008,  2009,  2010,  2011,  2012,  2013,  2014,  2015,
  2016,  2017,  2018,  2019,  2020,  2021,  2022,  2023,  2024,  2025,
  2030,  2035,  2039,  2050,  2067,  2078,  2097,  2113,  2129,  2145,
  2162,  2167,  2171,  2175,  2179,  2184,  2189,  2193,  2197,  2203,
  2207,  2212,  2216,  2221,  2225,  2229,  2235,  2241,  2248,  2254,
  2258,  2262,  2272,  2279,  2290,  2304,  2320,  2340,  2364,  2370,
  2374,  2378,  2389,  2394,  2405,  2410,  2428,  2433,  2446,  2452,
  2458,  2463,  2471,  2484,  2488,  2513,  2527
};
#endif


#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)

static const char * const yytname[] = {   "$","error","$undefined.","tDOUBLE",
"tSTRING","tBIGSTR","tEND","tAFFECT","tDOTS","tPi","tExp","tLog","tLog10","tSqrt",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tSin","tAsin","tCos","tAcos","tTan","tRand","tAtan","tAtan2","tSinh","tCosh",
"tTanh","tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPrintf","tSprintf",
"tStrCat","tStrPrefix","tDraw","tPoint","tCircle","tEllipsis","tLine","tSurface",
"tSpline","tVolume","tCharacteristic","tLength","tParametric","tElliptic","tPlane",
"tRuled","tTransfinite","tComplex","tPhysical","tUsing","tBump","tProgression",
"tPlugin","tRotate","tTranslate","tSymmetry","tDilate","tExtrude","tDuplicata",
"tLoop","tRecombine","tDelete","tCoherence","tIntersect","tAttractor","tLayers",
"tScalarTetrahedron","tVectorTetrahedron","tTensorTetrahedron","tScalarTriangle",
"tVectorTriangle","tTensorTriangle","tScalarLine","tVectorLine","tTensorLine",
"tScalarPoint","tVectorPoint","tTensorPoint","tBSpline","tNurbs","tOrder","tWith",
"tBounds","tKnots","tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf",
"tExit","tReturn","tCall","tFunction","tMesh","tB_SPLINE_SURFACE_WITH_KNOTS",
"tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED",
"tU","tV","tEDGE_CURVE","tVERTEX_POINT","tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND",
"tEDGE_LOOP","tADVANCED_FACE","tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO",
"tENDISO","tENDSEC","tDATA","tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME",
"tMANIFOLD_SOLID_BREP","tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION",
"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE",
"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE",
"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION",
"tELLIPSE","tTrimmed","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter",
"tLoopSTL","tEndLoop","tEndFacet","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES",
"tAFFECTDIVIDE","'?'","tOR","tAND","tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'",
"tLESSOREQUAL","'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT",
"'!'","tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'",
"','","'{'","'}'","All","SignedDouble","STLFormatItem","StepFormatItems","StepFormatItem",
"StepSpecial","StepHeaderItem","StepDataItem","GeomFormatList","GeomFormat",
"Printf","View","Views","ScalarPointValues","ScalarPoint","@1","VectorPointValues",
"VectorPoint","@2","TensorPointValues","TensorPoint","@3","ScalarLineValues",
"ScalarLine","@4","VectorLineValues","VectorLine","@5","TensorLineValues","TensorLine",
"@6","ScalarTriangleValues","ScalarTriangle","@7","VectorTriangleValues","VectorTriangle",
"@8","TensorTriangleValues","TensorTriangle","@9","ScalarTetrahedronValues",
"ScalarTetrahedron","@10","VectorTetrahedronValues","VectorTetrahedron","@11",
"TensorTetrahedronValues","TensorTetrahedron","@12","NumericAffectation","NumericIncrement",
"Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata",
"Delete","Command","Loop","Extrude","ExtrudeParameters","ExtrudeParameter","Transfini",
"Coherence","BoolExpr","FExpr","FExpr_Single","VExpr","VExpr_Single","ListOfStrings",
"RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble",
"ListOfDouble","FExpr_Multi","RecursiveListOfDouble","ColorExpr","ListOfColor",
"RecursiveListOfColor","StringExpr", NULL
   185,   185,   185,   185,   186,   186,   187,   187,   187,   188,
   188,   189,   189,   189,   190,   190,   190,   190,   190,   191,
   191,   191,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   193,   193,   194,   194,   194,   194,   194,   194,
   194,   194,   194,   194,   194,   194,   195,   195,   196,   196,
   197,   197,   197,   197,   197,   197,   197,   197,   197,   197,
   197,   197,   197,   198,   198,   200,   199,   201,   201,   203,
   202,   204,   204,   206,   205,   207,   207,   209,   208,   210,
   210,   212,   211,   213,   213,   215,   214,   216,   216,   218,
   217,   219,   219,   221,   220,   222,   222,   224,   223,   225,
   225,   227,   226,   228,   228,   230,   229,   231,   231,   233,
   232,   234,   234,   234,   234,   234,   235,   235,   236,   236,
   236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
   236,   236,   236,   236,   236,   236,   237,   237,   237,   237,
   237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
   237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
   237,   237,   237,   237,   238,   238,   238,   238,   239,   239,
   239,   240,   240,   241,   242,   242,   242,   243,   243,   243,
   243,   243,   244,   244,   244,   244,   244,   244,   244,   244,
   244,   244,   245,   245,   245,   245,   245,   245,   245,   245,
   246,   246,   247,   247,   248,   248,   248,   248,   248,   248,
   248,   248,   249,   249,   250,   250,   250,   250,   250,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   253,   253,   253,   253,   253,   254,   254,   254,   254,   255,
   255,   256,   256,   257,   257,   257,   258,   258,   259,   259,
   259,   259,   260,   260,   260,   260,   260,   260,   261,   261,
   261,   261,   262,   262,   262,   262,   263,   263,   264,   264,
   265,   265,   265,   265,   265,   265,   265
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     1,     1,     1,     2,     1,     2,     1,    21,     1,     0,
     2,     1,     1,     1,     2,     2,     2,     2,     2,     7,
     5,    17,     9,    23,    31,    15,    11,    11,    15,     9,
    13,     9,    11,    13,     9,     9,    11,     9,    11,     9,
    11,    13,    13,    11,    13,    17,     9,    11,    11,    13,
    11,     9,     0,     2,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     1,     1,     5,     7,     6,     8,
     0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     1,     3,     0,    13,     1,     3,     0,
    13,     1,     3,     0,    13,     1,     3,     0,    19,     1,
     3,     0,    19,     1,     3,     0,    19,     1,     3,     0,
    25,     1,     3,     0,    25,     1,     3,     0,    25,     1,
     3,     0,    31,     1,     3,     0,    31,     1,     3,     0,
    31,     1,     1,     1,     1,     1,     1,     1,     4,     7,
     9,     6,     3,     6,     6,     9,     6,     9,     5,     8,
     8,    11,     6,     9,     9,     9,     7,     8,    12,     6,
     5,     7,     7,    12,     7,     9,    17,     7,     8,     8,
     7,    11,     5,     8,    12,     8,    22,    20,     8,     8,
     5,     8,     7,     8,     5,    11,     5,     9,     1,     1,
     1,     0,     2,     4,     4,     6,     3,     3,     3,     7,
     2,     2,     6,     8,     8,    10,     1,     2,     1,     3,
     4,     1,     8,    12,     8,    12,     8,    12,    11,    15,
     1,     2,     9,     2,     6,     9,     9,     8,     8,     8,
     6,     4,     2,     2,     1,     1,     1,     1,     1,     1,
     3,     2,     2,     2,     3,     3,     3,     3,     3,     3,
     3,     3,     3,     3,     3,     3,     3,     3,     5,     4,
     4,     4,     4,     4,     4,     4,     4,     4,     4,     6,
     4,     4,     4,     4,     4,     4,     6,     6,     6,     4,
     1,     1,     1,     4,     2,     5,     3,     6,     4,     7,
     1,     2,     2,     3,     3,    11,     9,     7,     7,     0,
     3,     1,     3,     0,     3,     3,     1,     3,     1,     1,
     3,     4,     3,     5,     3,     4,     6,     7,     1,     1,
     3,     3,     9,     7,     1,     5,     3,     6,     1,     3,
     1,     6,     4,     4,     6,     6,     9
Christophe Geuzaine's avatar
Christophe Geuzaine committed
static const short yydefact[] = {     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     7,     9,     0,     2,     1,     3,     4,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    11,    12,
    14,    13,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   207,     0,   212,     0,   209,
     0,     0,     0,    54,    56,    55,    57,    58,    59,    60,
    61,    66,    65,    62,    63,    64,     5,     0,     0,     0,
    15,    16,    18,    17,    19,   300,   300,     0,   281,   283,
   331,   132,   282,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   133,   134,   135,
   136,     0,     0,     0,   137,   138,     0,     0,     0,     0,
     0,     0,   240,     0,     0,   202,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   291,     0,     0,
     0,     0,     0,   192,     0,     0,     0,   192,   233,   234,
     0,     0,     0,     0,     0,     0,     0,     0,   201,     0,
   208,     0,     6,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   285,     0,    71,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   243,   242,   244,
     0,     0,     0,     0,     0,     0,     0,     0,   143,   199,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   198,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   283,     0,
     0,   309,     0,   310,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   293,   292,
     0,     0,     0,     0,   192,   192,     0,     0,     0,     0,
     0,     0,     0,   197,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   210,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   302,     0,     0,
     0,     0,     0,   287,     0,     0,     0,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   331,     0,
     0,     0,   241,     0,     0,   319,   320,     0,     0,   132,
     0,     0,     0,     0,   139,     0,   258,   257,   255,   256,
   251,   253,   252,   254,   246,   245,   247,   248,   249,   250,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   283,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   295,   294,   191,     0,   190,
   189,     0,     0,     0,     0,     0,   194,   193,   232,     0,
     0,   195,     0,     0,     0,     0,     0,     0,     0,     0,
   211,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   301,     0,     0,    21,     0,   284,   289,
    71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    72,    73,    74,    75,    76,    77,
    78,    79,    80,    81,    82,    83,   260,   261,   262,   263,
   264,   265,   266,   267,   268,   280,   269,     0,   271,   272,
   273,   274,   275,   276,     0,     0,     0,     0,     0,   334,
     0,     0,   333,     0,     0,     0,     0,     0,     0,     0,
     0,   149,     0,     0,     0,     0,     0,    67,     0,     0,
   161,     0,     0,     0,     0,   173,     0,   181,     0,     0,
   315,     0,     0,     0,   311,   313,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   185,   187,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   303,     0,   300,     0,   286,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
     0,     0,     0,     0,     0,     0,     0,     0,   142,   321,
   322,     0,     0,     0,     0,     0,   144,   145,   147,     0,
     0,   325,     0,   329,     0,   153,   259,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   316,     0,   312,
     0,   160,     0,     0,     0,     0,   225,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   231,   196,     0,     0,     0,     0,   304,
     0,     0,     0,   203,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   236,   237,   238,   239,     0,     0,     0,     0,     0,     0,
     0,    20,     0,   288,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   270,   277,   278,
   279,     0,   336,   335,   332,     0,   132,     0,     0,     0,
     0,   140,     0,     0,     0,     0,     0,   327,    68,   157,
   165,     0,   168,     0,   162,     0,   163,   183,     0,     0,
   314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   200,     0,     0,     0,     0,   192,
     0,     0,     0,     0,     0,     0,     0,     0,   171,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   300,   290,
    70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   150,     0,     0,
   151,     0,     0,     0,   330,     0,   170,   180,   317,     0,
     0,   229,   174,   176,     0,     0,   228,   230,   182,   158,
   169,   179,   184,     0,     0,     0,   299,     0,   298,     0,
     0,   213,     0,   215,     0,   217,     0,     0,     0,   304,
     0,   307,     0,     0,     0,     0,   205,   204,     0,     0,
     0,     0,     0,    23,     0,    32,     0,    36,     0,    30,
     0,     0,    35,     0,    40,    38,     0,     0,     0,     0,
     0,     0,    47,     0,     0,     0,     0,     0,    52,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   141,   146,   148,     0,   154,     0,
     0,     0,   166,   318,     0,   227,   226,   156,   155,   192,
     0,   188,     0,     0,     0,     0,     0,     0,   221,     0,
     0,     0,   306,     0,   305,     0,     0,     0,     0,     0,
     0,   304,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   337,     0,   328,   326,     0,     0,
     0,     0,   297,     0,     0,     0,   224,     0,     0,   222,
     0,     0,     0,   308,     0,     0,   206,     0,     0,    37,
     0,     0,     0,     0,    27,     0,    33,     0,    39,    28,
    41,     0,    44,     0,    48,    49,     0,     0,    51,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   152,     0,     0,   186,     0,     0,     0,
     0,     0,   219,     0,     0,     0,     0,   172,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    86,    90,    94,     0,   324,     0,   296,   214,   216,
   218,     0,     0,   159,   164,     0,     0,   175,     0,     0,
     0,     0,     0,    31,    34,    42,     0,    43,    50,    45,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   323,     0,
     0,     0,     0,     0,     0,     0,     0,    26,    29,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    84,     0,    88,     0,    92,     0,   220,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    46,    22,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
    87,    89,    91,    93,    95,   167,   223,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    98,   102,
   106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     8,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    96,     0,   100,     0,   104,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   177,     0,    24,     0,     0,     0,     0,     0,     0,    97,
    99,   101,   103,   105,   107,     0,     0,     0,     0,   110,
   114,   118,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   108,     0,   112,     0,   116,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   109,   111,   113,   115,   117,   119,     0,   122,   126,   130,
    25,     0,     0,     0,     0,     0,     0,     0,   120,     0,
   124,     0,   128,     0,     0,     0,     0,     0,     0,   121,
   123,   125,   127,   129,   131,     0,     0,     0
static const short yydefgoto[] = {  1536,
    79,     5,     6,    19,    20,    21,    22,     7,    64,    65,
    66,   386,  1311,   555,  1261,  1313,   556,  1262,  1315,   557,
  1263,  1420,   558,  1393,  1422,   559,  1394,  1424,   560,  1395,
  1481,   561,  1467,  1483,   562,  1468,  1485,   563,  1469,  1518,
   564,  1512,  1520,   565,  1513,  1522,   566,  1514,   130,   231,
    67,   488,   478,   479,   480,   481,    71,    72,    73,    74,
  1078,  1079,    75,    76,   815,   302,   133,   167,   168,   226,
   379,   903,  1001,  1002,   304,   418,   734,   606,   735,   134
static const short yypact[] = {  1999,
    25,-32768,-32768,  -123,-32768,    27,  2132,-32768,    20,    39,
    58,    97,   107,   126,   131,    12,    17,    33,-32768,-32768,
-32768,-32768,  1550,    55,   196,  -148,    64,   124,   -25,   -30,
   148,   151,   230,   159,   241,   282,   317,   374,   299,   240,
   186,   181,   182,   182,   208,   206,   303,   368,    14,   377,
   422,   120,   266,   -14,    23,-32768,   302,-32768,   510,-32768,
   520,   523,   488,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,   526,    20,  2171,
-32768,-32768,-32768,-32768,-32768,   353,   353,   548,-32768,  -130,
    15,-32768,-32768,   379,   380,   382,   383,   384,   389,   390,
   393,   394,   396,   397,   399,   400,   401,   402,   403,   406,
   420,   421,   425,   426,   427,   428,   429,-32768,-32768,-32768,
-32768,  1266,  1266,  1266,-32768,-32768,  1266,   522,    21,  1266,
   552,   955,-32768,   601,   549,-32768,  1266,  1266,  1266,  1266,
   431,  1266,  1266,   432,  1266,  1266,  1266,   768,  1266,   430,
   434,   435,   768,   433,   438,   437,   440,   445,   446,   447,
   610,   182,   182,   182,  1266,  1266,   177,-32768,   202,   182,
   442,   443,   444,-32768,   768,   449,   625,-32768,-32768,-32768,
   768,   768,  1266,   -50,  1266,   543,  1266,  1266,-32768,   628,
-32768,   458,-32768,    20,   460,   461,   462,   467,   469,   470,
   493,   494,   495,   496,   497,   513,   514,   515,   518,   519,
   521,   527,   529,   530,   532,   534,   535,   539,   550,   566,
   570,   573,   574,   575,   688,   547,   525,   571,  1266,   693,
-32768,   182,-32768,  1266,  1266,  1266,  1266,  1266,  1266,  1266,
  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,
  1266,  1266,  1266,  1266,   106,    34,    34,   556,   556,   556,
  5009,   747,  1582,  4884,    31,   576,   748,  1047,-32768,-32768,
  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,
  1266,  1266,  1266,  1266,  1266,-32768,   -80,  5032,  2244,  5055,
  5078,  1266,  5101,  2267,  1266,  2290,  5124,  5147,    94,  1003,
  1582,  1729,   749,-32768,  5170,  1266,  1266,  1266,   751,  1266,
  1266,  1266,  1266,  1266,  1266,  1266,   583,     9,-32768,-32768,
  1320,  2658,   182,   182,   381,   381,   104,  1266,  1266,  1266,
   339,   173,  1266,-32768,  1947,   755,   756,  5193,   679,  1266,
  5216,   582,  1744,  5239,-32768,  1266,   618,   762,   763,   764,
   765,   769,   770,   771,   794,   795,   796,   798,   799,   802,
   803,   804,   805,   807,   808,   809,   810,   812,   813,   815,
   638,   816,   818,   819,   821,   824,   823,-32768,   -10,   825,
   826,   829,  4909,  -100,   205,   -17,  5262,  5285,  5308,  5331,
  5354,  5377,  5400,  5423,  5446,  5469,  5492,  2679,  5515,  5538,
  5561,  5584,  5607,  5630,  2700,  2721,  2742,   121,-32768,   225,
   647,   653,-32768,   768,  1623,  1729,-32768,   174,   166,    34,
  1266,   830,   838,    16,-32768,  1770,   970,   555,   572,   572,
   256,   256,   256,   256,   -40,   -40,   556,   556,   556,   556,
   846,  1582,   849,   852,   853,   854,  5653,   858,   861,  5676,
   862,   863,   864,   639,   231,  1582,   245,  1266,  1266,   865,
  2313,  5699,  5722,  1266,  2336,  2359,  5745,  5768,  5791,  5814,
  5837,   678,   182,  1266,  1266,-32768,-32768,-32768,   685,  2195,
-32768,   689,  1266,  2763,  2784,  2805,-32768,-32768,-32768,  1266,
  4934,-32768,   694,   695,   869,   702,  5860,   873,  1266,  1266,
-32768,  5883,   732,   700,   701,   703,   706,   707,   708,   709,
   710,   711,   712,   713,   714,   716,   717,   718,   719,   720,
   721,   725,   726,   727,   728,   730,   731,   734,   735,   736,
   750,   754,   757,-32768,   909,   753,-32768,   760,   164,-32768,
-32768,   766,   767,   772,   773,   775,   776,   777,   778,   779,
   780,   781,   782,   940,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1266,-32768,-32768,
-32768,-32768,-32768,-32768,  1266,  1266,  1266,  1266,   943,-32768,
  1582,    34,-32768,   956,  1582,   783,   150,  1266,   958,   962,
  1068,-32768,   963,   790,    18,   965,  1266,-32768,   252,   182,
-32768,   768,   768,   966,   768,-32768,   967,-32768,   768,   768,
-32768,  1582,   975,   274,-32768,  1785,  1162,   789,   968,   969,
   973,   681,   974,  1001,  1002,  1004,  1032,  1042,  1048,   972,
   227,  2826,  2847,-32768,-32768,  2382,   182,   182,   182,  1261,
   976,  1266,  1266,   768,  1266,  1052,   768,  1800,   878,  1053,
   916,  1007,  1266,  1266,   182,  1059,  1060,   897,  1063,  1064,
   768,   768,  1065,   182,  1066,  1067,   768,   768,  1070,  1072,
  1074,  1075,  1076,   768,   343,   768,  1078,  1077,  1079,  1080,
  1083,-32768,  1081,   353,  1085,-32768,   516,  1266,  1266,  1266,
  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,  1266,-32768,
  5906,  5929,  5952,  5975,  4959,   893,   272,   924,-32768,  1729,
-32768,   111,   200,   922,  1097,  1350,-32768,-32768,-32768,    18,
  1266,   926,  1266,-32768,   279,-32768,  1201,  1099,    11,    59,
  1102,   768,  1104,   768,  1110,  1120,   286,-32768,  1582,-32768,
  1266,-32768,  1266,   768,   768,   768,-32768,   260,   768,   768,
   768,   768,   768,   768,   768,   344,  1266,  1266,  1266,   960,
   142,   145,   149,-32768,-32768,  2868,  2889,  1138,  5998,  -108,
  1062,  1266,  1266,-32768,   971,    20,   977,  2910,  2931,     4,
   978,   979,   980,   983,   981,   986,   985,   989,    69,   990,
   987,   995,   992,   994,   996,   997,   999,  1000,  1005,-32768,
-32768,-32768,-32768,-32768,  1006,  1018,  1019,  1026,  1036,  1009,
  1037,-32768,  1038,  -100,  1139,  2952,  2973,  2994,  3015,  3036,
  3057,  3078,  3099,  3120,  3141,  3162,  3183,-32768,-32768,-32768,
-32768,  1008,-32768,-32768,-32768,   768,    34,  1266,  1143,  1146,
    16,-32768,  1145,  4984,  1069,  3204,    18,-32768,-32768,-32768,
-32768,   182,-32768,  1147,-32768,  1171,-32768,-32768,  1041,   287,
  1201,  3225,  1178,  1179,  1223,  1266,  1266,  1233,  1234,  1235,
  1236,  1237,  1239,  1240,-32768,    67,  2405,  6021,  2157,   381,
   182,  1241,   182,  1242,   182,     7,  1266,  1266,-32768,  1243,
   768,   768,  1165,   768,   334,  6044,  1266,    20,  1249,  1266,
   768,  1247,  1263,  1262,  1103,  1268,   343,  1291,  1269,  1266,
  1293,  1297,  1295,  1296,  1300,   343,  1266,  1266,  1266,   768,