Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 225 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	tDraw	287
#define	tPoint	288
#define	tCircle	289
#define	tEllipsis	290
#define	tLine	291
#define	tSurface	292
#define	tSpline	293
#define	tVolume	294
#define	tCharacteristic	295
#define	tLength	296
#define	tParametric	297
#define	tElliptic	298
#define	tPlane	299
#define	tRuled	300
#define	tTransfinite	301
#define	tComplex	302
#define	tPhysical	303
#define	tUsing	304
#define	tBump	305
#define	tProgression	306
#define	tRotate	307
#define	tTranslate	308
#define	tSymmetry	309
#define	tDilate	310
#define	tExtrude	311
#define	tDuplicata	312
#define	tLoop	313
#define	tRecombine	314
#define	tDelete	315
#define	tCoherence	316
#define	tIntersect	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	tColorTable	339
#define	tFor	340
#define	tIn	341
#define	tEndFor	342
#define	tIf	343
#define	tEndIf	344
#define	tExit	345
#define	tReturn	346
#define	tCall	347
#define	tFunction	348
#define	tMesh	349
#define	tB_SPLINE_SURFACE_WITH_KNOTS	350
#define	tB_SPLINE_CURVE_WITH_KNOTS	351
#define	tCARTESIAN_POINT	352
#define	tTRUE	353
#define	tFALSE	354
#define	tUNSPECIFIED	355
#define	tU	356
#define	tV	357
#define	tEDGE_CURVE	358
#define	tVERTEX_POINT	359
#define	tORIENTED_EDGE	360
#define	tPLANE	361
#define	tFACE_OUTER_BOUND	362
#define	tEDGE_LOOP	363
#define	tADVANCED_FACE	364
#define	tVECTOR	365
#define	tDIRECTION	366
#define	tAXIS2_PLACEMENT_3D	367
#define	tISO	368
#define	tENDISO	369
#define	tENDSEC	370
#define	tDATA	371
#define	tHEADER	372
#define	tFILE_DESCRIPTION	373
#define	tFILE_SCHEMA	374
#define	tFILE_NAME	375
#define	tMANIFOLD_SOLID_BREP	376
#define	tCLOSED_SHELL	377
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	378
#define	tFACE_BOUND	379
#define	tCYLINDRICAL_SURFACE	380
#define	tCONICAL_SURFACE	381
#define	tCIRCLE	382
#define	tTRIMMED_CURVE	383
#define	tGEOMETRIC_SET	384
#define	tCOMPOSITE_CURVE_SEGMENT	385
#define	tCONTINUOUS	386
#define	tCOMPOSITE_CURVE	387
#define	tTOROIDAL_SURFACE	388
#define	tPRODUCT_DEFINITION	389
#define	tPRODUCT_DEFINITION_SHAPE	390
#define	tSHAPE_DEFINITION_REPRESENTATION	391
#define	tELLIPSE	392
#define	tTrimmed	393
#define	tSolid	394
#define	tEndSolid	395
#define	tVertex	396
#define	tFacet	397
#define	tNormal	398
#define	tOuter	399
#define	tLoopSTL	400
#define	tEndLoop	401
#define	tEndFacet	402
#define	tAFFECTPLUS	403
#define	tAFFECTMINUS	404
#define	tAFFECTTIMES	405
#define	tAFFECTDIVIDE	406
#define	tOR	407
#define	tAND	408
#define	tEQUAL	409
#define	tNOTEQUAL	410
#define	tAPPROXEQUAL	411
#define	tLESSOREQUAL	412
#define	tGREATEROREQUAL	413
#define	tCROSSPRODUCT	414
#define	tPLUSPLUS	415
#define	tMINUSMINUS	416
#define	UNARYPREC	417
// $Id: Gmsh.tab.cpp,v 1.77 2001-03-09 08:16:31 geuzaine 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 "OpenFile.h"
#include "FunctionManager.h"
#include "ColorTable.h"
#include "Timer.h"
#include "CreateFile.h"
#ifdef __DECCXX // bug in bison
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include <alloca.h>
#endif

