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

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

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

static FILE          *yyinTab[MAX_OPEN_FILES];
static int            yylinenoTab[MAX_OPEN_FILES];
static fpos_t         yyposImbricatedLoopsTab[MAX_OPEN_FILES];
static 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;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
static void           *pNumOpt;
static char          **pStrOpt, *pStrViewOpt;
static unsigned int   *pColOpt;
static StringXString  *pStrCat;
static StringXNumber  *pNumCat;
static StringXColor   *pColCat;

char *strsave(char *ptr);
void  yyerror (char *s);
void  vyyerror (char *fmt, ...);
void skip_until (char *);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 64 "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 YYTRANSLATE(x) ((unsigned)(x) <= 418 ? yytranslate[x] : 261)

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,     2,     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,
   952,   960,   964,   971,   975,   982,   987,   995,  1000,  1008,
  1013,  1021,  1026,  1034,  1041,  1053,  1060,  1072,  1079,  1091,
  1098,  1110,  1117,  1129,  1136,  1148,  1154,  1166,  1172,  1184,
  1193,  1205,  1213,  1222,  1235,  1242,  1248,  1256,  1264,  1277,
  1285,  1295,  1313,  1321,  1330,  1339,  1347,  1359,  1365,  1374,
  1387,  1396,  1419,  1440,  1449,  1458,  1464,  1473,  1481,  1490,
  1496,  1508,  1514,  1524,  1526,  1528,  1530,  1531,  1534,  1539,
  1544,  1551,  1555,  1559,  1563,  1566,  1569,  1576,  1585,  1594,
  1605,  1607,  1610,  1612,  1616,  1621,  1623,  1632,  1645,  1654,
  1667,  1676,  1689,  1701,  1717,  1719,  1722,  1732,  1735,  1742,
  1752,  1762,  1771,  1780,  1789,  1796,  1801,  1804,  1807,  1809,
  1812,  1814,  1816,  1818,  1820,  1822,  1824,  1828,  1831,  1834,
  1837,  1841,  1845,  1849,  1853,  1857,  1861,  1865,  1869,  1873,
  1877,  1881,  1885,  1889,  1893,  1899,  1904,  1909,  1914,  1919,
  1924,  1929,  1934,  1939,  1944,  1949,  1956,  1961,  1966,  1971,
  1976,  1981,  1986,  1993,  2000,  2007,  2012,  2014,  2016,  2018,
  2023,  2026,  2032,  2035,  2041,  2045,  2054,  2059,  2069,  2074,
  2084,  2088,  2094,  2096,  2099,  2102,  2106,  2110,  2122,  2132,
  2140,  2148,  2149,  2153,  2155,  2159,  2160,  2164,  2168,  2170,
  2174,  2175,  2177,  2181,  2185,  2187,  2189,  2193,  2197,  2201,
  2207,  2217,  2225,  2231,  2233,  2239,  2243,  2252,  2254,  2258,
  2260,  2265
