Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 247 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	tAtan	273
#define	tAtan2	274
#define	tSinh	275
#define	tCosh	276
#define	tTanh	277
#define	tFabs	278
#define	tFloor	279
#define	tCeil	280
#define	tFmod	281
#define	tModulo	282
#define	tHypot	283
#define	tPrintf	284
#define	tDraw	285
#define	tSleep	286
#define	tPoint	287
#define	tCircle	288
#define	tEllipsis	289
#define	tLine	290
#define	tSurface	291
#define	tSpline	292
#define	tVolume	293
#define	tCharacteristic	294
#define	tLength	295
#define	tParametric	296
#define	tElliptic	297
#define	tPlane	298
#define	tRuled	299
#define	tTransfinite	300
#define	tComplex	301
#define	tPhysical	302
#define	tUsing	303
#define	tBump	304
#define	tProgression	305
#define	tRotate	306
#define	tTranslate	307
#define	tSymmetry	308
#define	tDilate	309
#define	tExtrude	310
#define	tDuplicata	311
#define	tLoop	312
#define	tInclude	313
#define	tRecombine	314
#define	tDelete	315
#define	tCoherence	316
#define	tView	317
#define	tAttractor	318
#define	tLayers	319
#define	tScalarTetrahedron	320
#define	tVectorTetrahedron	321
#define	tTensorTetrahedron	322
#define	tScalarTriangle	323
#define	tVectorTriangle	324
#define	tTensorTriangle	325
#define	tScalarLine	326
#define	tVectorLine	327
#define	tTensorLine	328
#define	tScalarPoint	329
#define	tVectorPoint	330
#define	tTensorPoint	331
#define	tBSpline	332
#define	tNurbs	333
#define	tOrder	334
#define	tWith	335
#define	tBounds	336
#define	tKnots	337
#define	tColor	338
#define	tFor	339
#define	tEndFor	340
#define	tScript	341
#define	tExit	342
#define	tMerge	343
#define	tReturn	344
#define	tCall	345
#define	tFunction	346
#define	tB_SPLINE_SURFACE_WITH_KNOTS	347
#define	tB_SPLINE_CURVE_WITH_KNOTS	348
#define	tCARTESIAN_POINT	349
#define	tTRUE	350
#define	tFALSE	351
#define	tUNSPECIFIED	352
#define	tU	353
#define	tV	354
#define	tEDGE_CURVE	355
#define	tVERTEX_POINT	356
#define	tORIENTED_EDGE	357
#define	tPLANE	358
#define	tFACE_OUTER_BOUND	359
#define	tEDGE_LOOP	360
#define	tADVANCED_FACE	361
#define	tVECTOR	362
#define	tDIRECTION	363
#define	tAXIS2_PLACEMENT_3D	364
#define	tISO	365
#define	tENDISO	366
#define	tENDSEC	367
#define	tDATA	368
#define	tHEADER	369
#define	tFILE_DESCRIPTION	370
#define	tFILE_SCHEMA	371
#define	tFILE_NAME	372
#define	tMANIFOLD_SOLID_BREP	373
#define	tCLOSED_SHELL	374
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	375
#define	tFACE_BOUND	376
#define	tCYLINDRICAL_SURFACE	377
#define	tCONICAL_SURFACE	378
#define	tCIRCLE	379
#define	tTRIMMED_CURVE	380
#define	tGEOMETRIC_SET	381
#define	tCOMPOSITE_CURVE_SEGMENT	382
#define	tCONTINUOUS	383
#define	tCOMPOSITE_CURVE	384
#define	tTOROIDAL_SURFACE	385
#define	tPRODUCT_DEFINITION	386
#define	tPRODUCT_DEFINITION_SHAPE	387
#define	tSHAPE_DEFINITION_REPRESENTATION	388
#define	tELLIPSE	389
#define	tTrimmed	390
#define	tSolid	391
#define	tEndSolid	392
#define	tVertex	393
#define	tFacet	394
#define	tNormal	395
#define	tOuter	396
#define	tLoopSTL	397
#define	tEndLoop	398
#define	tEndFacet	399
#define	tAND	400
#define	tOR	401
#define	tNOTEQUAL	402
#define	tEQUAL	403
#define	tAPPROXEQUAL	404
#define	tAFFECTPLUS	405
#define	tAFFECTMINUS	406
#define	tAFFECTTIMES	407
#define	tAFFECTDIVIDE	408
#define	tLESSOREQUAL	409
#define	tGREATEROREQUAL	410
#define	tCROSSPRODUCT	411
#define	UNARYPREC	412
#define	tPLUSPLUS	413
#define	tMINUSMINUS	414
 /* $Id: Gmsh.tab.cpp,v 1.27 2000-12-07 16:24:58 remacle Exp $ */

#include <stdarg.h>

#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 "FunctionManager.h"
#ifdef __DECCXX // bug in bison
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include <alloca.h>
#endif

Christophe Geuzaine's avatar
Christophe Geuzaine committed
int      Force_ViewNumber = 0 ;
List_T  *Symbol_L;

extern Mesh     *THEM;
extern Post_View *ActualView;
extern char      ThePathForIncludes[NAME_STR_L];