int     Force_ViewNumber = 0 ;
List_T *Symbol_L;
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 List_T         *ListOfDouble_L,*ListOfDouble2_L;
static List_T         *ListOfListOfDouble_L, *ListOfColor_L=NULL;
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 69 "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		1491
#define YYTRANSLATE(x) ((unsigned)(x) <= 417 ? yytranslate[x] : 263)

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,   169,     2,     2,     2,   167,     2,     2,   174,
   175,   165,   163,   179,   164,   178,   166,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,   159,
     2,   161,   153,     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,
   176,     2,   177,   173,     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,   180,     2,   181,     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,   154,   155,   156,   157,
   158,   160,   162,   168,   170,   171,   172
};

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     2,     4,     6,     9,    11,    33,    35,    36,    39,
    41,    43,    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,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   512,   514,   516,   518,   520,   526,   534,   541,   550,   551,
   554,   557,   560,   563,   566,   569,   572,   575,   578,   581,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   584,   587,   589,   593,   594,   608,   610,   614,   615,   629,
   631,   635,   636,   650,   652,   656,   657,   677,   679,   683,
   684,   704,   706,   710,   711,   731,   733,   737,   738,   764,
   766,   770,   771,   797,   799,   803,   804,   830,   832,   836,
   837,   869,   871,   875,   876,   908,   910,   914,   915,   947,
   949,   951,   953,   955,   957,   959,   961,   966,   974,   981,
   985,   992,   999,  1009,  1016,  1026,  1032,  1041,  1050,  1062,
  1069,  1079,  1087,  1096,  1109,  1116,  1122,  1130,  1138,  1151,
  1159,  1169,  1187,  1195,  1204,  1213,  1221,  1233,  1239,  1248,
  1261,  1270,  1293,  1314,  1323,  1332,  1338,  1347,  1355,  1364,
  1370,  1382,  1388,  1398,  1400,  1402,  1404,  1405,  1408,  1413,
  1418,  1425,  1429,  1433,  1437,  1440,  1443,  1450,  1459,  1468,
  1479,  1481,  1484,  1486,  1490,  1495,  1497,  1506,  1519,  1528,
  1541,  1550,  1563,  1575,  1591,  1593,  1596,  1606,  1609,  1616,
  1626,  1636,  1645,  1654,  1663,  1670,  1675,  1678,  1681,  1683,
  1686,  1688,  1690,  1692,  1694,  1696,  1698,  1702,  1705,  1708,
  1711,  1715,  1719,  1723,  1727,  1731,  1735,  1739,  1743,  1747,
  1751,  1755,  1759,  1763,  1767,  1773,  1778,  1783,  1788,  1793,
  1798,  1803,  1808,  1813,  1818,  1823,  1830,  1835,  1840,  1845,
  1850,  1855,  1860,  1867,  1874,  1881,  1886,  1888,  1890,  1892,
  1897,  1900,  1906,  1910,  1917,  1922,  1930,  1934,  1940,  1942,
  1945,  1948,  1952,  1956,  1968,  1978,  1986,  1994,  1995,  1999,
  2001,  2005,  2006,  2010,  2014,  2016,  2020,  2021,  2023,  2027,
  2031,  2033,  2035,  2039,  2043,  2047,  2053,  2063,  2071,  2077,
  2079,  2085,  2089,  2096,  2098,  2102,  2104,  2109