static const short yyrhs[] = {   184,
     0,   183,     0,   189,     0,     1,     6,     0,   140,     0,
   143,   144,   244,   244,   244,   145,   146,   142,   244,   244,
   244,   142,   244,   244,   244,   142,   244,   244,   244,   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,   251,   179,     5,   175,     6,     0,   120,   174,   251,
   175,     6,     0,   121,   174,     5,   179,     5,   179,   251,
   179,   251,   179,     5,   179,     5,   179,     5,   175,     6,
     0,     3,     7,    98,   174,     5,   179,   249,   175,     6,
     0,     3,     7,    97,   174,     5,   179,   246,   179,   255,
   179,   245,   179,   245,   179,   245,   179,   255,   179,   255,
   179,   245,   175,     6,     0,     3,     7,    96,   174,     5,
   179,   246,   179,   246,   179,   253,   179,   245,   179,   245,
   179,   245,   179,   245,   179,   255,   179,   255,   179,   255,
   179,   255,   179,   245,   175,     6,     0,     3,     7,   104,
   174,     5,   179,     3,   179,     3,   179,     3,   179,   245,
   175,     6,     0,     3,     7,   108,   174,     5,   179,     3,
   179,   245,   175,     6,     0,     3,     7,   125,   174,     5,
   179,     3,   179,   245,   175,     6,     0,     3,     7,   106,
   174,     5,   179,   165,   179,   165,   179,   246,   179,   245,
   175,     6,     0,     3,     7,   109,   174,     5,   179,   255,
   175,     6,     0,     3,     7,   110,   174,     5,   179,   255,
   179,     3,   179,   245,   175,     6,     0,     3,     7,   105,
   174,     5,   179,     3,   175,     6,     0,     3,     7,   111,
   174,     5,   179,     3,   179,   246,   175,     6,     0,     3,
     7,   113,   174,     5,   179,     3,   179,     3,   179,     3,
   175,     6,     0,     3,     7,   112,   174,     5,   179,   249,
   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,   255,   175,     6,     0,     3,     7,   124,   174,     5,
   179,   255,   179,     3,   175,     6,     0,     3,     7,   122,
   174,     5,   179,     3,   175,     6,     0,     3,     7,   126,
   174,     5,   179,     3,   179,   246,   175,     6,     0,     3,
     7,   127,   174,     5,   179,     3,   179,   246,   179,   246,
   175,     6,     0,     3,     7,   134,   174,     5,   179,     3,
   179,   246,   179,   246,   175,     6,     0,     3,     7,   128,
   174,     5,   179,     3,   179,   246,   175,     6,     0,     3,
     7,   138,   174,     5,   179,     3,   179,   246,   179,   246,
   175,     6,     0,     3,     7,   129,   174,     5,   179,     3,
   179,   255,   179,   255,   179,   245,   179,   245,   175,     6,
     0,     3,     7,   130,   174,     5,   179,   255,   175,     6,
     0,     3,     7,   131,   174,   132,   179,   245,   179,     3,
   175,     6,     0,     3,     7,   133,   174,     5,   179,   255,
   179,   245,   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,   230,
     0,   231,     0,   232,     0,   235,     0,   236,     0,   239,
     0,   242,     0,   243,     0,   238,     0,   237,     0,    31,
   174,     5,   175,     6,     0,    31,   174,     5,   179,   256,
   175,     6,     0,    64,     5,   180,   193,   181,     6,     0,
    64,     5,     4,   249,   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,   246,     0,   194,   179,
   246,     0,     0,    76,   174,   246,   179,   246,   179,   246,
   175,   196,   180,   194,   181,     6,     0,   246,     0,   197,
   179,   246,     0,     0,    77,   174,   246,   179,   246,   179,
   246,   175,   199,   180,   197,   181,     6,     0,   246,     0,
   200,   179,   246,     0,     0,    78,   174,   246,   179,   246,
   179,   246,   175,   202,   180,   200,   181,     6,     0,   246,
     0,   203,   179,   246,     0,     0,    73,   174,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   175,
   205,   180,   203,   181,     6,     0,   246,     0,   206,   179,
   246,     0,     0,    74,   174,   246,   179,   246,   179,   246,
   179,   246,   179,   246,   179,   246,   175,   208,   180,   206,
   181,     6,     0,   246,     0,   209,   179,   246,     0,     0,
    75,   174,   246,   179,   246,   179,   246,   179,   246,   179,
   246,   179,   246,   175,   211,   180,   209,   181,     6,     0,
   246,     0,   212,   179,   246,     0,     0,    70,   174,   246,
   179,   246,   179,   246,   179,   246,   179,   246,   179,   246,
   179,   246,   179,   246,   179,   246,   175,   214,   180,   212,
   181,     6,     0,   246,     0,   215,   179,   246,     0,     0,
    71,   174,   246,   179,   246,   179,   246,   179,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   175,
   217,   180,   215,   181,     6,     0,   246,     0,   218,   179,
   246,     0,     0,    72,   174,   246,   179,   246,   179,   246,
   179,   246,   179,   246,   179,   246,   179,   246,   179,   246,
   179,   246,   175,   220,   180,   218,   181,     6,     0,   246,
     0,   221,   179,   246,     0,     0,    67,   174,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   179,
   246,   175,   223,   180,   221,   181,     6,     0,   246,     0,
   224,   179,   246,     0,     0,    68,   174,   246,   179,   246,
   179,   246,   179,   246,   179,   246,   179,   246,   179,   246,
   179,   246,   179,   246,   179,   246,   179,   246,   179,   246,
   175,   226,   180,   224,   181,     6,     0,   246,     0,   227,
   179,   246,     0,     0,    69,   174,   246,   179,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   179,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   175,
   229,   180,   227,   181,     6,     0,     4,     7,   246,     6,
     0,     4,   176,   246,   177,     7,   246,     6,     0,     4,
   170,     6,     0,     4,   176,   246,   177,   170,     6,     0,
     4,   171,     6,     0,     4,   176,   246,   177,   171,     6,
     0,     4,   149,   246,     6,     0,     4,   176,   246,   177,
   149,   246,     6,     0,     4,   150,   246,     6,     0,     4,
   176,   246,   177,   150,   246,     6,     0,     4,   151,   246,
     6,     0,     4,   176,   246,   177,   151,   246,     6,     0,
     4,   152,   246,     6,     0,     4,   176,   246,   177,   152,
   246,     6,     0,     4,   178,     4,     7,     5,     6,     0,
     4,   178,    64,   176,   246,   177,   178,     4,     7,     5,
     6,     0,     4,   178,     4,     7,   246,     6,     0,     4,
   178,    64,   176,   246,   177,   178,     4,     7,   246,     6,
     0,     4,   178,     4,   149,   246,     6,     0,     4,   178,
    64,   176,   246,   177,   178,     4,   149,   246,     6,     0,
     4,   178,     4,   150,   246,     6,     0,     4,   178,    64,
   176,   246,   177,   178,     4,   150,   246,     6,     0,     4,
   178,     4,   151,   246,     6,     0,     4,   178,    64,   176,
   246,   177,   178,     4,   151,   246,     6,     0,     4,   178,
     4,   152,   246,     6,     0,     4,   178,    64,   176,   246,
   177,   178,     4,   152,   246,     6,     0,     4,   178,     4,
   170,     6,     0,     4,   178,    64,   176,   246,   177,   178,
     4,   170,   246,     6,     0,     4,   178,     4,   171,     6,
     0,     4,   178,    64,   176,   246,   177,   178,     4,   171,
   246,     6,     0,     4,   178,    85,   178,     4,     7,   257,
     6,     0,     4,   178,    64,   176,   246,   177,   178,    85,
     7,   258,     6,     0,    34,   174,   246,   175,     7,   249,
     6,     0,    49,    34,   174,   246,   175,     7,   255,     6,
     0,    65,    34,   255,     7,   180,   246,   179,   246,   179,
   246,   181,     6,     0,    41,    42,   255,     7,   246,     6,
     0,    34,   180,   246,   181,     6,     0,    37,   174,   246,
   175,     7,   255,     6,     0,    39,   174,   246,   175,     7,
   255,     6,     0,    65,    37,   255,     7,   180,   246,   179,
   246,   179,   246,   181,     6,     0,    35,   174,   246,   175,
     7,   255,     6,     0,    35,   174,   246,   175,     7,   255,
    45,   249,     6,     0,    43,   174,   246,   175,     7,   180,
   246,   179,   246,   179,     5,   179,     5,   179,     5,   181,
     6,     0,    36,   174,   246,   175,     7,   255,     6,     0,
    49,    37,   174,   246,   175,     7,   255,     6,     0,    37,
    59,   174,   246,   175,     7,   255,     6,     0,    79,   174,
   246,   175,     7,   255,     6,     0,    80,   174,   246,   175,
     7,   255,    84,   255,    81,   246,     6,     0,    37,   180,
   246,   181,     6,     0,    45,    38,   174,   246,   175,     7,
   255,     6,     0,   139,    38,   174,   246,   175,     7,   180,
   246,   179,   255,   181,     6,     0,    46,    38,   174,   246,
   175,     7,   255,     6,     0,    80,    38,    82,    83,   174,
   246,   175,     7,   253,    84,   180,   255,   179,   255,   181,
    81,   180,   246,   179,   246,   181,     6,     0,    80,    38,
   174,   246,   175,     7,   253,    84,   180,   255,   179,   255,
   181,    81,   180,   246,   179,   246,   181,     6,     0,    49,
    38,   174,   246,   175,     7,   255,     6,     0,    38,    59,
   174,   246,   175,     7,   255,     6,     0,    38,   180,   246,
   181,     6,     0,    48,    40,   174,   246,   175,     7,   255,
     6,     0,    40,   174,   246,   175,     7,   255,     6,     0,
    49,    40,   174,   246,   175,     7,   255,     6,     0,    54,
   249,   180,   233,   181,     0,    53,   180,   249,   179,   249,
   179,   246,   181,   180,   233,   181,     0,    55,   249,   180,
   233,   181,     0,    56,   180,   249,   179,   246,   181,   180,
   233,   181,     0,   235,     0,   234,     0,   232,     0,     0,
   234,   231,     0,    58,   180,   234,   181,     0,    61,   180,
   234,   181,     0,    61,    64,   176,   246,   177,     6,     0,
    61,    95,     6,     0,     4,   260,     6,     0,     4,   246,
     6,     0,    91,     6,     0,    33,     6,     0,    86,   174,
   246,     8,   246,   175,     0,    86,   174,   246,     8,   246,
     8,   246,   175,     0,    86,     4,    87,   180,   246,     8,
   246,   181,     0,    86,     4,    87,   180,   246,     8,   246,
     8,   246,   181,     0,    88,     0,    94,     4,     0,    92,
     0,    93,     4,     6,     0,    89,   174,   246,   175,     0,
    90,     0,    57,    34,   180,   246,   179,   249,   181,     6,
     0,    57,    34,   180,   246,   179,   249,   179,   249,   179,
   246,   181,     6,     0,    57,    37,   180,   246,   179,   249,
   181,     6,     0,    57,    37,   180,   246,   179,   249,   179,
   249,   179,   246,   181,     6,     0,    57,    38,   180,   246,
   179,   249,   181,     6,     0,    57,    38,   180,   246,   179,
   249,   179,   249,   179,   246,   181,     6,     0,    57,    38,
   180,   246,   179,   249,   181,   180,   240,   181,     6,     0,
    57,    38,   180,   246,   179,   249,   179,   249,   179,   246,
   181,   180,   240,   181,     6,     0,   241,     0,   240,   241,
     0,    66,   180,   255,   179,   255,   179,   255,   181,     6,
     0,    60,     6,     0,    47,    37,   255,     7,   246,     6,
     0,    47,    37,   255,     7,   246,    50,    52,   246,     6,
     0,    47,    37,   255,     7,   246,    50,    51,   246,     6,
     0,    47,    38,   180,   246,   181,     7,   255,     6,     0,
    44,    38,   180,   246,   181,     7,   255,     6,     0,    47,
    40,   180,   246,   181,     7,   255,     6,     0,    60,    38,
   255,     7,   246,     6,     0,    60,    38,   255,     6,     0,
    62,     6,     0,    63,     6,     0,     3,     0,   164,     3,
     0,    99,     0,   100,     0,   101,     0,   102,     0,   103,
     0,   247,     0,   174,   246,   175,     0,   164,   246,     0,
   163,   246,     0,   169,   246,     0,   246,   164,   246,     0,
   246,   163,   246,     0,   246,   165,   246,     0,   246,   166,
   246,     0,   246,   167,   246,     0,   246,   173,   246,     0,
   246,   159,   246,     0,   246,   161,   246,     0,   246,   160,
   246,     0,   246,   162,   246,     0,   246,   156,   246,     0,
   246,   157,   246,     0,   246,   155,   246,     0,   246,   154,
   246,     0,   246,   153,   246,     8,   246,     0,    10,   174,
   246,   175,     0,    11,   174,   246,   175,     0,    12,   174,
   246,   175,     0,    13,   174,   246,   175,     0,    14,   174,
   246,   175,     0,    15,   174,   246,   175,     0,    16,   174,
   246,   175,     0,    17,   174,   246,   175,     0,    18,   174,
   246,   175,     0,    20,   174,   246,   175,     0,    21,   174,
   246,   179,   246,   175,     0,    22,   174,   246,   175,     0,
    23,   174,   246,   175,     0,    24,   174,   246,   175,     0,
    25,   174,   246,   175,     0,    26,   174,   246,   175,     0,
    27,   174,   246,   175,     0,    28,   174,   246,   179,   246,
   175,     0,    29,   174,   246,   179,   246,   175,     0,    30,
   174,   246,   179,   246,   175,     0,    19,   174,   246,   175,
     0,     3,     0,     9,     0,     4,     0,     4,   176,   246,
   177,     0,     4,   170,     0,     4,   176,   246,   177,   170,
     0,     4,   171,     0,     4,   176,   246,   177,   171,     0,
     4,   178,     4,     0,     4,   178,    64,   176,   246,   177,
   178,     4,     0,     4,   178,     4,   170,     0,     4,   178,
    64,   176,   246,   177,   178,     4,   170,     0,     4,   178,
     4,   171,     0,     4,   178,    64,   176,   246,   177,   178,
     4,   171,     0,   246,     8,   246,     0,   246,     8,   246,
     8,   246,     0,   250,     0,   164,   249,     0,   163,   249,
     0,   249,   164,   249,     0,   249,   163,   249,     0,   180,
   246,   179,   246,   179,   246,   179,   246,   179,   246,   181,
     0,   180,   246,   179,   246,   179,   246,   179,   246,   181,
     0,   180,   246,   179,   246,   179,   246,   181,     0,   174,
   246,   179,   246,   179,   246,   175,     0,     0,   174,   252,
   175,     0,     5,     0,   252,   179,     5,     0,     0,   180,
   254,   181,     0,   174,   254,   175,     0,   255,     0,   254,
   179,   255,     0,     0,   246,     0,     4,   176,   177,     0,
   180,   256,   181,     0,   246,     0,   248,     0,     4,   176,
   177,     0,   256,   179,   246,     0,   256,   179,   248,     0,
   256,   179,     4,   176,   177,     0,   180,   246,   179,   246,
   179,   246,   179,   246,   181,     0,   180,   246,   179,   246,
   179,   246,   181,     0,   180,     4,   179,   246,   181,     0,
     4,     0,     4,   178,    85,   178,     4,     0,   180,   259,
   181,     0,     4,   178,    64,   176,   246,   177,   178,    85,
     0,   257,     0,   259,   179,   257,     0,     5,     0,    32,
   174,     5,   175,     0,    32,   174,     5,   179,   256,   175,
     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   143,   145,   146,   147,   154,   162,   176,   188,   190,   193,
   195,   196,   199,   205,   210,   211,   212,   215,   219,   222,
   228,   233,   239,   247,   252,   256,   262,   267,   271,   276,
   280,   283,   288,   292,   296,   300,   305,   309,   312,   316,
   320,   324,   328,   332,   336,   339,   343,   346,   350,   353,
   362,   366,   372,   374,   375,   376,   377,   378,   379,   380,
   381,   382,   383,   384,   387,   392,   421,   426,   432,   437,
   438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   448,   451,   454,   458,   464,   470,   473,   477,   483,   489,
   492,   496,   502,   508,   511,   515,   523,   529,   532,   536,
   544,   550,   553,   557,   565,   571,   574,   578,   590,   596,
   599,   603,   615,   621,   624,   628,   640,   646,   649,   653,
   666,   672,   675,   679,   692,   698,   701,   705,   718,   730,
   746,   758,   767,   779,   787,   799,   807,   819,   827,   839,
   847,   859,   871,   890,   903,   921,   938,   959,   976,   997,
  1014,  1035,  1052,  1073,  1094,  1120,  1137,  1158,  1175,  1198,
  1211,  1236,  1247,  1253,  1272,  1283,  1291,  1297,  1303,  1322,
  1328,  1344,  1351,  1357,  1363,  1369,  1375,  1394,  1406,  1412,
  1431,  1452,  1460,  1466,  1472,  1478,  1490,  1496,  1502,  1514,
  1520,  1525,  1530,  1537,  1539,  1540,  1543,  1548,  1559,  1577,
  1585,  1589,  1600,  1655,  1675,  1679,  1698,  1714,  1728,  1753,
  1778,  1804,  1810,  1815,  1820,  1824,  1834,  1840,  1846,  1850,
  1854,  1858,  1862,  1867,  1874,  1878,  1883,  1901,  1911,  1929,
  1946,  1963,  1984,  2004,  2024,  2041,  2065,  2070,  2081,  2083,
  2086,  2088,  2089,  2090,  2091,  2094,  2096,  2097,  2098,  2099,
  2100,  2101,  2102,  2103,  2110,  2111,  2112,  2113,  2114,  2115,
  2116,  2117,  2118,  2119,  2120,  2121,  2122,  2123,  2124,  2125,
  2126,  2127,  2128,  2129,  2130,  2131,  2132,  2133,  2134,  2135,
  2136,  2137,  2138,  2139,  2140,  2141,  2146,  2151,  2155,  2167,
  2185,  2197,  2215,  2227,  2247,  2268,  2292,  2313,  2337,  2358,
  2383,  2390,  2403,  2410,  2414,  2418,  2422,  2427,  2432,  2436,
  2440,  2446,  2450,  2455,  2459,  2464,  2468,  2472,  2478,  2484,
  2490,  2494,  2500,  2515,  2522,  2528,  2537,  2549,  2553,  2561,
  2574,  2579,  2583,  2588,  2593,  2611,  2616,  2637,  2646,  2652,
  2657,  2661
};
#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",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tCoherence","tIntersect","tView","tAttractor","tLayers","tScalarTetrahedron",
"tVectorTetrahedron","tTensorTetrahedron","tScalarTriangle","tVectorTriangle",
"tTensorTriangle","tScalarLine","tVectorLine","tTensorLine","tScalarPoint","tVectorPoint",
"tTensorPoint","tBSpline","tNurbs","tOrder","tWith","tBounds","tKnots","tColor",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tFor","tIn","tEndFor","tIf","tEndIf","tExit","tReturn","tCall","tFunction",
"tMesh","tB_SPLINE_SURFACE_WITH_KNOTS","tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"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","Affectation","Shape","Transform",
"MultipleShape","ListOfShapes","Duplicata","Delete","Command","Loop","Extrude",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"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,   230,   230,   230,   230,   230,   230,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
   230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
   230,   231,   231,   231,   231,   231,   231,   231,   231,   231,
   231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
   231,   231,   231,   231,   231,   231,   231,   231,   231,   232,
   232,   232,   232,   233,   233,   233,   234,   234,   235,   236,
   236,   236,   237,   237,   237,   237,   238,   238,   238,   238,
   238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
   239,   239,   239,   239,   240,   240,   241,   241,   242,   242,
   242,   242,   242,   242,   242,   242,   243,   243,   244,   244,
   245,   245,   245,   245,   245,   246,   246,   246,   246,   246,
   246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
   246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
   246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
   246,   246,   246,   246,   246,   246,   247,   247,   247,   247,
   247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
   248,   248,   249,   249,   249,   249,   249,   250,   250,   250,
   250,   251,   251,   252,   252,   253,   253,   253,   254,   254,
   255,   255,   255,   255,   256,   256,   256,   256,   256,   256,
   257,   257,   257,   257,   257,   258,   258,   259,   259,   260,
   260,   260
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,     4,
     7,     3,     6,     3,     6,     4,     7,     4,     7,     4,
     7,     4,     7,     6,    11,     6,    11,     6,    11,     6,
    11,     6,    11,     6,    11,     5,    11,     5,    11,     8,
    11,     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,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     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,     2,     5,     3,     8,     4,     9,     4,     9,
     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,     8,     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,     0,   211,     0,   216,     0,   213,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,    52,    54,    53,    55,    56,    57,    58,
    59,    64,    63,    60,    61,    62,   239,     0,     0,     0,
    13,    14,    16,    15,    17,   312,   312,     0,   287,   289,
   340,     0,   288,     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,   246,     0,
     0,   206,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   321,     0,     0,     0,     0,   321,     0,
     0,     0,   303,     0,     0,     0,     0,     0,   197,   321,
     0,     0,   197,   237,   238,     0,   321,   321,     0,     0,
     0,     0,     0,     0,   205,     0,   212,     0,   240,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   291,   293,     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,   249,   248,   250,   132,   134,
     0,     0,     0,     0,     0,   204,     0,     0,     0,     0,
     0,   203,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   289,     0,   322,     0,     0,     0,
     0,   305,   304,     0,     0,     0,     0,   197,   197,     0,
     0,     0,     0,     0,     0,     0,   202,     0,     0,    69,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   214,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   314,     0,     0,     0,     0,     0,   295,     0,
   130,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   136,   138,   140,   142,   247,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   264,
   263,   261,   262,   257,   259,   258,   260,   252,   251,   253,
   254,   255,   256,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   289,   325,   326,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   307,   306,   196,
     0,   195,   194,     0,     0,     0,     0,     0,   199,   198,
   236,     0,     0,   200,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   215,     0,     0,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
    19,     0,   290,   297,   299,     0,   266,   267,   268,   269,
   270,   271,   272,   273,   274,   286,   275,     0,   277,   278,
   279,   280,   281,   282,     0,     0,     0,   341,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   156,   158,     0,     0,     0,    65,     0,     0,
   166,   321,   321,     0,   321,   178,     0,   186,   321,   321,
   323,     0,     0,     0,   324,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   190,   192,     0,     0,     0,     0,     0,     0,    69,
     0,     0,     0,    70,    71,    72,    73,    74,    75,    76,
    77,    78,    79,    80,    81,     0,     0,   321,     0,     0,
   321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   321,   321,     0,     0,     0,     0,
   321,   321,     0,     0,     0,     0,     0,   321,     0,   321,
     0,     0,     0,     0,     0,   315,     0,   312,   292,   294,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   133,   135,   144,   146,   148,   150,   152,   154,     0,
     0,   265,     0,     0,     0,     0,   321,     0,   321,     0,
     0,   327,   301,   289,   328,   329,   165,     0,   321,   321,
   321,   229,     0,   321,   321,   321,   321,   321,   321,   321,
     0,     0,     0,     0,     0,     0,     0,   235,   201,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    67,     0,     0,     0,     0,   316,     0,     0,
     0,   207,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   241,   242,   243,
   244,   245,     0,     0,     0,     0,     0,     0,     0,    18,
     0,     0,   276,   283,   284,   285,   342,   131,   137,   139,
   141,   143,     0,   334,     0,     0,    66,   162,   170,     0,
   173,     0,   167,     0,   168,   188,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   197,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   176,     0,   321,   321,
     0,   321,     0,     0,     0,     0,     0,     0,   321,     0,
     0,     0,     0,     0,     0,     0,     0,   321,     0,     0,
     0,     0,     0,     0,     0,     0,   312,     0,     0,     0,
     0,   289,     0,   160,     0,   175,   185,   302,   330,     0,
   233,   179,   181,     0,     0,   232,   234,   187,   163,   174,
   184,   189,     0,   311,     0,   310,     0,     0,   217,     0,
   219,     0,   221,     0,    68,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   316,
     0,   319,     0,     0,     0,     0,   209,   208,     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,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   171,     0,   231,   230,   197,     0,   193,
     0,     0,     0,     0,     0,     0,   225,     0,     0,     0,
     0,     0,   318,   321,   317,   321,     0,     0,   321,     0,
     0,   316,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   321,     0,     0,     0,     0,     0,
     0,     0,   298,   300,     0,     0,     0,     0,     0,     0,
     0,   309,     0,     0,     0,   228,   321,     0,   226,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   320,     0,     0,   210,     0,     0,
    35,     0,     0,     0,     0,    25,     0,    31,     0,    37,
    26,    39,     0,    42,     0,    46,    47,     0,     0,    49,
     0,     0,   145,   147,   149,   151,   153,   155,   157,   159,
     0,   338,     0,   161,   335,   333,     0,     0,   191,     0,
     0,     0,     0,     0,   223,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   321,
   321,   177,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   336,     0,
     0,   308,   218,   220,   222,     0,   321,     0,     0,     0,
     0,     0,     0,     0,     0,     0,    84,    88,    92,   164,
   169,     0,     0,   180,     0,     0,     0,     0,     0,    29,
    32,    40,     0,    41,    48,    43,     0,     0,   339,     0,
   332,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   321,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   321,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,    24,    27,     0,
     0,     0,   331,     0,   224,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,    82,     0,    86,     0,
    90,     0,     0,     0,     0,   321,     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,   337,   172,   227,     0,     0,     0,     0,
     0,     0,     0,     0,     0,    83,    85,    87,    89,    91,
    93,     0,     0,     0,     0,   321,     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,   321,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   183,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    94,     0,    98,     0,   102,     0,
   321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   182,     0,    22,     0,     0,     0,
     0,     0,     0,    95,    97,    99,   101,   103,   105,   321,
     0,     0,     0,   108,   112,   116,     0,     0,     0,     0,
     0,     0,     0,   321,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   106,     0,   110,     0,   114,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     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[] = {  1540,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     5,     6,    19,    20,    21,    22,     7,    64,    65,    66,
   486,  1316,   634,  1264,  1318,   635,  1265,  1320,   636,  1266,
  1424,   637,  1397,  1426,   638,  1398,  1428,   639,  1399,  1485,
   640,  1471,  1487,   641,  1472,  1489,   642,  1473,  1522,   643,
  1516,  1524,   644,  1517,  1526,   645,  1518,    67,   480,   470,
   471,   472,   473,    71,    72,    73,    74,  1036,  1037,    75,
    76,    79,   803,   297,   129,   450,   162,   163,   222,   374,
   881,   971,   972,   451,   826,  1095,  1163,   130
static const short yypact[] = {  2444,
    80,-32768,-32768,  -114,-32768,   118,  2562,-32768,    20,    94,
   111,   130,   137,   153,   195,   -50,    32,    57,-32768,-32768,
-32768,-32768,   659,    68,   255,   -48,    93,   142,   -49,   -45,
   155,   212,   259,   231,   368,   394,   395,   454,   398,   114,
   174,   100,   100,   265,    28,   295,   464,   -31,   480,   481,
   302,   206,   329,   -33,    11,-32768,   340,-32768,   513,-32768,
   511,   519,   486,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,   528,    20,  2600,
-32768,-32768,-32768,-32768,-32768,   361,   361,   541,-32768,   271,
-32768,    31,-32768,   375,   391,   392,   393,   403,   432,   471,
   472,   474,   475,   476,   477,   478,   479,   483,   484,   485,
   487,   491,   493,   516,   530,    31,    31,    31,    31,    31,
    31,    31,   607,   608,    31,    31,    21,   254,-32768,   616,
   627,-32768,    31,    31,    31,    31,   532,    31,    31,   534,
    31,    31,    31,   321,    31,   529,   536,   537,   321,   533,
   542,   538,   540,   543,   547,   549,   100,   100,   100,    31,
    31,   -96,-32768,   -93,   100,   544,   545,   546,-32768,   321,
   551,   648,-32768,-32768,-32768,    -2,   321,   321,    31,   -65,
    31,   568,    31,    31,-32768,   654,-32768,   566,-32768,    20,
   567,   571,   572,   597,   603,   629,   630,   631,   638,   639,
   642,   643,   650,   651,   652,   653,   658,   660,   662,   664,
   665,   666,   667,   668,   669,   671,   673,   675,   676,   677,
   711,   563,   679,   678,-32768,-32768,    31,    24,   434,    31,
    31,    31,    31,    31,    31,    31,    31,    31,    31,    31,
    31,    31,    31,    31,    31,    31,    31,    31,    31,    31,
   850,   619,   634,   975,  1051,   683,   683,   683,-32768,-32768,
  5436,  5286,   120,   682,   681,-32768,    31,    31,    31,    31,
    31,    31,    31,    31,    31,    31,    31,    31,    31,    31,
    31,-32768,   -75,  5459,  2644,  5482,  5505,    31,  5528,  2667,
    31,  2690,  5551,  5574,   350,  1614,  1207,   853,  5597,    31,
    31,    31,   854,    31,    31,    31,    31,    31,    31,    31,
   -74,-32768,-32768,  2415,  2520,   100,   100,   505,   505,   -35,
    31,    31,    31,  1256,   269,    31,-32768,  2392,   100,-32768,
   869,   870,  5620,   795,    31,  5643,   699,  2129,  5666,-32768,
    31,   736,   880,   881,   882,   883,   900,   901,   905,   906,
   907,   910,   911,   913,   914,   915,   916,   918,   919,   920,
   921,   922,   923,   924,   925,   799,   927,   940,   941,   942,
   947,   946,-32768,    23,   971,   972,   974,  5311,  -133,   776,
-32768,  5689,  5712,  5735,  5758,  5781,  5804,  5827,  5850,  5873,
  5896,  5919,  3081,  5942,  5965,  5988,  6011,  6034,  6057,  3102,
  3123,  3144,    87,-32768,-32768,-32768,-32768,-32768,   143,  1160,
    31,    31,    31,    31,   976,   977,    31,   973,  2192,   735,
   707,   345,   345,   316,   316,   316,   316,   378,   378,   683,
   683,   683,   683,   978,  1614,   979,   981,   982,   990,  6080,
   991,   995,  6103,   996,   997,   998,   353,   377,  2213,-32768,
   247,    31,   999,  2713,  6126,  6149,    31,  2736,  2759,  6172,
  6195,  6218,  6241,  6264,   100,    31,    31,-32768,-32768,-32768,
   804,  2623,-32768,   807,    31,  3165,  3186,  3207,-32768,-32768,
-32768,    31,  5336,-32768,   -72,     5,   800,   823,  1000,   837,
  6287,  1005,    31,    31,-32768,  6310,   867,   835,   836,   838,
   839,   840,   842,   843,   844,   845,   847,   851,   852,   856,
   857,   858,   859,   860,   861,   862,   864,   865,   866,   868,
   872,   873,   877,   885,   886,   887,   888,-32768,  1011,   874,
-32768,   889,   222,-32768,-32768,    31,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,    31,-32768,-32768,
-32768,-32768,-32768,-32768,    31,    31,    31,-32768,  1614,    31,
    31,    31,    31,    31,  1023,  1026,  1027,  1076,  1268,  1326,
  1573,  1588,-32768,-32768,  5361,  1041,    31,-32768,   127,   100,
-32768,   321,   321,  1052,   321,-32768,  1053,-32768,   321,   321,
-32768,   740,    31,  1642,-32768,  1695,   890,  1054,  1055,  1062,
   419,  1064,  1065,  1066,  1067,  1068,  1069,  1070,   221,  3228,
  3249,-32768,-32768,  2782,   100,   100,   100,  1710,  1073,-32768,
   909,   912,   926,   928,   929,   930,   931,   932,   933,   936,
   937,   938,  1074,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,    31,    31,   321,    31,  1077,
   321,  2237,   301,  1078,   939,  1096,    31,    31,   100,  1098,
  1110,   950,  1113,  1114,   321,   321,  1115,   100,  1117,  1118,
   321,   321,  1120,  1121,  1122,  1123,  1130,   321,   509,   321,
  1140,  1141,  1142,  1146,  1147,-32768,  1139,   361,-32768,-32768,
  5386,  6333,  6356,  6379,  6402,   140,  1725,  1750,  1783,  1804,
  1825,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   980,
    -1,  1207,  1145,    26,    18,  1148,   321,  1149,   321,  1150,
  1151,-32768,  2252,   386,  2213,-32768,-32768,    31,   321,   321,
   321,-32768,   237,   321,   321,   321,   321,   321,   321,   321,
    31,    31,    31,   986,   -24,   147,   267,-32768,-32768,   625,
    31,    31,    31,    31,    31,    31,    31,    31,    31,    31,
    31,    31,-32768,  3270,  3291,  1153,  6425,    13,  1083,    31,
    31,-32768,  1012,    20,   983,  3312,  3333,    66,  1014,   985,
  1015,  1016,  1030,  1044,  1042,  1043,   133,  1047,  1045,  1048,
  1071,  1072,  1075,  1091,  1092,  1093,  1059,-32768,-32768,-32768,
-32768,-32768,  1094,  1097,  1099,  1100,  1101,  1080,  1102,-32768,
  1104,  1106,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,    22,  1107,  1670,  1155,-32768,-32768,-32768,   100,
-32768,  1238,-32768,  1239,-32768,-32768,    31,   945,  3354,  1240,
  1241,  1242,    31,    31,  1246,  1247,  1250,  1269,  1271,  1280,
  1281,  2805,  6448,  2156,   505,   100,  1282,   100,  1283,   100,
     1,  1292,  3375,  3396,  3417,  3438,  3459,  3480,  3501,  3522,
  3543,  3564,  3585,  3606,    31,    31,-32768,  1296,   321,   321,
  1222,   321,    10,  6471,    31,    20,  1304,    31,   321,  1302,
  1316,  1319,   987,  1320,   509,  1321,  1325,    31,  1324,  1328,
  1327,  1331,  1335,   509,    31,    31,    31,   321,  1333,  1337,
   509,    31,  1338,  1339,  1340,    31,   361,  1341,   252,  1336,