static FILE          *yyinTab[MAX_OPEN_FILES];
static int            yylinenoTab[MAX_OPEN_FILES];
static fpos_t         yyposImbricatedLoopsTab[MAX_OPEN_FILES];
static int            LoopControlVariablesTab[MAX_OPEN_FILES][3];
static char           yynameTab[MAX_OPEN_FILES][NAME_STR_L];
static char           tmpstring[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 double         d;
static ExtrudeParams  extr;
static List_T         *ListOfDouble_L,*ListOfDouble2_L;
static List_T         *ListOfListOfDouble_L;
static void           *pNumOpt, *pArrOpt;
static char          **pStrOpt;
static unsigned int   *pColOpt;
static StringXString  *pStrCat;
static StringXNumber  *pNumCat;
static StringXArray   *pArrCat;
static StringXColor   *pColCat;

void  yyerror (char *s);
void  vyyerror (char *fmt, ...);

#line 60 "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		1490
#define	YYNTBASE	179
#define YYTRANSLATE(x) ((unsigned)(x) <= 414 ? yytranslate[x] : 255)

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,   167,     2,     2,     2,   164,     2,     2,   171,
   173,   162,   160,   172,   161,   176,   163,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,   156,
     2,   157,   146,     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,
   177,     2,   178,   168,     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,   174,     2,   175,     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,   147,
   148,   149,   150,   151,   152,   153,   154,   155,   158,   159,
   165,   166,   169,   170
};

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
     0,     2,     4,     6,     8,    30,    32,    33,    36,    38,
    40,    42,    45,    48,    51,    54,    57,    60,    68,    74,
    92,   102,   126,   158,   174,   186,   198,   214,   224,   238,
   248,   260,   274,   284,   294,   306,   316,   328,   338,   350,
   364,   378,   390,   404,   422,   432,   444,   456,   470,   482,
   492,   493,   496,   498,   500,   502,   504,   506,   508,   510,
   512,   514,   516,   518,   520,   522,   525,   533,   540,   549,
   550,   553,   556,   559,   562,   565,   568,   571,   574,   577,
   580,   583,   586,   588,   592,   593,   607,   609,   613,   614,
   628,   630,   634,   635,   649,   651,   655,   656,   676,   678,
   682,   683,   703,   705,   709,   710,   730,   732,   736,   737,
   763,   765,   769,   770,   796,   798,   802,   803,   829,   831,
   835,   836,   868,   870,   874,   875,   907,   909,   913,   914,
   946,   951,   955,   959,   964,   969,   974,   979,   986,   998,
  1005,  1017,  1024,  1036,  1043,  1055,  1062,  1074,  1081,  1093,
  1099,  1111,  1117,  1129,  1136,  1148,  1155,  1167,  1174,  1186,
  1195,  1203,  1212,  1225,  1232,  1238,  1246,  1254,  1267,  1275,
  1285,  1303,  1311,  1320,  1329,  1337,  1349,  1355,  1364,  1374,
  1383,  1406,  1427,  1436,  1445,  1451,  1460,  1468,  1477,  1483,
  1495,  1501,  1511,  1513,  1515,  1517,  1518,  1521,  1526,  1531,
  1535,  1539,  1542,  1546,  1549,  1553,  1560,  1569,  1571,  1573,
  1577,  1580,  1589,  1602,  1611,  1624,  1633,  1646,  1658,  1674,
  1676,  1679,  1689,  1692,  1699,  1709,  1719,  1728,  1737,  1746,
  1753,  1758,  1761,  1763,  1765,  1767,  1769,  1771,  1773,  1777,
  1780,  1783,  1786,  1790,  1794,  1798,  1802,  1806,  1810,  1814,
  1818,  1822,  1826,  1830,  1834,  1838,  1842,  1848,  1853,  1858,
  1863,  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1905,  1910,
  1915,  1920,  1925,  1930,  1935,  1942,  1949,  1956,  1958,  1960,
  1962,  1966,  1975,  1980,  1990,  1995,  2005,  2009,  2015,  2017,
  2020,  2023,  2027,  2031,  2043,  2053,  2061,  2069,  2073,  2082,
  2083,  2087,  2089,  2093,  2094,  2098,  2102,  2104,  2108,  2109,
  2111,  2115,  2117,  2119,  2123,  2127,  2137,  2145,  2151,  2153
