Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 240 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.80 2001-03-23 12:00:44 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 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 67 "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		1536
#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,   984,
   991,   995,  1002,  1009,  1019,  1026,  1036,  1042,  1051,  1060,
  1072,  1079,  1089,  1097,  1106,  1119,  1126,  1132,  1140,  1148,
  1161,  1169,  1179,  1197,  1205,  1214,  1223,  1231,  1243,  1249,
  1258,  1271,  1280,  1303,  1324,  1333,  1342,  1348,  1357,  1365,
  1374,  1380,  1392,  1398,  1408,  1410,  1412,  1414,  1415,  1418,
  1423,  1428,  1435,  1439,  1443,  1447,  1450,  1453,  1460,  1469,
  1478,  1489,  1491,  1494,  1496,  1500,  1505,  1507,  1516,  1529,
  1538,  1551,  1560,  1573,  1585,  1601,  1603,  1606,  1616,  1619,
  1626,  1636,  1646,  1655,  1664,  1673,  1680,  1685,  1688,  1691,
  1693,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1712,  1715,
  1718,  1721,  1725,  1729,  1733,  1737,  1741,  1745,  1749,  1753,
  1757,  1761,  1765,  1769,  1773,  1777,  1783,  1788,  1793,  1798,
  1803,  1808,  1813,  1818,  1823,  1828,  1833,  1840,  1845,  1850,
  1855,  1860,  1865,  1870,  1877,  1884,  1891,  1896,  1898,  1900,
  1902,  1907,  1910,  1916,  1920,  1927,  1932,  1940,  1944,  1950,
  1952,  1955,  1958,  1962,  1966,  1978,  1988,  1996,  2004,  2005,
  2009,  2011,  2015,  2016,  2020,  2024,  2026,  2030,  2032,  2036,
  2043,  2048,  2056,  2060,  2062,  2064,  2068,  2075,  2080,  2088,
  2092,  2096,  2102,  2111,  2118,  2128,  2138,  2146,  2152,  2154,
  2160,  2164,  2171,  2173,  2177,  2179,  2184
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,   180,   258,   181,   177,   230,
   257,     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,   248,
     0,     4,   176,   177,     0,     4,   176,   180,   258,   181,
   177,     0,   164,     4,   176,   177,     0,   164,     4,   176,
   180,   258,   181,   177,     0,   180,   258,   181,     0,   248,
     0,   250,     0,     4,   176,   177,     0,     4,   176,   180,
   258,   181,   177,     0,   164,     4,   176,   177,     0,   164,
     4,   176,   180,   258,   181,   177,     0,   258,   179,   248,
     0,   258,   179,   250,     0,   258,   179,     4,   176,   177,
     0,   258,   179,     4,   176,   180,   258,   181,   177,     0,
   164,   258,   179,     4,   176,   177,     0,   164,   258,   179,
     4,   176,   180,   258,   181,   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,
   150,   152,   153,   154,   161,   169,   183,   195,   197,   200,
   202,   203,   206,   212,   217,   218,   219,   222,   226,   229,
   235,   240,   246,   254,   259,   263,   269,   274,   278,   283,
   287,   290,   295,   299,   303,   307,   312,   316,   319,   323,
   327,   331,   335,   339,   343,   346,   350,   353,   357,   360,
   369,   373,   379,   381,   382,   383,   384,   385,   386,   387,
   388,   389,   390,   391,   394,   399,   428,   434,   441,   446,
   447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   457,   460,   463,   467,   473,   479,   482,   486,   492,   498,
   501,   505,   511,   517,   520,   524,   532,   538,   541,   545,
   553,   559,   562,   566,   574,   580,   583,   587,   599,   605,
   608,   612,   624,   630,   633,   637,   649,   655,   658,   662,
   675,   681,   684,   688,   701,   707,   710,   714,   727,   739,
   741,   742,   743,   744,   746,   748,   750,   781,   815,   862,
   877,   886,   901,   913,   927,   950,   974,   986,  1000,  1012,
  1026,  1042,  1064,  1075,  1081,  1100,  1111,  1119,  1125,  1131,
  1150,  1156,  1172,  1179,  1185,  1191,  1197,  1203,  1222,  1234,
  1240,  1259,  1280,  1288,  1294,  1300,  1306,  1318,  1324,  1330,
  1342,  1348,  1353,  1358,  1365,  1367,  1368,  1371,  1376,  1387,
  1405,  1413,  1418,  1429,  1484,  1504,  1508,  1528,  1544,  1558,
  1583,  1608,  1634,  1640,  1645,  1650,  1654,  1664,  1670,  1676,
  1680,  1684,  1688,  1692,  1697,  1704,  1708,  1713,  1734,  1744,
  1763,  1781,  1799,  1821,  1842,  1863,  1881,  1906,  1911,  1922,
  1924,  1927,  1929,  1930,  1931,  1932,  1935,  1937,  1938,  1939,
  1940,  1941,  1942,  1943,  1944,  1951,  1952,  1953,  1954,  1955,
  1956,  1957,  1958,  1959,  1960,  1961,  1962,  1963,  1964,  1965,
  1966,  1967,  1968,  1969,  1970,  1971,  1972,  1973,  1974,  1975,
  1976,  1977,  1978,  1979,  1980,  1981,  1982,  1987,  1992,  1996,
  2007,  2024,  2035,  2054,  2070,  2086,  2102,  2119,  2126,  2139,
  2144,  2148,  2152,  2156,  2161,  2166,  2170,  2174,  2180,  2184,
  2189,  2193,  2198,  2202,  2206,  2212,  2218,  2224,  2230,  2244,
  2267,  2283,  2309,  2316,  2322,  2326,  2338,  2359,  2373,  2400,
  2404,  2411,  2422,  2442,  2455,  2479,  2484,  2488,  2493,  2498,
  2516,  2521,  2534,  2540,  2546,  2551,  2555
};
#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,   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,   257,   257,   258,   258,   258,   258,   258,   258,   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,
     1,     1,     1,     1,     1,     1,     4,     7,     9,     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,     3,     3,     3,     3,     3,
     3,     3,     3,     3,     3,     5,     4,     4,     4,     4,
     4,     4,     4,     4,     4,     4,     6,     4,     4,     4,
     4,     4,     4,     6,     6,     6,     4,     1,     1,     1,
     4,     2,     5,     3,     6,     4,     7,     3,     5,     1,
     2,     2,     3,     3,    11,     9,     7,     7,     0,     3,
     1,     3,     0,     3,     3,     1,     3,     1,     3,     6,
     4,     7,     3,     1,     1,     3,     6,     4,     7,     3,
     3,     5,     8,     6,     9,     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,   202,     0,   207,     0,   204,     0,
    64,    63,    60,    61,    62,   230,     0,     0,     0,    13,
    14,    16,    15,    17,   299,   299,     0,   278,   280,   335,
   130,   279,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   135,   136,     0,     0,     0,     0,     0,     0,   237,
     0,     0,   197,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   290,     0,     0,     0,     0,     0,   188,
     0,     0,     0,   188,   228,   229,     0,     0,     0,     0,
     0,     0,     0,     0,   196,     0,   203,     0,   231,     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,   282,     0,    69,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   240,   239,   241,     0,     0,     0,     0,     0,     0,
     0,     0,   141,   195,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
     0,     0,   280,     0,     0,   308,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   292,   291,     0,     0,     0,     0,   188,   188,     0,     0,
     0,     0,     0,     0,     0,   193,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   205,     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,   301,
     0,     0,     0,     0,     0,   284,     0,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   238,     0,   280,     0,   314,   315,     0,     0,   130,     0,
     0,     0,     0,   137,     0,   255,   254,   252,   253,   248,
   250,   249,   251,   243,   242,   244,   245,   246,   247,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   280,     0,     0,     0,     0,     0,     0,
     0,   294,   293,   187,     0,   186,   185,     0,     0,     0,
     0,     0,   190,   189,   227,     0,     0,   191,     0,     0,
     0,     0,     0,     0,     0,     0,   206,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   300,
     0,     0,    19,     0,   281,   286,    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,   257,   258,   259,   260,   261,   262,   263,   264,
   265,   277,   266,     0,   268,   269,   270,   271,   272,   273,
     0,     0,     0,   336,     0,     0,     0,   280,   239,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   147,     0,
     0,     0,     0,     0,    65,     0,     0,   157,     0,     0,
     0,     0,   169,     0,   177,     0,     0,   309,     0,     0,
   313,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   181,   183,     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,   302,     0,   299,     0,   283,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,    67,     0,     0,     0,     0,     0,   140,
   316,     0,     0,     0,   288,   280,   320,   321,     0,     0,
     0,     0,     0,   142,   143,   145,     0,     0,   329,     0,
   333,     0,   151,   256,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   311,     0,   156,     0,     0,     0,
     0,   220,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   226,   192,     0,
     0,     0,     0,   303,     0,     0,     0,   198,     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,   232,   233,   234,   235,   236,     0,     0,
     0,     0,     0,     0,     0,    18,     0,   285,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   267,   274,   275,   276,   337,     0,   318,     0,   280,
     0,     0,     0,   130,     0,     0,     0,     0,   138,     0,
     0,     0,   280,     0,     0,   331,    66,   153,   161,     0,
   164,     0,   158,     0,   159,   179,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   188,     0,     0,     0,     0,     0,
     0,     0,     0,   167,     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,   299,   287,    68,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   289,   322,     0,     0,     0,     0,   148,     0,     0,
   149,     0,     0,     0,     0,   334,     0,   166,   176,   310,
     0,     0,   224,   170,   172,     0,     0,   223,   225,   178,
   154,   165,   175,   180,     0,   298,     0,   297,     0,     0,
   208,     0,   210,     0,   212,     0,     0,     0,   303,     0,
   306,     0,     0,     0,     0,   200,   199,     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,   317,     0,   324,     0,     0,   139,   144,   146,
     0,   152,     0,     0,     0,     0,   162,   312,     0,   222,
   221,   188,     0,   184,     0,     0,     0,     0,     0,     0,
   216,     0,     0,     0,   305,     0,   304,     0,     0,     0,
     0,     0,     0,   303,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   319,     0,     0,     0,
   332,   330,   328,     0,     0,     0,     0,   296,     0,     0,
     0,   219,     0,     0,   217,     0,     0,     0,   307,     0,
     0,   201,     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,     0,   323,
   150,     0,     0,   182,     0,     0,     0,     0,     0,   214,
     0,     0,     0,     0,   168,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    84,    88,
    92,   325,     0,   327,     0,   295,   209,   211,   213,     0,
     0,   155,   160,     0,     0,   171,     0,     0,     0,     0,
     0,    29,    32,    40,     0,    41,    48,    43,     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,   326,     0,     0,     0,
     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,   215,     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,    44,    20,     0,     0,
     0,     0,     0,     0,     0,     0,     0,    83,    85,    87,
    89,    91,    93,   163,   218,     0,     0,     0,     0,     0,
     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,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   174,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    94,     0,
    98,     0,   102,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   173,     0,
    22,     0,     0,     0,     0,     0,     0,    95,    97,    99,
   101,   103,   105,     0,     0,     0,     0,   108,   112,   116,
     0,     0,     0,     0,     0,     0,     0,     0,     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[] = {  1534,
   378,  1309,   541,  1259,  1311,   542,  1260,  1313,   543,  1261,
  1418,   544,  1391,  1420,   545,  1392,  1422,   546,  1393,  1479,
   547,  1465,  1481,   548,  1466,  1483,   549,  1467,  1516,   550,
  1510,  1518,   551,  1511,  1520,   552,  1512,   127,   227,    66,
   474,   464,   465,   466,   467,    70,    71,    72,    73,  1070,
  1071,    74,    75,    78,   799,   296,   130,   406,   163,   164,
   222,   371,   888,   990,   991,   407,   721,   593,   722,   131
static const short yypact[] = {  2436,
    72,-32768,-32768,   -34,-32768,   415,  2554,-32768,    13,   111,
   121,   130,   140,   147,   162,   -19,    29,    58,-32768,-32768,
-32768,-32768,  1889,    64,   256,   -49,    96,   116,   -37,    -8,
   122,   134,   292,   170,   320,   336,   340,   317,   342,    39,
   206,   158,   158,   213,   199,   239,   361,     8,   418,   426,
   329,   274,   -29,    10,-32768,   278,-32768,   434,-32768,   425,
   450,   435,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,   466,    13,  2592,-32768,
-32768,-32768,-32768,-32768,   328,   328,   456,-32768,   -96,     3,
-32768,-32768,   332,   338,   381,   382,   389,   392,   399,   411,
   414,   437,   449,   464,   468,   469,   471,   472,   474,   475,
   476,   477,   478,   479,-32768,-32768,-32768,-32768,  1919,  1919,
  1919,-32768,-32768,  1919,    16,    67,  1919,   522,   616,-32768,
   583,   595,-32768,  1919,  1919,  1919,  1919,   480,  1919,  1919,
   481,  1919,  1919,  1919,  1857,  1919,   460,   482,   483,  1857,
   493,   494,   484,   501,   502,   503,   504,   158,   158,   158,
  1919,  1919,   -58,-32768,   -30,   158,   505,   506,   507,-32768,
  1857,   508,   676,-32768,-32768,-32768,  1857,  1857,  1919,   -26,
  1919,   596,  1919,  1919,-32768,   682,-32768,   515,-32768,    13,
   517,   518,   519,   520,   528,   538,   540,   542,   545,   546,
   547,   548,   549,   550,   551,   552,   553,   557,   561,   562,
   563,   564,   565,   566,   567,   571,   572,   573,   575,   577,
   713,   574,   579,   576,  1919,   748,-32768,   158,-32768,  1919,
  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,
  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,
   751,   584,   584,   584,  5349,   753,  1986,  5249,   221,   580,
   754,   665,-32768,-32768,  1919,  1919,  1919,  1919,  1919,  1919,
  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,-32768,
    -1,  5372,  2607,  5395,  5418,  1919,  5441,  2630,  1919,  2653,
  5464,  5487,   235,  2086,  1986,  1201,   755,  5510,  1919,  1919,
  1919,   756,  1919,  1919,  1919,  1919,  1919,  1919,  1919,   -64,
-32768,-32768,  2175,  2407,   158,   158,   445,   445,   -22,  1919,
  1919,  1919,  2322,   408,  1919,-32768,  2368,   757,   758,  5533,
   684,  1919,  5556,   587,  1351,  5579,-32768,  1919,   623,   779,
   780,   781,   782,   785,   786,   787,   788,   789,   790,   791,
   792,   793,   795,   796,   797,   798,   799,   800,   802,   805,
   806,   808,   683,   809,   811,   812,   818,   830,   829,-32768,
    56,   831,   836,   832,  5274,   369,    77,   -10,  5602,  5625,
  5648,  5671,  5694,  5717,  5740,  5763,  5786,  5809,  5832,  3044,
  5855,  5878,  5901,  5924,  5947,  5970,  3065,  3086,  3107,    89,
-32768,  1857,   255,  2114,  1511,-32768,   138,   142,   843,  1919,
   855,   858,     6,-32768,  1615,   544,   714,   417,   417,   160,
   160,   160,   160,   269,   269,   584,   584,   584,   584,   860,
  1986,   828,   861,   857,   876,  5993,   877,   862,  6016,   879,
   881,   885,   467,   273,   149,  1919,   886,  2676,  6039,  6062,
  1919,  2699,  2722,  6085,  6108,  6131,  6154,  6177,   158,  1919,
  1919,-32768,-32768,-32768,   705,  2616,-32768,   716,  1919,  3128,
  3149,  3170,-32768,-32768,-32768,  1919,  5299,-32768,   715,   718,
   887,   725,  6200,   894,  1919,  1919,-32768,  6223,   770,   723,
   724,   738,   740,   741,   743,   744,   745,   746,   747,   749,
   750,   759,   761,   762,   763,   764,   765,   766,   767,   768,
   769,   771,   773,   774,   776,   777,   778,   783,   784,-32768,
   922,   760,-32768,   794,   117,-32768,-32768,   775,   801,   804,
   810,   813,   814,   815,   816,   817,   819,   820,   821,   924,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,  1919,-32768,-32768,-32768,-32768,-32768,-32768,
  1919,  1919,  1919,-32768,  1986,   927,  1522,   289,   584,   803,
  1919,  2153,   823,    91,  1919,   928,   930,   690,-32768,   951,
   807,     7,   931,  1919,-32768,    90,   158,-32768,  1857,  1857,
   952,  1857,-32768,   953,-32768,  1857,  1857,-32768,  1986,  1551,
-32768,   852,   822,   954,   959,   960,   354,   961,   962,   963,
   967,   969,   973,   978,   110,  3191,  3212,-32768,-32768,  2745,
   158,   158,   158,   958,   980,  1919,  1919,  1857,  1919,   985,
  1857,  1797,   442,   991,   868,  1017,  1919,  1919,   158,  1018,
  1019,   859,  1023,  1024,  1857,  1857,  1025,   158,  1026,  1027,
  1857,  1857,  1028,  1029,  1030,  1031,  1033,  1857,   423,  1857,
  1034,  1035,  1036,  1042,  1043,-32768,  1041,   328,  1044,-32768,
    17,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,
  1919,  1919,  1919,-32768,  6246,  6269,  6292,  6315,   100,-32768,
-32768,  1986,  1583,  2181,  2137,   367,  1511,-32768,    14,   251,
   873,  1032,   995,-32768,-32768,-32768,     7,  1919,   882,  2209,
-32768,   204,-32768,  1201,  1048,    41,    62,  1049,  1857,  1055,
  1857,  1056,  1057,   215,-32768,  1986,-32768,  1919,  1857,  1857,
  1857,-32768,   406,  1857,  1857,  1857,  1857,  1857,  1857,  1857,
  1919,  1919,  1919,   888,   -55,    18,   137,-32768,-32768,  3233,
  3254,  1060,  6338,    -7,   986,  1919,  1919,-32768,   890,    13,
   892,  3275,  3296,   -94,   895,   898,   896,   901,   900,   906,
   915,   916,   -35,   917,   923,   925,   918,   920,   926,   929,
   948,   950,   932,-32768,-32768,-32768,-32768,-32768,   955,   956,
   974,   984,   987,   934,   988,-32768,   992,   369,  1096,  3317,
  3338,  3359,  3380,  3401,  3422,  3443,  3464,  3485,  3506,  3527,
  3548,-32768,-32768,-32768,-32768,-32768,   228,   993,  1986,   394,
  1919,  1621,  1857,  1098,  1919,  1100,  1106,     6,-32768,  1124,
  5324,  1080,   219,  3569,     7,-32768,-32768,-32768,-32768,   158,
-32768,  1126,-32768,  1127,-32768,-32768,   996,   231,  3590,  1133,
  1134,  1159,  1919,  1919,  1168,  1169,  1170,  1171,  1172,  1173,
  1174,  2768,  6361,  1116,   445,   158,  1175,   158,  1176,   158,
     9,  1919,  1919,-32768,  1177,  1857,  1857,  1102,  1857,   186,
  6384,  1919,    13,  1180,  1919,  1857,  1190,  1183,  1191,  1037,
  1192,   423,  1193,  1198,  1919,  1197,  1216,  1214,  1215,  1219,
   423,  1919,  1919,  1919,  1857,  1217,  1237,   423,  1919,  1238,
  1239,  1240,  1919,   328,-32768,-32768,  1919,  1919,  1919,  1919,
  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1919,  1066,   260,
  1814,  1201,-32768,  1986,  1241,  1242,  1051,-32768,  1243,  1245,
-32768,  1071,  1086,  1919,  1919,-32768,    66,-32768,-32768,-32768,
  1067,  1919,-32768,-32768,-32768,  1072,  1164,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,  1087,-32768,  1919,-32768,  1085,   198,
-32768,   201,-32768,   205,-32768,   141,  3611,  3632,    -7,   135,
-32768,   266,  1094,  1204,  1919,-32768,-32768,  3653,    13,  1110,
  3674,  1108,-32768,  1109,-32768,  1111,-32768,  1119,-32768,  1112,
  6407,-32768,  1120,-32768,-32768,  1123,  1125,  6430,  3695,  6453,
  1122,-32768,  1139,  1147,  3716,  1153,  1158,-32768,  3737,  1155,
  3758,  3779,  3800,  3821,  3842,  3863,  3884,  3905,  3926,  3947,