static const short yyrhs[] = {   184,
     0,   183,     0,   189,     0,     1,     6,     0,   140,     0,
   143,   144,   246,   246,   246,   145,   146,   142,   246,   246,
   246,   142,   246,   246,   246,   142,   246,   246,   246,   147,
   148,     0,   141,     0,     0,   184,   185,     0,   186,     0,
   188,     0,   187,     0,   114,     6,     0,   115,     6,     0,
   117,     6,     0,   116,     6,     0,   118,     6,     0,   119,
   174,   253,   179,     5,   175,     6,     0,   120,   174,   253,
   175,     6,     0,   121,   174,     5,   179,     5,   179,   253,
   179,   253,   179,     5,   179,     5,   179,     5,   175,     6,
     0,     3,     7,    98,   174,     5,   179,   251,   175,     6,
     0,     3,     7,    97,   174,     5,   179,   248,   179,   257,
   179,   247,   179,   247,   179,   247,   179,   257,   179,   257,
   179,   247,   175,     6,     0,     3,     7,    96,   174,     5,
   179,   248,   179,   248,   179,   255,   179,   247,   179,   247,
   179,   247,   179,   247,   179,   257,   179,   257,   179,   257,
   179,   257,   179,   247,   175,     6,     0,     3,     7,   104,
   174,     5,   179,     3,   179,     3,   179,     3,   179,   247,
   175,     6,     0,     3,     7,   108,   174,     5,   179,     3,
   179,   247,   175,     6,     0,     3,     7,   125,   174,     5,
   179,     3,   179,   247,   175,     6,     0,     3,     7,   106,
   174,     5,   179,   165,   179,   165,   179,   248,   179,   247,
   175,     6,     0,     3,     7,   109,   174,     5,   179,   257,
   175,     6,     0,     3,     7,   110,   174,     5,   179,   257,
   179,     3,   179,   247,   175,     6,     0,     3,     7,   105,
   174,     5,   179,     3,   175,     6,     0,     3,     7,   111,
     7,   113,   174,     5,   179,     3,   179,     3,   179,     3,
   175,     6,     0,     3,     7,   107,   174,     5,   179,     3,
   175,     6,     0,     3,     7,    37,   174,     5,   179,     3,
   179,     3,   175,     6,     0,     3,     7,   123,   174,     5,
   179,   257,   175,     6,     0,     3,     7,   124,   174,     5,
   179,   257,   179,     3,   175,     6,     0,     3,     7,   122,
   174,     5,   179,     3,   175,     6,     0,     3,     7,   126,
   174,     5,   179,     3,   179,   248,   175,     6,     0,     3,
     7,   127,   174,     5,   179,     3,   179,   248,   179,   248,
   175,     6,     0,     3,     7,   134,   174,     5,   179,     3,
   179,   248,   179,   248,   175,     6,     0,     3,     7,   128,
   174,     5,   179,     3,   179,   248,   175,     6,     0,     3,
     7,   138,   174,     5,   179,     3,   179,   248,   179,   248,
   175,     6,     0,     3,     7,   129,   174,     5,   179,     3,
   179,   257,   179,   257,   179,   247,   179,   247,   175,     6,
     0,     3,     7,   130,   174,     5,   179,   257,   175,     6,
     0,     3,     7,   131,   174,   132,   179,   247,   179,     3,
   175,     6,     0,     3,     7,   133,   174,     5,   179,   257,
   179,   247,   175,     6,     0,     3,     7,   135,   174,     5,
   179,     5,   179,     3,   179,     3,   175,     6,     0,     3,
     7,   136,   174,     5,   179,     5,   179,     3,   175,     6,
     0,     3,     7,   137,   174,     3,   179,     3,   175,     6,
     0,     0,   189,   190,     0,   192,     0,   191,     0,   232,
     0,   233,     0,   234,     0,   237,     0,   238,     0,   241,
     0,   244,     0,   245,     0,   240,     0,   239,     0,    31,
   174,     5,   175,     6,     0,    31,   174,     5,   179,   258,
   175,     6,     0,     4,     5,   180,   193,   181,     6,     0,
     4,     5,     4,   251,   180,   193,   181,     6,     0,     0,
   193,   195,     0,   193,   198,     0,   193,   201,     0,   193,
   204,     0,   193,   207,     0,   193,   210,     0,   193,   213,
     0,   193,   216,     0,   193,   219,     0,   193,   222,     0,
   193,   225,     0,   193,   228,     0,   248,     0,   194,   179,
   248,     0,     0,    75,   174,   248,   179,   248,   179,   248,
   175,   196,   180,   194,   181,     6,     0,   248,     0,   197,
   179,   248,     0,     0,    76,   174,   248,   179,   248,   179,
   248,   175,   199,   180,   197,   181,     6,     0,   248,     0,
   200,   179,   248,     0,     0,    77,   174,   248,   179,   248,
   179,   248,   175,   202,   180,   200,   181,     6,     0,   248,
     0,   203,   179,   248,     0,     0,    72,   174,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   175,
   205,   180,   203,   181,     6,     0,   248,     0,   206,   179,
   248,     0,     0,    73,   174,   248,   179,   248,   179,   248,
   179,   248,   179,   248,   179,   248,   175,   208,   180,   206,
   181,     6,     0,   248,     0,   209,   179,   248,     0,     0,
    74,   174,   248,   179,   248,   179,   248,   179,   248,   179,
   248,   179,   248,   175,   211,   180,   209,   181,     6,     0,
   248,     0,   212,   179,   248,     0,     0,    69,   174,   248,
   179,   248,   179,   248,   179,   248,   179,   248,   179,   248,
   179,   248,   179,   248,   179,   248,   175,   214,   180,   212,
   181,     6,     0,   248,     0,   215,   179,   248,     0,     0,
    70,   174,   248,   179,   248,   179,   248,   179,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   175,
   217,   180,   215,   181,     6,     0,   248,     0,   218,   179,
   248,     0,     0,    71,   174,   248,   179,   248,   179,   248,
   179,   248,   179,   248,   179,   248,   179,   248,   179,   248,
   179,   248,   175,   220,   180,   218,   181,     6,     0,   248,
     0,   221,   179,   248,     0,     0,    66,   174,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   179,
   248,   175,   223,   180,   221,   181,     6,     0,   248,     0,
   224,   179,   248,     0,     0,    67,   174,   248,   179,   248,
   179,   248,   179,   248,   179,   248,   179,   248,   179,   248,
   179,   248,   179,   248,   179,   248,   179,   248,   179,   248,
   175,   226,   180,   224,   181,     6,     0,   248,     0,   227,
   179,   248,     0,     0,    68,   174,   248,   179,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   179,
   248,   179,   248,   179,   248,   179,   248,   179,   248,   175,
   229,   180,   227,   181,     6,     0,     7,     0,   149,     0,
   150,     0,   151,     0,   152,     0,   170,     0,   171,     0,
     4,   230,   248,     6,     0,     4,   176,   248,   177,   230,
   248,     6,     0,     4,   176,   177,     7,   257,     6,     0,
     4,   231,     6,     0,     4,   176,   248,   177,   231,     6,
     0,     4,   178,     4,     7,     5,     6,     0,     4,   176,
   248,   177,   178,     4,     7,     5,     6,     0,     4,   178,
     4,   230,   248,     6,     0,     4,   176,   248,   177,   178,
     4,   230,   248,     6,     0,     4,   178,     4,   231,     6,
     0,     4,   176,   248,   177,   178,     4,   231,     6,     0,
     4,   178,    84,   178,     4,     7,   259,     6,     0,     4,
   176,   248,   177,   178,    84,   178,     4,     7,   259,     6,
     0,     4,   178,    85,     7,   260,     6,     0,     4,   176,
   248,   177,   178,    85,     7,   260,     6,     0,    34,   174,
   248,   175,     7,   251,     6,     0,    49,    34,   174,   248,
   175,     7,   257,     6,     0,    64,    34,   257,     7,   180,
   248,   179,   248,   179,   248,   181,     6,     0,    41,    42,
   257,     7,   248,     6,     0,    34,   180,   248,   181,     6,
     0,    37,   174,   248,   175,     7,   257,     6,     0,    39,
   174,   248,   175,     7,   257,     6,     0,    64,    37,   257,
     7,   180,   248,   179,   248,   179,   248,   181,     6,     0,
    35,   174,   248,   175,     7,   257,     6,     0,    35,   174,
   248,   175,     7,   257,    45,   251,     6,     0,    43,   174,
   248,   175,     7,   180,   248,   179,   248,   179,     5,   179,
     5,   179,     5,   181,     6,     0,    36,   174,   248,   175,
     7,   257,     6,     0,    49,    37,   174,   248,   175,     7,
   257,     6,     0,    37,    59,   174,   248,   175,     7,   257,
     6,     0,    78,   174,   248,   175,     7,   257,     6,     0,
    79,   174,   248,   175,     7,   257,    83,   257,    80,   248,
     6,     0,    37,   180,   248,   181,     6,     0,    45,    38,
   174,   248,   175,     7,   257,     6,     0,   139,    38,   174,
   248,   175,     7,   180,   248,   179,   257,   181,     6,     0,
    46,    38,   174,   248,   175,     7,   257,     6,     0,    79,
    38,    81,    82,   174,   248,   175,     7,   255,    83,   180,
   257,   179,   257,   181,    80,   180,   248,   179,   248,   181,
     6,     0,    79,    38,   174,   248,   175,     7,   255,    83,
   180,   257,   179,   257,   181,    80,   180,   248,   179,   248,
   181,     6,     0,    49,    38,   174,   248,   175,     7,   257,
     6,     0,    38,    59,   174,   248,   175,     7,   257,     6,
     0,    38,   180,   248,   181,     6,     0,    48,    40,   174,
   248,   175,     7,   257,     6,     0,    40,   174,   248,   175,
     7,   257,     6,     0,    49,    40,   174,   248,   175,     7,
   257,     6,     0,    54,   251,   180,   235,   181,     0,    53,
   180,   251,   179,   251,   179,   248,   181,   180,   235,   181,
     0,    55,   251,   180,   235,   181,     0,    56,   180,   251,
   179,   248,   181,   180,   235,   181,     0,   237,     0,   236,
     0,   234,     0,     0,   236,   233,     0,    58,   180,   236,
   181,     0,    61,   180,   236,   181,     0,    61,     4,   176,
   248,   177,     6,     0,    61,    95,     6,     0,     4,   262,
     6,     0,     4,   248,     6,     0,    91,     6,     0,    33,
     6,     0,    86,   174,   248,     8,   248,   175,     0,    86,
   174,   248,     8,   248,     8,   248,   175,     0,    86,     4,
    87,   180,   248,     8,   248,   181,     0,    86,     4,    87,
   180,   248,     8,   248,     8,   248,   181,     0,    88,     0,
    94,     4,     0,    92,     0,    93,     4,     6,     0,    89,
   174,   248,   175,     0,    90,     0,    57,    34,   180,   248,
   179,   251,   181,     6,     0,    57,    34,   180,   248,   179,
   251,   179,   251,   179,   248,   181,     6,     0,    57,    37,
   180,   248,   179,   251,   181,     6,     0,    57,    37,   180,
   248,   179,   251,   179,   251,   179,   248,   181,     6,     0,
    57,    38,   180,   248,   179,   251,   181,     6,     0,    57,
    38,   180,   248,   179,   251,   179,   251,   179,   248,   181,
     6,     0,    57,    38,   180,   248,   179,   251,   181,   180,
   242,   181,     6,     0,    57,    38,   180,   248,   179,   251,
   179,   251,   179,   248,   181,   180,   242,   181,     6,     0,
   243,     0,   242,   243,     0,    65,   180,   257,   179,   257,
   179,   257,   181,     6,     0,    60,     6,     0,    47,    37,
   257,     7,   248,     6,     0,    47,    37,   257,     7,   248,
    50,    52,   248,     6,     0,    47,    37,   257,     7,   248,
    50,    51,   248,     6,     0,    47,    38,   180,   248,   181,
     7,   257,     6,     0,    44,    38,   180,   248,   181,     7,
   257,     6,     0,    47,    40,   180,   248,   181,     7,   257,
     6,     0,    60,    38,   257,     7,   248,     6,     0,    60,
    38,   257,     6,     0,    62,     6,     0,    63,     6,     0,
     3,     0,   164,     3,     0,    99,     0,   100,     0,   101,
     0,   102,     0,   103,     0,   249,     0,   174,   248,   175,
     0,   164,   248,     0,   163,   248,     0,   169,   248,     0,
   248,   164,   248,     0,   248,   163,   248,     0,   248,   165,
   248,     0,   248,   166,   248,     0,   248,   167,   248,     0,
   248,   173,   248,     0,   248,   159,   248,     0,   248,   161,
   248,     0,   248,   160,   248,     0,   248,   162,   248,     0,
   248,   156,   248,     0,   248,   157,   248,     0,   248,   155,
   248,     0,   248,   154,   248,     0,   248,   153,   248,     8,
   248,     0,    10,   174,   248,   175,     0,    11,   174,   248,
   175,     0,    12,   174,   248,   175,     0,    13,   174,   248,
   175,     0,    14,   174,   248,   175,     0,    15,   174,   248,
   175,     0,    16,   174,   248,   175,     0,    17,   174,   248,
   175,     0,    18,   174,   248,   175,     0,    20,   174,   248,
   175,     0,    21,   174,   248,   179,   248,   175,     0,    22,
   174,   248,   175,     0,    23,   174,   248,   175,     0,    24,
   174,   248,   175,     0,    25,   174,   248,   175,     0,    26,
   174,   248,   175,     0,    27,   174,   248,   175,     0,    28,
   174,   248,   179,   248,   175,     0,    29,   174,   248,   179,
   248,   175,     0,    30,   174,   248,   179,   248,   175,     0,
    19,   174,   248,   175,     0,     3,     0,     9,     0,     4,
     0,     4,   176,   248,   177,     0,     4,   231,     0,     4,
   176,   248,   177,   231,     0,     4,   178,     4,     0,     4,
   176,   248,   177,   178,     4,     0,     4,   178,     4,   231,
     0,     4,   176,   248,   177,   178,     4,   231,     0,   248,
     8,   248,     0,   248,     8,   248,     8,   248,     0,   252,
     0,   164,   251,     0,   163,   251,     0,   251,   164,   251,
     0,   251,   163,   251,     0,   180,   248,   179,   248,   179,
   248,   179,   248,   179,   248,   181,     0,   180,   248,   179,
   248,   179,   248,   179,   248,   181,     0,   180,   248,   179,
   248,   179,   248,   181,     0,   174,   248,   179,   248,   179,
   248,   175,     0,     0,   174,   254,   175,     0,     5,     0,
   254,   179,     5,     0,     0,   180,   256,   181,     0,   174,
   256,   175,     0,   257,     0,   256,   179,   257,     0,     0,
   248,     0,     4,   176,   177,     0,   180,   258,   181,     0,
   248,     0,   250,     0,     4,   176,   177,     0,   258,   179,
   248,     0,   258,   179,   250,     0,   258,   179,     4,   176,
   177,     0,   180,   248,   179,   248,   179,   248,   179,   248,
   181,     0,   180,   248,   179,   248,   179,   248,   181,     0,
   180,     4,   179,   248,   181,     0,     4,     0,     4,   178,
    84,   178,     4,     0,   180,   261,   181,     0,     4,   176,
   248,   177,   178,    85,     0,   259,     0,   261,   179,   259,
     0,     5,     0,    32,   174,     5,   175,     0,    32,   174,
     5,   179,   258,   175,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   148,   150,   151,   152,   159,   167,   181,   193,   195,   198,
   200,   201,   204,   210,   215,   216,   217,   220,   224,   227,
   233,   238,   244,   252,   257,   261,   267,   272,   276,   281,
   285,   288,   293,   297,   301,   305,   310,   314,   317,   321,
   325,   329,   333,   337,   341,   344,   348,   351,   355,   358,
   367,   371,   377,   379,   380,   381,   382,   383,   384,   385,
   386,   387,   388,   389,   392,   397,   425,   431,   438,   443,
   444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   454,   457,   460,   464,   470,   476,   479,   483,   489,   495,
   498,   502,   508,   514,   517,   521,   529,   535,   538,   542,
   550,   556,   559,   563,   571,   577,   580,   584,   596,   602,
   605,   609,   621,   627,   630,   634,   646,   652,   655,   659,
   672,   678,   681,   685,   698,   704,   707,   711,   724,   736,
   738,   739,   740,   741,   743,   745,   747,   778,   812,   826,
   835,   850,   862,   876,   899,   923,   935,   949,   961,   975,
   990,  1011,  1022,  1028,  1047,  1058,  1066,  1072,  1078,  1097,
  1103,  1119,  1126,  1132,  1138,  1144,  1150,  1169,  1181,  1187,
  1206,  1227,  1235,  1241,  1247,  1253,  1265,  1271,  1277,  1289,
  1295,  1300,  1305,  1312,  1314,  1315,  1318,  1323,  1334,  1352,
  1360,  1365,  1376,  1431,  1451,  1455,  1475,  1491,  1505,  1530,
  1555,  1581,  1587,  1592,  1597,  1601,  1611,  1617,  1623,  1627,
  1631,  1635,  1639,  1644,  1651,  1655,  1660,  1678,  1688,  1706,
  1723,  1740,  1761,  1781,  1801,  1818,  1842,  1847,  1858,  1860,
  1863,  1865,  1866,  1867,  1868,  1871,  1873,  1874,  1875,  1876,
  1877,  1878,  1879,  1880,  1887,  1888,  1889,  1890,  1891,  1892,
  1893,  1894,  1895,  1896,  1897,  1898,  1899,  1900,  1901,  1902,
  1903,  1904,  1905,  1906,  1907,  1908,  1909,  1910,  1911,  1912,
  1913,  1914,  1915,  1916,  1917,  1918,  1923,  1928,  1932,  1943,
  1960,  1971,  1990,  2006,  2022,  2038,  2055,  2062,  2075,  2080,
  2084,  2088,  2092,  2097,  2102,  2106,  2110,  2116,  2120,  2125,
  2129,  2134,  2138,  2142,  2148,  2154,  2160,  2164,  2170,  2185,
  2192,  2198,  2207,  2219,  2223,  2231,  2244,  2249,  2253,  2258,
  2263,  2281,  2286,  2303,  2312,  2318,  2323,  2327
};
#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",
"tDraw","tPoint","tCircle","tEllipsis","tLine","tSurface","tSpline","tVolume",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tCharacteristic","tLength","tParametric","tElliptic","tPlane","tRuled","tTransfinite",
"tComplex","tPhysical","tUsing","tBump","tProgression","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","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","SignedDouble","BoolExpr","FExpr","FExpr_Single","FExpr_Range","VExpr",
"VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble",
"RecursiveListOfListOfDouble","ListOfDouble","RecursiveListOfDouble","ColorExpr",
"ListOfColor","RecursiveListOfColor","StringExpr", NULL
   182,   182,   182,   182,   183,   183,   183,   184,   184,   185,
   185,   185,   186,   186,   186,   186,   186,   187,   187,   187,
   188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
   188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
   188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
   189,   189,   190,   190,   190,   190,   190,   190,   190,   190,
   190,   190,   190,   190,   191,   191,   192,   192,   193,   193,
   193,   193,   193,   193,   193,   193,   193,   193,   193,   193,
   193,   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,   229,   228,   230,
   230,   230,   230,   230,   231,   231,   232,   232,   232,   232,
   232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
   232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
   233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
   233,   233,   233,   233,   233,   233,   233,   233,   233,   234,
   234,   234,   234,   235,   235,   235,   236,   236,   237,   238,
   238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
   240,   240,   240,   240,   240,   240,   241,   241,   241,   241,
   241,   241,   241,   241,   242,   242,   243,   243,   244,   244,
   244,   244,   244,   244,   244,   244,   245,   245,   246,   246,
   247,   247,   247,   247,   247,   248,   248,   248,   248,   248,
   248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
   248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
   248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
   248,   248,   248,   248,   248,   248,   249,   249,   249,   249,
   249,   249,   249,   249,   249,   249,   250,   250,   251,   251,
   251,   251,   251,   252,   252,   252,   252,   253,   253,   254,
   254,   255,   255,   255,   256,   256,   257,   257,   257,   257,
   258,   258,   258,   258,   258,   258,   259,   259,   259,   259,
   259,   260,   260,   261,   261,   262,   262,   262
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     1,     1,     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,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     1,     1,     1,     1,     5,     7,     6,     8,     0,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     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,     6,     3,
     6,     6,     9,     6,     9,     5,     8,     8,    11,     6,
     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,     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,     2,
     1,     1,     1,     1,     1,     1,     3,     2,     2,     2,
     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,     3,     5,     1,     2,
     2,     3,     3,    11,     9,     7,     7,     0,     3,     1,
     3,     0,     3,     3,     1,     3,     0,     1,     3,     3,
     1,     1,     3,     3,     3,     5,     9,     7,     5,     1,
     5,     3,     6,     1,     3,     1,     4,     6