static const short yyrhs[] = {   181,
     0,   180,     0,   186,     0,   137,     0,   140,   141,   243,
   243,   243,   142,   143,   139,   243,   243,   243,   139,   243,
   243,   243,   139,   243,   243,   243,   144,   145,     0,   138,
     0,     0,   181,   182,     0,   183,     0,   185,     0,   184,
     0,     1,     6,     0,   111,     6,     0,   112,     6,     0,
   114,     6,     0,   113,     6,     0,   115,     6,     0,   116,
   171,   248,   172,     5,   173,     6,     0,   117,   171,   248,
   173,     6,     0,   118,   171,     5,   172,     5,   172,   248,
   172,   248,   172,     5,   172,     5,   172,     5,   173,     6,
     0,     3,     7,    95,   171,     5,   172,   246,   173,     6,
     0,     3,     7,    94,   171,     5,   172,   243,   172,   252,
   172,   242,   172,   242,   172,   242,   172,   252,   172,   252,
   172,   242,   173,     6,     0,     3,     7,    93,   171,     5,
   172,   243,   172,   243,   172,   250,   172,   242,   172,   242,
   172,   242,   172,   242,   172,   252,   172,   252,   172,   252,
   172,   252,   172,   242,   173,     6,     0,     3,     7,   101,
   171,     5,   172,     3,   172,     3,   172,     3,   172,   242,
   173,     6,     0,     3,     7,   105,   171,     5,   172,     3,
   172,   242,   173,     6,     0,     3,     7,   122,   171,     5,
   172,     3,   172,   242,   173,     6,     0,     3,     7,   103,
   171,     5,   172,   162,   172,   162,   172,   243,   172,   242,
   173,     6,     0,     3,     7,   106,   171,     5,   172,   252,
   173,     6,     0,     3,     7,   107,   171,     5,   172,   252,
   172,     3,   172,   242,   173,     6,     0,     3,     7,   102,
   171,     5,   172,     3,   173,     6,     0,     3,     7,   108,
   171,     5,   172,     3,   172,   243,   173,     6,     0,     3,
     7,   110,   171,     5,   172,     3,   172,     3,   172,     3,
   173,     6,     0,     3,     7,   109,   171,     5,   172,   246,
   173,     6,     0,     3,     7,   104,   171,     5,   172,     3,
   173,     6,     0,     3,     7,    36,   171,     5,   172,     3,
   172,     3,   173,     6,     0,     3,     7,   120,   171,     5,
   172,   252,   173,     6,     0,     3,     7,   121,   171,     5,
   172,   252,   172,     3,   173,     6,     0,     3,     7,   119,
   171,     5,   172,     3,   173,     6,     0,     3,     7,   123,
   171,     5,   172,     3,   172,   243,   173,     6,     0,     3,
     7,   124,   171,     5,   172,     3,   172,   243,   172,   243,
   173,     6,     0,     3,     7,   131,   171,     5,   172,     3,
   172,   243,   172,   243,   173,     6,     0,     3,     7,   125,
   171,     5,   172,     3,   172,   243,   173,     6,     0,     3,
     7,   135,   171,     5,   172,     3,   172,   243,   172,   243,
   173,     6,     0,     3,     7,   126,   171,     5,   172,     3,
   172,   252,   172,   252,   172,   242,   172,   242,   173,     6,
     0,     3,     7,   127,   171,     5,   172,   252,   173,     6,
     0,     3,     7,   128,   171,   129,   172,   242,   172,     3,
   173,     6,     0,     3,     7,   130,   171,     5,   172,   252,
   172,   242,   173,     6,     0,     3,     7,   132,   171,     5,
   172,     5,   172,     3,   172,     3,   173,     6,     0,     3,
     7,   133,   171,     5,   172,     5,   172,     3,   173,     6,
     0,     3,     7,   134,   171,     3,   172,     3,   173,     6,
     0,     0,   186,   187,     0,   189,     0,   188,     0,   227,
     0,   228,     0,   229,     0,   232,     0,   233,     0,   237,
     0,   240,     0,   241,     0,   234,     0,   236,     0,   235,
     0,     1,     6,     0,    30,   171,     5,   172,   243,   173,
     6,     0,    63,     5,   174,   190,   175,     6,     0,    63,
     5,     4,   246,   174,   190,   175,     6,     0,     0,   190,
   192,     0,   190,   195,     0,   190,   198,     0,   190,   201,
     0,   190,   204,     0,   190,   207,     0,   190,   210,     0,
   190,   213,     0,   190,   216,     0,   190,   219,     0,   190,
   222,     0,   190,   225,     0,   243,     0,   191,   172,   243,
     0,     0,    75,   171,   243,   172,   243,   172,   243,   173,
   193,   174,   191,   175,     6,     0,   243,     0,   194,   172,
   243,     0,     0,    76,   171,   243,   172,   243,   172,   243,
   173,   196,   174,   194,   175,     6,     0,   243,     0,   197,
   172,   243,     0,     0,    77,   171,   243,   172,   243,   172,
   243,   173,   199,   174,   197,   175,     6,     0,   243,     0,
   200,   172,   243,     0,     0,    72,   171,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   173,   202,
   174,   200,   175,     6,     0,   243,     0,   203,   172,   243,
     0,     0,    73,   171,   243,   172,   243,   172,   243,   172,
   243,   172,   243,   172,   243,   173,   205,   174,   203,   175,
     6,     0,   243,     0,   206,   172,   243,     0,     0,    74,
   171,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   172,   243,   173,   208,   174,   206,   175,     6,     0,   243,
     0,   209,   172,   243,     0,     0,    69,   171,   243,   172,
   243,   172,   243,   172,   243,   172,   243,   172,   243,   172,
   243,   172,   243,   172,   243,   173,   211,   174,   209,   175,
     6,     0,   243,     0,   212,   172,   243,     0,     0,    70,
   171,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   173,   214,
   174,   212,   175,     6,     0,   243,     0,   215,   172,   243,
     0,     0,    71,   171,   243,   172,   243,   172,   243,   172,
   243,   172,   243,   172,   243,   172,   243,   172,   243,   172,
   243,   173,   217,   174,   215,   175,     6,     0,   243,     0,
   218,   172,   243,     0,     0,    66,   171,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   173,   220,   174,   218,   175,     6,     0,   243,     0,   221,
   172,   243,     0,     0,    67,   171,   243,   172,   243,   172,
   243,   172,   243,   172,   243,   172,   243,   172,   243,   172,
   243,   172,   243,   172,   243,   172,   243,   172,   243,   173,
   223,   174,   221,   175,     6,     0,   243,     0,   224,   172,
   243,     0,     0,    68,   171,   243,   172,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   172,   243,   172,   243,   172,   243,   172,   243,   173,   226,
   174,   224,   175,     6,     0,     4,     7,   243,     6,     0,
     4,   169,     6,     0,     4,   170,     6,     0,     4,   152,
   243,     6,     0,     4,   153,   243,     6,     0,     4,   154,
   243,     6,     0,     4,   155,   243,     6,     0,     4,   176,
     4,     7,     5,     6,     0,     4,   176,    63,   177,   243,
   178,   176,     4,     7,     5,     6,     0,     4,   176,     4,
     7,   243,     6,     0,     4,   176,    63,   177,   243,   178,
   176,     4,     7,   243,     6,     0,     4,   176,     4,   152,
   243,     6,     0,     4,   176,    63,   177,   243,   178,   176,
     4,   152,   243,     6,     0,     4,   176,     4,   153,   243,
     6,     0,     4,   176,    63,   177,   243,   178,   176,     4,
   153,   243,     6,     0,     4,   176,     4,   154,   243,     6,
     0,     4,   176,    63,   177,   243,   178,   176,     4,   154,
   243,     6,     0,     4,   176,     4,   155,   243,     6,     0,
     4,   176,    63,   177,   243,   178,   176,     4,   155,   243,
     6,     0,     4,   176,     4,   169,     6,     0,     4,   176,
    63,   177,   243,   178,   176,     4,   169,   243,     6,     0,
     4,   176,     4,   170,     6,     0,     4,   176,    63,   177,
   243,   178,   176,     4,   170,   243,     6,     0,     4,   176,
     4,     7,   246,     6,     0,     4,   176,    63,   177,   243,
   178,   176,     4,     7,   246,     6,     0,     4,   176,     4,
   152,   246,     6,     0,     4,   176,    63,   177,   243,   178,
   176,     4,   152,   246,     6,     0,     4,   176,     4,   153,
   246,     6,     0,     4,   176,    63,   177,   243,   178,   176,
     4,   153,   246,     6,     0,     4,   176,    84,   176,     4,
     7,   254,     6,     0,    33,   171,   243,   173,     7,   246,
     6,     0,    48,    33,   171,   243,   173,     7,   252,     6,
     0,    64,    33,   252,     7,   174,   243,   172,   243,   172,
   243,   175,     6,     0,    40,    41,   252,     7,   243,     6,
     0,    33,   174,   243,   175,     6,     0,    36,   171,   243,
   173,     7,   252,     6,     0,    38,   171,   243,   173,     7,
   252,     6,     0,    64,    36,   252,     7,   174,   243,   172,
   243,   172,   243,   175,     6,     0,    34,   171,   243,   173,
     7,   252,     6,     0,    34,   171,   243,   173,     7,   252,
    44,   246,     6,     0,    42,   171,   243,   173,     7,   174,
   243,   172,   243,   172,     5,   172,     5,   172,     5,   175,
     6,     0,    35,   171,   243,   173,     7,   252,     6,     0,
    48,    36,   171,   243,   173,     7,   252,     6,     0,    36,
    58,   171,   243,   173,     7,   252,     6,     0,    78,   171,
   243,   173,     7,   252,     6,     0,    79,   171,   243,   173,
     7,   252,    83,   252,    80,   243,     6,     0,    36,   174,
   243,   175,     6,     0,    44,    37,   171,   243,   173,     7,
   252,     6,     0,   136,    37,   171,   243,   173,     7,   243,
   252,     6,     0,    45,    37,   171,   243,   173,     7,   252,
     6,     0,    79,    37,    81,    82,   171,   243,   173,     7,
   250,    83,   174,   252,   172,   252,   175,    80,   174,   243,
   172,   243,   175,     6,     0,    79,    37,   171,   243,   173,
     7,   250,    83,   174,   252,   172,   252,   175,    80,   174,
   243,   172,   243,   175,     6,     0,    48,    37,   171,   243,
   173,     7,   252,     6,     0,    37,    58,   171,   243,   173,
     7,   252,     6,     0,    37,   174,   243,   175,     6,     0,
    47,    39,   171,   243,   173,     7,   252,     6,     0,    39,
   171,   243,   173,     7,   252,     6,     0,    48,    39,   171,
   243,   173,     7,   252,     6,     0,    53,   246,   174,   230,
   175,     0,    52,   174,   246,   172,   246,   172,   243,   175,
   174,   230,   175,     0,    54,   246,   174,   230,   175,     0,
    55,   174,   246,   172,   243,   175,   174,   230,   175,     0,
   232,     0,   231,     0,   229,     0,     0,   231,   228,     0,
    57,   174,   231,   175,     0,    61,   174,   231,   175,     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    59,     5,     6,     0,    30,     5,     6,     0,    88,     6,
     0,    89,     5,     6,     0,    31,     6,     0,    32,   243,
     6,     0,    85,   171,   243,     8,   243,   173,     0,    85,
   171,   243,     8,   243,     8,   243,   173,     0,    86,     0,
    90,     0,    91,     4,     6,     0,    92,     4,     0,    56,
    33,   174,   243,   172,   246,   175,     6,     0,    56,    33,
   174,   243,   172,   246,   172,   246,   172,   243,   175,     6,
     0,    56,    36,   174,   243,   172,   246,   175,     6,     0,
    56,    36,   174,   243,   172,   246,   172,   246,   172,   243,
   175,     6,     0,    56,    37,   174,   243,   172,   246,   175,
     6,     0,    56,    37,   174,   243,   172,   246,   172,   246,
   172,   243,   175,     6,     0,    56,    37,   174,   243,   172,
   246,   175,   174,   238,   175,     6,     0,    56,    37,   174,
   243,   172,   246,   172,   246,   172,   243,   175,   174,   238,
   175,     6,     0,   239,     0,   238,   239,     0,    65,   174,
   252,   172,   252,   172,   252,   175,     6,     0,    60,     6,
     0,    46,    36,   252,     7,   243,     6,     0,    46,    36,
   252,     7,   243,    49,    51,   243,     6,     0,    46,    36,
   252,     7,   243,    49,    50,   243,     6,     0,    46,    37,
   174,   243,   175,     7,   252,     6,     0,    43,    37,   174,
   243,   175,     7,   252,     6,     0,    46,    39,   174,   243,
   175,     7,   252,     6,     0,    60,    37,   252,     7,   243,
     6,     0,    60,    37,   252,     6,     0,    62,     6,     0,
    96,     0,    97,     0,    98,     0,    99,     0,   100,     0,
   244,     0,   171,   243,   173,     0,   161,   243,     0,   160,
   243,     0,   167,   243,     0,   243,   161,   243,     0,   243,
   160,   243,     0,   243,   162,   243,     0,   243,   163,   243,
     0,   243,   164,   243,     0,   243,   168,   243,     0,   243,
   156,   243,     0,   243,   157,   243,     0,   243,   158,   243,
     0,   243,   159,   243,     0,   243,   150,   243,     0,   243,
   149,   243,     0,   243,   147,   243,     0,   243,   148,   243,
     0,   243,   146,   243,     8,   243,     0,    10,   171,   243,
   173,     0,    11,   171,   243,   173,     0,    12,   171,   243,
   173,     0,    13,   171,   243,   173,     0,    14,   171,   243,
   173,     0,    15,   171,   243,   173,     0,    16,   171,   243,
   173,     0,    17,   171,   243,   173,     0,    18,   171,   243,
   173,     0,    19,   171,   243,   173,     0,    20,   171,   243,
   172,   243,   173,     0,    21,   171,   243,   173,     0,    22,
   171,   243,   173,     0,    23,   171,   243,   173,     0,    24,
   171,   243,   173,     0,    25,   171,   243,   173,     0,    26,
   171,   243,   173,     0,    27,   171,   243,   172,   243,   173,
     0,    28,   171,   243,   172,   243,   173,     0,    29,   171,
   243,   172,   243,   173,     0,     3,     0,     9,     0,     4,
     0,     4,   176,     4,     0,     4,   176,    63,   177,   243,
   178,   176,     4,     0,     4,   176,     4,   169,     0,     4,
   176,    63,   177,   243,   178,   176,     4,   169,     0,     4,
   176,     4,   170,     0,     4,   176,    63,   177,   243,   178,
   176,     4,   170,     0,   243,     8,   243,     0,   243,     8,
   243,     8,   243,     0,   247,     0,   161,   246,     0,   160,
   246,     0,   246,   161,   246,     0,   246,   160,   246,     0,
   174,   243,   172,   243,   172,   243,   172,   243,   172,   243,
   175,     0,   174,   243,   172,   243,   172,   243,   172,   243,
   175,     0,   174,   243,   172,   243,   172,   243,   175,     0,
   171,   243,   172,   243,   172,   243,   173,     0,     4,   176,
     4,     0,     4,   176,    63,   177,   243,   178,   176,     4,
     0,     0,   171,   249,   173,     0,     5,     0,   249,   172,
     5,     0,     0,   174,   251,   175,     0,   171,   251,   173,
     0,   252,     0,   251,   172,   252,     0,     0,   243,     0,
   174,   253,   175,     0,   243,     0,   245,     0,   253,   172,
   243,     0,   253,   172,   245,     0,   174,   243,   172,   243,
   172,   243,   172,   243,   175,     0,   174,   243,   172,   243,
   172,   243,   175,     0,   174,     4,   172,   243,   175,     0,
     4,     0,     4,   176,    84,   176,     4,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   140,   142,   143,   150,   158,   172,   184,   186,   189,   191,
   192,   193,   196,   202,   207,   208,   209,   212,   216,   219,
   225,   230,   236,   244,   249,   253,   259,   264,   268,   273,
   277,   280,   285,   289,   293,   297,   302,   306,   309,   313,
   317,   321,   325,   329,   333,   336,   340,   343,   347,   350,
   359,   363,   369,   371,   372,   373,   374,   375,   376,   377,
   378,   379,   380,   381,   383,   384,   387,   398,   403,   409,
   414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   424,   425,   428,   431,   435,   441,   447,   450,   454,   460,
   466,   469,   473,   479,   485,   488,   492,   500,   506,   509,
   513,   521,   527,   530,   534,   542,   548,   551,   555,   567,
   573,   576,   580,   592,   598,   601,   605,   617,   623,   626,
   630,   643,   649,   652,   656,   669,   675,   678,   682,   695,
   707,   717,   725,   733,   741,   749,   757,   768,   781,   799,
   816,   837,   854,   875,   892,   913,   930,   951,   968,   989,
  1006,  1027,  1044,  1067,  1092,  1121,  1146,  1175,  1200,  1231,
  1251,  1262,  1268,  1287,  1298,  1306,  1312,  1318,  1337,  1343,
  1359,  1366,  1372,  1378,  1384,  1390,  1409,  1421,  1427,  1446,
  1467,  1475,  1481,  1487,  1493,  1505,  1511,  1517,  1529,  1535,
  1540,  1545,  1552,  1554,  1555,  1558,  1563,  1574,  1592,  1607,
  1635,  1666,  1670,  1676,  1681,  1695,  1710,  1723,  1742,  1749,
  1756,  1785,  1791,  1797,  1801,  1805,  1809,  1813,  1818,  1825,
  1829,  1834,  1852,  1862,  1880,  1897,  1914,  1935,  1955,  1975,
  1992,  2016,  2029,  2031,  2032,  2033,  2034,  2037,  2039,  2040,
  2041,  2042,  2043,  2044,  2045,  2046,  2047,  2048,  2049,  2050,
  2051,  2052,  2053,  2054,  2055,  2056,  2057,  2058,  2059,  2060,
  2061,  2062,  2063,  2064,  2065,  2066,  2067,  2068,  2069,  2070,
  2071,  2072,  2073,  2074,  2075,  2076,  2077,  2080,  2082,  2083,
  2092,  2109,  2130,  2147,  2168,  2185,  2207,  2214,  2227,  2232,
  2236,  2240,  2244,  2249,  2254,  2258,  2262,  2266,  2292,  2324,
  2328,  2333,  2337,  2342,  2346,  2350,  2356,  2362,  2368,  2372,
  2378,  2385,  2391,  2400,  2404,  2414,  2419,  2423,  2428,  2433
};
#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",
"tSin","tAsin","tCos","tAcos","tTan","tAtan","tAtan2","tSinh","tCosh","tTanh",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPrintf","tDraw","tSleep",
"tPoint","tCircle","tEllipsis","tLine","tSurface","tSpline","tVolume","tCharacteristic",
"tLength","tParametric","tElliptic","tPlane","tRuled","tTransfinite","tComplex",
"tPhysical","tUsing","tBump","tProgression","tRotate","tTranslate","tSymmetry",
"tDilate","tExtrude","tDuplicata","tLoop","tInclude","tRecombine","tDelete",
"tCoherence","tView","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron",
"tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine",
"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline",
"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tFor","tEndFor","tScript",
"tExit","tMerge","tReturn","tCall","tFunction","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","'?'","tAND","tOR","tNOTEQUAL","tEQUAL","tAPPROXEQUAL",
"tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE","'<'","'>'","tLESSOREQUAL",
"tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","UNARYPREC",
"'!'","'^'","tPLUSPLUS","tMINUSMINUS","'('","','","')'","'{'","'}'","'.'","'['",
"']'","All","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","Affectation","Shape","Transform",
"MultipleShape","ListOfShapes","Duplicata","Delete","Macro","Command","Loop",
"Extrude","ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr",
"FExpr","FExpr_Single","FExpr_Range","VExpr","VExpr_Single","ListOfStrings",
"RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble",
"ListOfDouble","RecursiveListOfDouble","Color", NULL
   179,   179,   179,   180,   180,   180,   181,   181,   182,   182,
   182,   182,   183,   183,   183,   183,   183,   184,   184,   184,
   185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
   185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
   185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
   186,   186,   187,   187,   187,   187,   187,   187,   187,   187,
   187,   187,   187,   187,   187,   187,   188,   189,   189,   190,
   190,   190,   190,   190,   190,   190,   190,   190,   190,   190,
   190,   190,   191,   191,   193,   192,   194,   194,   196,   195,
   197,   197,   199,   198,   200,   200,   202,   201,   203,   203,
   205,   204,   206,   206,   208,   207,   209,   209,   211,   210,
   212,   212,   214,   213,   215,   215,   217,   216,   218,   218,
   220,   219,   221,   221,   223,   222,   224,   224,   226,   225,
   227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
   227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
   227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
   228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
   228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
   228,   228,   228,   228,   228,   228,   228,   228,   229,   229,
   229,   229,   230,   230,   230,   231,   231,   232,   233,   234,
   235,   235,   235,   235,   235,   236,   236,   236,   236,   236,
   236,   237,   237,   237,   237,   237,   237,   237,   237,   238,
   238,   239,   239,   240,   240,   240,   240,   240,   240,   240,
   240,   241,   242,   242,   242,   242,   242,   243,   243,   243,
   243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
   243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
   243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
   243,   243,   243,   243,   243,   243,   243,   244,   244,   244,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   244,   244,   244,   244,   244,   244,   245,   245,   246,   246,
   246,   246,   246,   247,   247,   247,   247,   247,   247,   248,
   248,   249,   249,   250,   250,   250,   251,   251,   252,   252,
   252,   253,   253,   253,   253,   254,   254,   254,   254,   254
};

static const short yyr2[] = {     0,
     1,     1,     1,     1,    21,     1,     0,     2,     1,     1,
     1,     2,     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,     1,     2,     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,
     4,     3,     3,     4,     4,     4,     4,     6,    11,     6,
    11,     6,    11,     6,    11,     6,    11,     6,    11,     5,
    11,     5,    11,     6,    11,     6,    11,     6,    11,     8,
     7,     8,    12,     6,     5,     7,     7,    12,     7,     9,
    17,     7,     8,     8,     7,    11,     5,     8,     9,     8,
    22,    20,     8,     8,     5,     8,     7,     8,     5,    11,
     5,     9,     1,     1,     1,     0,     2,     4,     4,     3,
     3,     2,     3,     2,     3,     6,     8,     1,     1,     3,
     2,     8,    12,     8,    12,     8,    12,    11,    15,     1,
     2,     9,     2,     6,     9,     9,     8,     8,     8,     6,
     4,     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,     1,     1,     1,
     3,     8,     4,     9,     4,     9,     3,     5,     1,     2,
     2,     3,     3,    11,     9,     7,     7,     3,     8,     0,
     3,     1,     3,     0,     3,     3,     1,     3,     0,     1,
     3,     1,     1,     3,     3,     9,     7,     5,     1,     5
     4,     6,     0,     2,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     8,     9,    11,
    10,     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,   208,     0,     0,   209,
     0,     0,     0,    52,    54,    53,    55,    56,    57,    58,
    59,    63,    65,    64,    60,    61,    62,   278,   280,   279,
     0,     0,     0,     0,     0,   238,    12,     0,    13,    14,
    16,    15,    17,   300,   300,     0,    66,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   204,     0,     0,
   309,     0,     0,     0,     0,   309,     0,     0,     0,     0,
   289,     0,     0,     0,     0,     0,   196,     0,   309,   196,
   232,     0,   309,   309,     0,     0,     0,     0,   202,     0,
     0,   211,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   241,   240,   242,     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,   132,   133,     0,     0,     0,   201,     0,
   205,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   310,     0,     0,     0,     0,
     0,   291,   290,     0,     0,     0,     0,   196,   196,     0,
     0,     0,     0,     0,   200,     0,     0,     0,    70,     0,
     0,     0,     0,     0,     0,     0,   203,   210,     0,   281,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   239,     0,   255,   256,   254,   253,   249,   250,   251,
   252,   241,   240,   245,   246,   247,   248,     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,   131,   134,   135,   136,   137,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   244,   243,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   312,   313,     0,     0,     0,     0,     0,     0,     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,   298,     0,
     0,     0,   293,   292,   195,     0,   194,   193,     0,     0,
     0,     0,     0,   198,   197,   231,     0,   199,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   283,   285,
     0,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   267,     0,   269,   270,   271,   272,   273,   274,     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,   301,     0,    19,     0,   280,     0,
     0,   150,   152,     0,     0,     0,     0,   165,   309,   309,
     0,   309,   177,     0,   185,   309,   309,     0,     0,   311,
     0,     0,     0,     0,     0,     0,     0,   189,   191,     0,
     0,     0,     0,     0,    70,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
     0,     0,   309,     0,     0,   309,     0,     0,     0,     0,
     0,     0,     0,   257,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   309,   309,     0,     0,     0,     0,
   309,   309,     0,     0,     0,     0,     0,   309,     0,   309,
     0,     0,     0,     0,     0,   303,     0,   300,     0,   138,
     0,   140,   154,   142,   156,   144,   158,   146,   148,     0,
     0,     0,     0,     0,     0,   309,     0,   309,     0,     0,
   287,   314,   315,   164,     0,   309,   309,   309,   224,     0,
   309,   309,   309,   309,   309,   309,   309,     0,     0,     0,
     0,     0,     0,     0,     0,   230,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    68,
     0,     0,     0,     0,   304,     0,     0,   206,     0,     0,
   268,   275,   276,   277,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
   235,   236,   237,     0,     0,     0,     0,     0,     0,     0,
    18,     0,   281,     0,     0,   319,     0,     0,    67,   161,
   169,     0,   172,     0,   166,     0,   167,   187,     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,   196,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   175,     0,
   309,   309,     0,   309,     0,   309,     0,     0,     0,     0,
   309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   309,
     0,     0,     0,     0,     0,     0,     0,     0,   300,     0,
     0,     0,   280,     0,   160,     0,   174,   184,   288,     0,
   228,   178,   180,     0,     0,   227,   229,   186,   162,   173,
   183,   188,     0,     0,   297,     0,   296,     0,     0,   212,
     0,   214,     0,   216,     0,    69,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   304,     0,   307,     0,     0,     0,   207,     0,   282,     0,
     0,     0,     0,    21,     0,    30,     0,    34,     0,    28,
     0,     0,    33,     0,    38,    36,     0,     0,     0,     0,
     0,     0,    45,     0,     0,     0,     0,     0,    50,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   170,     0,   226,   225,   196,   299,     0,   192,
     0,     0,     0,     0,     0,     0,   220,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   309,   306,   305,   309,     0,   179,   284,   286,
     0,     0,   304,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   309,     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,   295,     0,     0,     0,   223,   309,     0,   221,     0,
     0,     0,     0,     0,   308,     0,     0,     0,    35,     0,
     0,     0,     0,    25,     0,    31,     0,    37,    26,    39,
     0,    42,     0,    46,    47,     0,     0,    49,     0,     0,
     0,   139,   141,   155,   143,   157,   145,   159,   147,   149,
   151,   153,   320,   318,     0,     0,   190,     0,     0,     0,
     0,     0,   218,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   309,   309,   176,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   282,     0,     0,   294,   213,   215,   217,
     0,   309,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    85,    89,    93,   163,   168,     0,     0,     0,     0,
     0,     0,     0,    29,    32,    40,     0,    41,    48,    43,
     0,     0,   317,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   309,     0,
   309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    24,    27,
     0,     0,   316,     0,   219,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,    83,     0,    87,     0,
    91,     0,     0,     0,     0,   309,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    44,    20,   171,   222,     0,     0,     0,     0,     0,     0,
     0,     0,     0,    84,    86,    88,    90,    92,    94,     0,
     0,     0,     0,   309,     0,     0,     0,     0,     0,     0,
    97,   101,   105,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     5,
   309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   182,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    95,     0,    99,     0,   103,     0,   309,     0,
     0,     0,   181,     0,    22,     0,     0,     0,     0,     0,
     0,    96,    98,   100,   102,   104,   106,   309,     0,     0,
     0,   109,   113,   117,     0,     0,     0,     0,     0,     0,
     0,   309,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   107,     0,   111,     0,   115,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   108,   110,   112,   114,   116,   118,     0,   121,
   125,   129,    23,     0,     0,     0,     0,     0,     0,     0,
   119,     0,   123,     0,   127,     0,     0,     0,     0,     0,
     0,   120,   122,   124,   126,   128,   130,     0,     0,     0
static const short yydefgoto[] = {  1488,
     4,     5,    18,    19,    20,    21,     6,    64,    65,    66,
   470,  1266,   609,  1216,  1268,   610,  1217,  1270,   611,  1218,
  1372,   612,  1345,  1374,   613,  1346,  1376,   614,  1347,  1433,
   615,  1419,  1435,   616,  1420,  1437,   617,  1421,  1470,   618,
  1464,  1472,   619,  1465,  1474,   620,  1466,    67,   465,   455,
   456,   457,   458,    71,    72,    73,    74,    75,   996,   997,
    76,    77,   774,   286,   106,   433,   302,   161,   256,   400,
   843,   932,   933,   434,   788
static const short yypact[] = {   350,
-32768,-32768,   -36,-32768,   426,  2200,  1195,   135,    94,   137,
   144,   156,   163,   169,  -144,    50,    78,-32768,-32768,-32768,
-32768,   289,    99,    30,   303,  1195,  -100,   145,   150,   -35,
   -40,   183,   193,   332,   237,   347,   377,   384,   319,   393,
    27,   267,     3,     3,   272,    83,   299,   437,   442,   309,
   478,   486,   227,   326,   -29,   327,-32768,   496,   498,-32768,
   500,   504,   472,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   357,-32768,
   375,   378,   379,   380,   381,   389,   392,   403,   404,   405,
   408,   413,   414,   415,   417,   418,   419,   420,   421,   422,
  1195,  1195,  1195,  1195,  1482,-32768,-32768,  2236,-32768,-32768,
-32768,-32768,-32768,   423,   423,   548,-32768,  1195,  1195,  1195,
  1195,  1195,   558,   574,    20,   590,   594,-32768,   627,  1195,
  1195,  1195,  1195,   430,  1195,  1195,   431,  1195,  1195,  1195,
   730,  1195,   429,   447,   449,   730,   439,   445,   450,   451,
   453,   455,   461,     3,   458,     3,     3,  1195,  1195,   -92,
-32768,   -81,     3,   462,   463,   470,-32768,   619,   730,-32768,
-32768,    -1,   730,   730,  1195,   -68,  1195,  1195,-32768,   629,
   639,-32768,   475,    12,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,  1195,  1195,  1195,   479,   479,   479,  2857,  1195,  1195,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,  1195,  1195,  1482,   477,   487,   488,   489,   494,   497,
   499,   501,   503,   506,   507,   508,   510,   512,   513,   514,
   515,   516,   518,   528,   529,   535,   536,   537,   538,   539,
   552,   553,   554,   555,   659,   495,   532,   556,   676,   973,
  1295,  1366,  1390,-32768,-32768,   103,   550,   559,-32768,   557,
-32768,  1195,  1195,  2885,  2355,  2913,  2941,  1195,  2969,  2378,
  1195,  2401,  2997,  3025,  1195,  7529,   664,  3053,  1195,  1195,
  1195,   668,  1195,  1195,  1195,  1195,  1195,  1195,  1195,   -23,
    18,-32768,-32768,  4621,  4648,     3,     3,   382,   382,    -5,
  1195,  1195,  1195,  2130,-32768,    84,  2148,     3,-32768,   724,
   729,  3081,   655,  1195,  3109,  1029,-32768,-32768,  1195,   124,
   583,  3137,  3165,  3193,  3221,  3249,  3277,  3305,  3333,  3361,
  3389,  4675,  3417,  3445,  3473,  3501,  3529,  3557,  4702,  4729,
  4756,-32768,  1943,   448,   448,   534,   534,   256,   256,   256,
   256,   -28,   -20,   479,   479,   479,   479,  4783,   756,   757,
   758,   759,   761,   762,   763,   764,   765,   766,   767,   773,
   774,   776,   788,   789,   791,   794,   795,   796,   797,   798,
   799,   677,   800,   802,   804,   806,   810,   809,-32768,   -55,
   811,   812,   814,-32768,-32768,-32768,-32768,-32768,   315,   927,
   927,  1195,  1195,   815,   821,  1195,   813,  1195,   117,   117,
   808,   822,   835,   838,  3585,   839,   823,  3613,   841,   842,
   843,  1966,-32768,    95,  1195,   844,  2424,  3641,  3669,  1195,
  2447,  2470,  3697,  3725,  3753,  3781,  3809,     3,-32768,   643,
  1195,  1195,-32768,-32768,-32768,   673,  1011,-32768,   679,  1195,
  4806,  4833,  4860,-32768,-32768,-32768,  1195,-32768,   -75,   -30,
   678,   681,   849,   686,  3837,   851,  1195,  3865,-32768,-32768,
  1195,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,  1195,-32768,-32768,-32768,-32768,-32768,-32768,  1195,  1195,
  1195,  1195,   716,   691,   692,   693,   694,   696,   697,   698,
   700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
   712,   713,   714,   715,   717,   720,   721,   722,   723,   726,
   728,   731,   733,   883,-32768,   734,-32768,   736,   746,   890,
   927,   927,  1195,  1416,    -2,  1459,     0,  1549,     5,  1575,
  1598,-32768,-32768,  2150,   895,  3893,     3,-32768,   730,   730,
   899,   730,-32768,   902,-32768,   730,   730,  1195,  1195,-32768,
  1627,   749,   917,   918,   919,   409,   920,   921,   922,   925,
   928,   950,   951,   151,  1195,  4887,  4914,-32768,-32768,  2493,
     3,     3,     3,  1650,-32768,   790,   805,   807,   816,   817,
   818,   819,   820,   824,   825,   826,   827,   953,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1195,  1195,   730,  1195,   955,   730,   493,   966,  2226,  3921,
  3949,  3977,  4005,  7529,   853,   931,  1195,  1195,     3,   957,
   974,   831,   977,   978,   730,   730,   979,     3,   980,   991,
   730,   730,   996,   997,   998,   999,  1002,   730,   351,   730,
  1003,  1004,  1006,  1005,  1009,-32768,  1001,   423,    21,-32768,
  2829,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   846,
    24,  1012,    59,    23,  1017,   730,  1018,   730,  1019,  1020,
  1994,  1966,-32768,-32768,  1195,   730,   730,   730,-32768,   264,
   730,   730,   730,   730,   730,   730,   730,  1195,  2249,  1195,
  1195,   854,   -99,   -83,   138,-32768,   -18,  1195,  1195,  1195,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,-32768,
  4941,  4968,  1023,  4033,   178,   932,  1195,-32768,  1195,   855,
-32768,-32768,-32768,-32768,  1195,   845,  4995,  5022,   -73,   858,
   860,   862,   863,   866,   867,   869,   870,   -52,   871,   879,
   884,   888,   889,   904,   906,   907,   910,   911,-32768,-32768,
-32768,-32768,-32768,   913,   914,   923,   924,   930,   934,   936,
-32768,   937,   124,   885,  1035,   915,  1234,  1077,-32768,-32768,
-32768,     3,-32768,  1086,-32768,  1087,-32768,-32768,  1195,  5049,
  1091,  1097,  1098,  1195,  1195,  1104,  1105,  1107,  1109,  1110,
  1111,  1118,  2516,   949,  4061,  1518,   382,     3,  1120,     3,
  1121,     3,    25,  1122,  5076,  5103,  5130,  5157,  5184,  5211,
  5238,  5265,  5292,  5319,  5346,  5373,  1195,  1195,-32768,  1131,
   730,   730,  1056,   730,  4089,   219,  1139,  1482,  1142,  1195,
   730,  1140,  1145,  1143,   992,  1147,   351,  1156,  1160,  1195,
  1158,  1162,  1174,  1175,  1180,   351,  1195,  1195,  1195,   730,
  1178,  1191,   351,  1195,  1193,  1197,  1196,  1195,   423,  1195,
   243,  1117,  -146,  5400,-32768,    64,-32768,-32768,  7529,  1195,
-32768,-32768,-32768,  1678,  1709,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,  1066,  1199,-32768,  1195,-32768,  1067,   185,-32768,
   187,-32768,   200,-32768,   199,-32768,  1195,  1195,  1195,  1195,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  5427,  5454,
   178,   190,-32768,   213,  1090,  1161,-32768,  1259,   261,  1482,
  1095,  5481,  1099,-32768,  1100,-32768,  1101,-32768,  1096,-32768,
  1112,  4117,-32768,  1114,-32768,-32768,  1115,  1116,  4145,  5508,
  4173,  1123,-32768,  1119,  1124,  5535,  1127,  1129,-32768,  5562,
  1132,  2272,   502,   927,   927,  1195,  1195,  1195,  1195,  1094,
  1195,  1195,-32768,  5589,-32768,-32768,   382,-32768,  2295,-32768,
  1195,  1195,  1195,  1284,  1133,   -48,-32768,  5616,  5643,  5670,
  5697,  5724,  5751,  5778,  5805,  5832,  5859,  5886,  5913,  1195,
  1195,  1210,   730,-32768,-32768,   730,  1195,-32768,-32768,-32768,
  2546,  1288,   178,   351,  1293,  1195,  1297,   351,  1300,  1305,
  1303,  1304,  1306,  1195,  1309,   730,  1310,  1311,  1195,  1308,
  1319,  1195,  1321,  1151,  1322,  1734,    66,  1757,   101,  1786,
   116,  1809,  1837,  1868,  1893,  1325,  2569,  5940,  1326,  1155,
  1195,-32768,  2592,  2615,  2638,-32768,   730,  1327,-32768,  1195,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,  2661,  2684,  1163,-32768,  1164,  1916,  1195,-32768,  1166,
  1167,  1168,  5967,-32768,  1159,-32768,  1169,-32768,-32768,-32768,
  4201,-32768,  1171,-32768,-32768,  4229,  1172,-32768,  4257,  1185,
  1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,  1195,  1186,-32768,  2707,  1329,  1338,
    26,  1187,-32768,  5994,  6021,  6048,  6075,  6102,  6129,  6156,
  6183,  6210,  4285,  4313,  4341,  1354,  1355,   730,   730,-32768,
  1482,   351,   351,   351,   351,  1357,  1358,  1359,   351,  1361,
  1362,  1363,  1365,   261,  2325,  1368,-32768,-32768,-32768,-32768,
   199,   730,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,-32768,-32768,-32768,-32768,-32768,  1209,  1208,  1482,  1213,
  1214,  1198,  1215,-32768,-32768,-32768,  1217,-32768,-32768,-32768,
  1218,  1195,-32768,  1219,   -45,  1220,  6237,  6264,  6291,  6318,
  6345,  6372,  6399,  6426,  6453,  1223,  1224,  1225,   730,  1307,
  2737,   351,   351,  1387,  1394,   351,  1401,  2760,  1402,  1403,
   730,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1195,  1195,  1195,  1233,  1236,  1195,  1239,  1240,-32768,-32768,
  1241,  1242,-32768,  1238,-32768,  1248,  6480,  6507,  6534,  6561,
  6588,  6615,  6642,  6669,  6696,   217,  7529,   235,  7529,   250,
  7529,  1344,  1195,  1482,   351,   730,  1419,  1420,  1421,  1422,
  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,  1195,
  1423,  1195,  1424,  1195,  1425,  1258,  6723,  1482,  1265,  1267,
-32768,-32768,-32768,-32768,  6750,  6777,  6804,  6831,  6858,  6885,