Christophe Geuzaine's avatar
Christophe Geuzaine committed
static const short yydefact[] = {     0,
     0,     5,     7,     0,     2,     1,     3,     4,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     9,    10,
    12,    11,     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,   201,     0,   206,     0,   203,     0,
    64,    63,    60,    61,    62,   229,     0,     0,     0,    13,
    14,    16,    15,    17,   298,   298,     0,   277,   279,   326,
   130,   278,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   135,   136,     0,     0,     0,     0,     0,     0,   236,
     0,     0,   196,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   307,     0,     0,     0,     0,   307,
     0,     0,     0,   289,     0,     0,     0,     0,     0,   187,
   307,     0,     0,   187,   227,   228,   307,   307,     0,     0,
     0,     0,     0,     0,   195,     0,   202,     0,   230,     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,   281,     0,    69,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   239,   238,   240,     0,     0,     0,     0,     0,     0,
     0,   140,   194,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   193,     0,
     0,   279,     0,   308,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   291,   290,
     0,     0,     0,     0,   187,   187,     0,     0,     0,     0,
     0,     0,     0,   192,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   204,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   300,     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,     0,     0,     0,     0,   237,   307,
     0,   130,     0,     0,     0,     0,   137,     0,   254,   253,
   251,   252,   247,   249,   248,   250,   242,   241,   243,   244,
   245,   246,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   279,   311,   312,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   293,   292,   186,     0,
   185,   184,     0,     0,     0,     0,     0,   189,   188,   226,
     0,     0,   190,     0,     0,     0,     0,     0,     0,     0,
     0,   205,     0,     0,     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,   299,     0,     0,    19,     0,   280,
   285,    69,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,    70,    71,    72,    73,    74,
    75,    76,    77,    78,    79,    80,    81,   256,   257,   258,
   259,   260,   261,   262,   263,   264,   276,   265,     0,   267,
   268,   269,   270,   271,   272,     0,     0,     0,   327,     0,
     0,     0,     0,     0,     0,     0,   146,     0,     0,     0,
     0,     0,    65,     0,     0,   156,   307,   307,     0,   307,
   168,     0,   176,   307,   307,   309,     0,     0,     0,   310,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   180,   182,     0,     0,
     0,     0,     0,     0,     0,     0,   307,     0,     0,   307,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   307,   307,     0,     0,     0,     0,   307,
   307,     0,     0,     0,     0,     0,   307,     0,   307,     0,
     0,     0,     0,     0,   301,     0,   298,     0,   282,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    67,     0,     0,     0,     0,     0,   139,     0,
     0,     0,     0,   141,   142,   144,     0,     0,   320,     0,
   324,     0,   150,   255,     0,     0,     0,     0,   307,     0,
   307,     0,     0,   313,   287,   279,   314,   315,   155,     0,
   307,   307,   307,   219,     0,   307,   307,   307,   307,   307,
   307,   307,     0,     0,     0,     0,     0,     0,     0,   225,
   191,     0,     0,     0,     0,   302,     0,     0,     0,   197,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   231,   232,   233,   234,   235,
     0,     0,     0,     0,     0,     0,     0,    18,     0,   284,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   266,   273,   274,   275,   328,   130,     0,
     0,     0,     0,   138,     0,     0,     0,   279,     0,     0,
   322,    66,   152,   160,     0,   163,     0,   157,     0,   158,
   178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   187,
     0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
   307,   307,     0,   307,     0,     0,     0,     0,     0,     0,
   307,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
     0,     0,     0,     0,     0,     0,     0,     0,   298,   286,
    68,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   147,     0,     0,   148,     0,
     0,     0,     0,   325,     0,   165,   175,   288,   316,     0,
   223,   169,   171,     0,     0,   222,   224,   177,   153,   164,
   174,   179,     0,   297,     0,   296,     0,     0,   207,     0,
   209,     0,   211,     0,     0,     0,   302,     0,   305,     0,
     0,     0,     0,   199,   198,     0,     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,
   143,   145,     0,   151,     0,     0,     0,     0,   161,     0,
   221,   220,   187,     0,   183,     0,     0,     0,     0,     0,
     0,   215,     0,     0,     0,   304,   307,   303,   307,     0,
     0,   307,     0,     0,   302,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   307,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   323,   321,
   319,     0,     0,     0,     0,   295,     0,     0,     0,   218,
   307,     0,   216,     0,     0,     0,   306,     0,     0,   200,
     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,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   149,     0,     0,   181,
     0,     0,     0,     0,     0,   213,     0,     0,   307,   307,
   167,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    84,    88,    92,     0,   318,     0,
   294,   208,   210,   212,     0,   307,   154,   159,     0,     0,
   170,     0,     0,     0,     0,     0,    29,    32,    40,     0,
    41,    48,    43,     0,     0,     0,     0,     0,     0,     0,
   307,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   317,     0,     0,   307,     0,     0,     0,     0,     0,
    24,    27,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    82,     0,    86,     0,    90,     0,
   214,     0,     0,     0,     0,     0,   307,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    44,    20,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    83,    85,    87,    89,    91,    93,   162,   217,
     0,     0,     0,     0,   307,     0,     0,     0,     0,     0,
     0,    96,   100,   104,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     6,   307,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   173,     0,     0,     0,     0,     0,     0,
     0,     0,     0,    94,     0,    98,     0,   102,     0,   307,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   172,     0,    22,     0,     0,     0,     0,
     0,     0,    95,    97,    99,   101,   103,   105,   307,     0,
     0,     0,   108,   112,   116,     0,     0,     0,     0,     0,
     0,     0,   307,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   106,     0,   110,     0,   114,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   107,   109,   111,   113,   115,   117,     0,
   120,   124,   128,    23,     0,     0,     0,     0,     0,     0,
     0,   118,     0,   122,     0,   126,     0,     0,     0,     0,
     0,     0,   119,   121,   123,   125,   127,   129,     0,     0,
     0
static const short yydefgoto[] = {  1489,
   376,  1264,   536,  1214,  1266,   537,  1215,  1268,   538,  1216,
  1373,   539,  1346,  1375,   540,  1347,  1377,   541,  1348,  1434,
   542,  1420,  1436,   543,  1421,  1438,   544,  1422,  1471,   545,
  1465,  1473,   546,  1466,  1475,   547,  1467,   127,   227,    66,
   469,   459,   460,   461,   462,    70,    71,    72,    73,  1031,
  1032,    74,    75,    78,   781,   294,   130,   439,   163,   164,
   222,   369,   863,   958,   959,   440,   701,   581,   702,   131
static const short yypact[] = {  1875,
   140,-32768,-32768,   -29,-32768,   253,  1993,-32768,    12,   166,
   172,   176,   191,   260,   296,    29,    32,    61,-32768,-32768,
-32768,-32768,   317,   131,   302,   -52,   151,   190,   -37,    -9,
   213,   255,   194,   256,   320,   377,   386,   126,   391,   413,
   269,    97,    97,   283,   230,   290,   401,     8,   450,   465,
    73,   308,   -15,    10,-32768,   324,-32768,   483,-32768,   501,
   510,   486,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,   522,    12,  2015,-32768,
-32768,-32768,-32768,-32768,   352,   352,   525,-32768,    23,     6,
-32768,-32768,   353,   358,   359,   364,   365,   366,   368,   372,
   374,   375,   381,   382,   383,   384,   387,   388,   389,   394,
   395,   396,   403,   404,-32768,-32768,-32768,-32768,    65,    65,
    65,-32768,-32768,    65,   608,    48,    65,   554,   578,-32768,
   573,   526,-32768,    65,    65,    65,    65,   406,    65,    65,
   407,    65,    65,    65,    16,    65,   408,   409,   417,    16,
   421,   424,   434,   435,   436,   441,   442,    97,    97,    97,
    65,    65,    11,-32768,   109,    97,   427,   459,   460,-32768,
    16,   411,   635,-32768,-32768,-32768,    16,    16,    65,   -30,
    65,   555,    65,    65,-32768,   637,-32768,   471,-32768,    12,
   472,   473,   487,   488,   489,   490,   491,   492,   493,   494,
   495,   498,   499,   500,   502,   504,   505,   507,   513,   524,
   527,   531,   532,   533,   534,   535,   539,   541,   542,   543,
   655,   520,   528,   521,    65,   714,-32768,    97,-32768,    65,
    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
   715,   546,   546,   546,  4772,   716,  4672,   402,   544,   717,
   638,-32768,-32768,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,    65,    65,    65,    65,    65,-32768,   -48,
  4795,  2030,  4818,  4841,    65,  4864,  2053,    65,  2076,  4887,
  4910,   227,  1536,  6244,   720,  4933,    65,    65,    65,   721,
    65,    65,    65,    65,    65,    65,    65,  -107,-32768,-32768,
  1276,  1846,    97,    97,   420,   420,   -22,    65,    65,    65,
  1806,    60,    65,-32768,  1823,   722,   729,  4956,   639,    65,
  4979,   566,  1156,  5002,-32768,    65,   602,   743,   744,   745,
   747,   748,   749,   750,   751,   768,   769,   770,   771,   773,
   774,   775,   776,   778,   779,   781,   783,   784,   785,   801,
   675,   803,   807,   808,   812,   820,   828,-32768,    -7,   831,
   834,   832,  4697,   207,   130,   692,  5025,  5048,  5071,  5094,
  5117,  5140,  5163,  5186,  5209,  5232,  5255,  2467,  5278,  5301,
  5324,  5347,  5370,  5393,  2488,  2509,  2530,    84,-32768,    16,
   294,   836,    65,   837,   835,     7,-32768,  1559,   833,   689,
   433,   433,  -102,  -102,  -102,  -102,   150,   150,   546,   546,
   546,   546,   852,  1536,   853,   857,   860,   861,  5416,   862,
   864,  5439,   866,   867,   869,   945,   241,  1595,-32768,    19,
    65,   870,  2099,  5462,  5485,    65,  2122,  2145,  5508,  5531,
  5554,  5577,  5600,    97,    65,    65,-32768,-32768,-32768,   661,
  1057,-32768,   678,    65,  2551,  2572,  2593,-32768,-32768,-32768,
    65,  4722,-32768,   698,   711,   885,   719,  5623,   887,    65,
    65,-32768,  5646,   755,   723,   724,   725,   726,   727,   730,
   731,   732,   733,   734,   736,   737,   738,   739,   740,   741,
   742,   757,   758,   759,   760,   762,   763,   764,   767,   797,
   798,   799,   800,   802,-32768,   903,   805,-32768,   804,    62,
-32768,-32768,   811,   817,   839,   841,   844,   845,   846,   847,
   848,   849,   850,   854,   944,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    65,-32768,
-32768,-32768,-32768,-32768,-32768,    65,    65,    65,-32768,  1536,
   947,    51,    65,   976,   980,   665,-32768,  1002,   851,     9,
  1020,    65,-32768,   173,    97,-32768,    16,    16,  1022,    16,
-32768,  1024,-32768,    16,    16,-32768,  1456,    65,  1570,-32768,
  1006,   855,  1025,  1029,  1030,   356,  1033,  1035,  1048,  1049,
  1050,  1051,  1053,   127,  2614,  2635,-32768,-32768,  2168,    97,
    97,    97,  1028,  1055,    65,    65,    16,    65,  1056,    16,
  1651,   529,  1058,   922,  1064,    65,    65,    97,  1066,  1067,
   906,  1069,  1070,    16,    16,  1071,    97,  1072,  1073,    16,
    16,  1074,  1087,  1096,  1101,  1104,    16,    52,    16,  1107,
  1106,  1108,  1109,  1112,-32768,  1110,   352,  1113,-32768,   858,
    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,-32768,  5669,  5692,  5715,  5738,   178,-32768,   415,
   940,  1116,  1076,-32768,-32768,-32768,     9,    65,   948,  1628,
-32768,   184,-32768,  6244,  1119,    41,    54,  1122,    16,  1124,
    16,  1126,  1127,-32768,  1666,   250,  1595,-32768,-32768,    65,
    16,    16,    16,-32768,   348,    16,    16,    16,    16,    16,
    16,    16,    65,    65,    65,   954,   -55,   -34,   -14,-32768,
-32768,  2656,  2677,  1131,  5761,   -40,  1059,    65,    65,-32768,
   958,    12,   960,  2698,  2719,  -105,   961,   966,   973,   978,
   975,   981,   979,   995,    94,   996,   982,  1003,   998,  1001,
  1007,  1018,  1019,  1021,  1027,-32768,-32768,-32768,-32768,-32768,
  1026,  1040,  1041,  1043,  1045,  1031,  1046,-32768,  1047,   207,
  1193,  2740,  2761,  2782,  2803,  2824,  2845,  2866,  2887,  2908,
  2929,  2950,  2971,-32768,-32768,-32768,-32768,-32768,  1199,    65,
  1228,  1240,     7,-32768,  1239,  4747,  1162,   133,  2992,     9,
-32768,-32768,-32768,-32768,    97,-32768,  1242,-32768,  1244,-32768,
-32768,    65,  1499,  3013,  1246,  1247,  1248,    65,    65,  1249,
  1250,  1261,  1263,  1270,  1280,  1281,  2191,  5784,  1622,   420,
    97,  1282,    97,  1283,    97,     3,    65,    65,-32768,  1285,
    16,    16,  1207,    16,   229,  5807,    65,    12,  1290,    65,
    16,  1288,  1292,  1291,  1135,  1295,    52,  1296,  1293,    65,
  1308,  1321,  1319,  1322,  1324,    52,    65,    65,    65,    16,
  1334,  1327,    52,    65,  1338,  1339,  1337,    65,   352,-32768,
-32768,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,  1340,  1118,-32768,  1341,  1343,-32768,  1166,
  1167,    65,    65,-32768,    67,-32768,-32768,  6244,-32768,    65,
-32768,-32768,-32768,  1217,  1451,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,  1170,-32768,    65,-32768,  1171,   135,-32768,   187,
-32768,   197,-32768,    40,  3034,  3055,   -40,   200,-32768,   235,
  1173,  1267,    65,-32768,-32768,  3076,    12,  1176,  3097,  1175,
-32768,  1177,-32768,  1178,-32768,  1180,-32768,  1179,  5830,-32768,
  1187,-32768,-32768,  1200,  1210,  5853,  3118,  5876,  1189,-32768,
  1211,  1216,  3139,  1213,  1218,-32768,  3160,  1219,  3181,  3202,
  3223,  3244,  3265,  3286,  3307,  3328,  3349,  3370,  3391,  3412,
-32768,-32768,     9,-32768,  1310,  1393,  2214,  3433,-32768,  3454,
-32768,-32768,   420,  1935,-32768,    65,    65,    65,  1394,  1227,
   -12,-32768,    65,    65,  1325,-32768,    16,-32768,    16,    65,
  2237,    16,  1268,  1403,   -40,    52,  1408,    65,  1406,    52,
  1407,  1411,  1410,  1416,  1418,    65,  1420,    16,  1421,  1422,
    65,  1414,  1428,    65,  1439,    65,    65,    65,    65,    65,
    65,    65,    65,    65,    65,    65,    65,  1444,-32768,-32768,
-32768,    65,  1446,  1271,    65,-32768,  2260,  2283,  2306,-32768,
    16,  1447,-32768,  2329,  2352,  1284,-32768,  1309,  1524,-32768,
  1306,    12,-32768,  1311,  1312,  1313,  3475,-32768,  1286,-32768,
  1287,-32768,-32768,-32768,  5899,-32768,  1314,-32768,-32768,  5922,
  1320,-32768,  5945,  1315,  3496,  3517,  3538,  3559,  3580,  3601,
  3622,  3643,  3664,  5968,  5991,  6014,-32768,  2001,  1317,-32768,
  2375,  1457,  1483,    15,  1318,-32768,  1492,  1493,    16,    16,
-32768,  1494,    12,    52,    52,    52,    52,  1495,  1498,  1525,
    52,  1526,  1527,  1528,  1500,    65,    65,    65,    65,    65,