Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 260 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	tView	317
#define	tAttractor	318
#define	tLayers	319
#define	tScalarTetrahedron	320
#define	tVectorTetrahedron	321
#define	tTensorTetrahedron	322
#define	tScalarTriangle	323
#define	tVectorTriangle	324
#define	tTensorTriangle	325
#define	tScalarLine	326
#define	tVectorLine	327
#define	tTensorLine	328
#define	tScalarPoint	329
#define	tVectorPoint	330
#define	tTensorPoint	331
#define	tBSpline	332
#define	tNurbs	333
#define	tOrder	334
#define	tWith	335
#define	tBounds	336
#define	tKnots	337
#define	tColor	338
#define	tFor	339
#define	tIn	340
#define	tEndFor	341
#define	tIf	342
#define	tEndIf	343
#define	tExit	344
#define	tMerge	345
#define	tReturn	346
#define	tCall	347
#define	tFunction	348
#define	tB_SPLINE_SURFACE_WITH_KNOTS	349
#define	tB_SPLINE_CURVE_WITH_KNOTS	350
#define	tCARTESIAN_POINT	351
#define	tTRUE	352
#define	tFALSE	353
#define	tUNSPECIFIED	354
#define	tU	355
#define	tV	356
#define	tEDGE_CURVE	357
#define	tVERTEX_POINT	358
#define	tORIENTED_EDGE	359
#define	tPLANE	360
#define	tFACE_OUTER_BOUND	361
#define	tEDGE_LOOP	362
#define	tADVANCED_FACE	363
#define	tVECTOR	364
#define	tDIRECTION	365
#define	tAXIS2_PLACEMENT_3D	366
#define	tISO	367
#define	tENDISO	368
#define	tENDSEC	369
#define	tDATA	370
#define	tHEADER	371
#define	tFILE_DESCRIPTION	372
#define	tFILE_SCHEMA	373
#define	tFILE_NAME	374
#define	tMANIFOLD_SOLID_BREP	375
#define	tCLOSED_SHELL	376
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	377
#define	tFACE_BOUND	378
#define	tCYLINDRICAL_SURFACE	379
#define	tCONICAL_SURFACE	380
#define	tCIRCLE	381
#define	tTRIMMED_CURVE	382
#define	tGEOMETRIC_SET	383
#define	tCOMPOSITE_CURVE_SEGMENT	384
#define	tCONTINUOUS	385
#define	tCOMPOSITE_CURVE	386
#define	tTOROIDAL_SURFACE	387
#define	tPRODUCT_DEFINITION	388
#define	tPRODUCT_DEFINITION_SHAPE	389
#define	tSHAPE_DEFINITION_REPRESENTATION	390
#define	tELLIPSE	391
#define	tTrimmed	392
#define	tSolid	393
#define	tEndSolid	394
#define	tVertex	395
#define	tFacet	396
#define	tNormal	397
#define	tOuter	398
#define	tLoopSTL	399
#define	tEndLoop	400
#define	tEndFacet	401
#define	tAFFECTPLUS	402
#define	tAFFECTMINUS	403
#define	tAFFECTTIMES	404
#define	tAFFECTDIVIDE	405
#define	tOR	406
#define	tAND	407
#define	tEQUAL	408
#define	tNOTEQUAL	409
#define	tAPPROXEQUAL	410
#define	tLESSOREQUAL	411
#define	tGREATEROREQUAL	412
#define	tCROSSPRODUCT	413
#define	tPLUSPLUS	414
#define	tMINUSMINUS	415
#define	UNARYPREC	416
 /* $Id: Gmsh.tab.cpp,v 1.45 2000-12-11 19:39:14 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;
static void           *pNumOpt, *pArrOpt;
static char          **pStrOpt, *pStrViewOpt;
static unsigned int   *pColOpt;
static StringXString  *pStrCat;
static StringXNumber  *pNumCat;
static StringXArray   *pArrCat;
static StringXColor   *pColCat;

void yyerror (char *s);
void vyyerror (char *fmt, ...);
void skip_until (char *until);
#line 65 "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		1567
#define	YYNTBASE	181
#define YYTRANSLATE(x) ((unsigned)(x) <= 416 ? yytranslate[x] : 259)

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

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
     0,     2,     4,     6,     8,    30,    32,    33,    36,    38,
    40,    42,    45,    48,    51,    54,    57,    60,    68,    74,
    92,   102,   126,   158,   174,   186,   198,   214,   224,   238,
   248,   260,   274,   284,   294,   306,   316,   328,   338,   350,
   364,   378,   390,   404,   422,   432,   444,   456,   470,   482,
   492,   493,   496,   498,   500,   502,   504,   506,   508,   510,
   512,   514,   516,   518,   520,   523,   529,   537,   544,   553,
   554,   557,   560,   563,   566,   569,   572,   575,   578,   581,
   584,   587,   590,   592,   596,   597,   611,   613,   617,   618,
   632,   634,   638,   639,   653,   655,   659,   660,   680,   682,
   686,   687,   707,   709,   713,   714,   734,   736,   740,   741,
   767,   769,   773,   774,   800,   802,   806,   807,   833,   835,
   839,   840,   872,   874,   878,   879,   911,   913,   917,   918,
   950,   955,   963,   967,   974,   978,   985,   990,   998,  1003,
  1011,  1016,  1024,  1029,  1037,  1044,  1056,  1063,  1075,  1082,
  1094,  1101,  1113,  1120,  1132,  1139,  1151,  1157,  1169,  1175,
  1187,  1194,  1206,  1213,  1225,  1232,  1244,  1253,  1265,  1273,
  1282,  1295,  1302,  1308,  1316,  1324,  1337,  1345,  1355,  1373,
  1381,  1390,  1399,  1407,  1419,  1425,  1434,  1444,  1453,  1476,
  1497,  1506,  1515,  1521,  1530,  1538,  1547,  1553,  1565,  1571,
  1581,  1583,  1585,  1587,  1588,  1591,  1596,  1601,  1605,  1609,
  1612,  1615,  1622,  1631,  1640,  1651,  1653,  1655,  1659,  1662,
  1667,  1669,  1678,  1691,  1700,  1713,  1722,  1735,  1747,  1763,
  1765,  1768,  1778,  1781,  1788,  1798,  1808,  1817,  1826,  1835,
  1842,  1847,  1850,  1852,  1854,  1856,  1858,  1860,  1862,  1866,
  1869,  1872,  1875,  1879,  1883,  1887,  1891,  1895,  1899,  1903,
  1907,  1911,  1915,  1919,  1923,  1927,  1931,  1937,  1942,  1947,
  1952,  1957,  1962,  1967,  1972,  1977,  1982,  1987,  1994,  1999,
  2004,  2009,  2014,  2019,  2024,  2031,  2038,  2045,  2050,  2052,
  2054,  2056,  2061,  2064,  2070,  2073,  2079,  2083,  2092,  2097,
  2107,  2112,  2122,  2126,  2132,  2134,  2137,  2140,  2144,  2148,
  2160,  2170,  2178,  2186,  2190,  2199,  2200,  2204,  2206,  2210,
  2211,  2215,  2219,  2221,  2225,  2226,  2228,  2232,  2236,  2238,
  2240,  2244,  2248,  2252,  2258,  2268,  2276,  2282,  2284,  2290,
  2294,  2303,  2305,  2309,  2311,  2316
static const short yyrhs[] = {   183,
     0,   182,     0,   188,     0,   139,     0,   142,   143,   244,
   244,   244,   144,   145,   141,   244,   244,   244,   141,   244,
   244,   244,   141,   244,   244,   244,   146,   147,     0,   140,
     0,     0,   183,   184,     0,   185,     0,   187,     0,   186,
     0,     1,     6,     0,   113,     6,     0,   114,     6,     0,
   116,     6,     0,   115,     6,     0,   117,     6,     0,   118,
   173,   249,   178,     5,   174,     6,     0,   119,   173,   249,
   174,     6,     0,   120,   173,     5,   178,     5,   178,   249,
   178,   249,   178,     5,   178,     5,   178,     5,   174,     6,
     0,     3,     7,    97,   173,     5,   178,   247,   174,     6,
     0,     3,     7,    96,   173,     5,   178,   244,   178,   253,
   178,   243,   178,   243,   178,   243,   178,   253,   178,   253,
   178,   243,   174,     6,     0,     3,     7,    95,   173,     5,
   178,   244,   178,   244,   178,   251,   178,   243,   178,   243,
   178,   243,   178,   243,   178,   253,   178,   253,   178,   253,
   178,   253,   178,   243,   174,     6,     0,     3,     7,   103,
   173,     5,   178,     3,   178,     3,   178,     3,   178,   243,
   174,     6,     0,     3,     7,   107,   173,     5,   178,     3,
   178,   243,   174,     6,     0,     3,     7,   124,   173,     5,
   178,     3,   178,   243,   174,     6,     0,     3,     7,   105,
   173,     5,   178,   164,   178,   164,   178,   244,   178,   243,
   174,     6,     0,     3,     7,   108,   173,     5,   178,   253,
   174,     6,     0,     3,     7,   109,   173,     5,   178,   253,
   178,     3,   178,   243,   174,     6,     0,     3,     7,   104,
   173,     5,   178,     3,   174,     6,     0,     3,     7,   110,
   173,     5,   178,     3,   178,   244,   174,     6,     0,     3,
     7,   112,   173,     5,   178,     3,   178,     3,   178,     3,
   174,     6,     0,     3,     7,   111,   173,     5,   178,   247,
   174,     6,     0,     3,     7,   106,   173,     5,   178,     3,
   174,     6,     0,     3,     7,    37,   173,     5,   178,     3,
   178,     3,   174,     6,     0,     3,     7,   122,   173,     5,
   178,   253,   174,     6,     0,     3,     7,   123,   173,     5,
   178,   253,   178,     3,   174,     6,     0,     3,     7,   121,
   173,     5,   178,     3,   174,     6,     0,     3,     7,   125,
   173,     5,   178,     3,   178,   244,   174,     6,     0,     3,
     7,   126,   173,     5,   178,     3,   178,   244,   178,   244,
   174,     6,     0,     3,     7,   133,   173,     5,   178,     3,
   178,   244,   178,   244,   174,     6,     0,     3,     7,   127,
   173,     5,   178,     3,   178,   244,   174,     6,     0,     3,
     7,   137,   173,     5,   178,     3,   178,   244,   178,   244,
   174,     6,     0,     3,     7,   128,   173,     5,   178,     3,
   178,   253,   178,   253,   178,   243,   178,   243,   174,     6,
     0,     3,     7,   129,   173,     5,   178,   253,   174,     6,
     0,     3,     7,   130,   173,   131,   178,   243,   178,     3,
   174,     6,     0,     3,     7,   132,   173,     5,   178,   253,
   178,   243,   174,     6,     0,     3,     7,   134,   173,     5,
   178,     5,   178,     3,   178,     3,   174,     6,     0,     3,
     7,   135,   173,     5,   178,     5,   178,     3,   174,     6,
     0,     3,     7,   136,   173,     3,   178,     3,   174,     6,
     0,     0,   188,   189,     0,   191,     0,   190,     0,   229,
     0,   230,     0,   231,     0,   234,     0,   235,     0,   238,
     0,   241,     0,   242,     0,   237,     0,   236,     0,     1,
     6,     0,    31,   173,     5,   174,     6,     0,    31,   173,
     5,   178,   254,   174,     6,     0,    63,     5,   179,   192,
   180,     6,     0,    63,     5,     4,   247,   179,   192,   180,
     6,     0,     0,   192,   194,     0,   192,   197,     0,   192,
   200,     0,   192,   203,     0,   192,   206,     0,   192,   209,
     0,   192,   212,     0,   192,   215,     0,   192,   218,     0,
   192,   221,     0,   192,   224,     0,   192,   227,     0,   244,
     0,   193,   178,   244,     0,     0,    75,   173,   244,   178,
   244,   178,   244,   174,   195,   179,   193,   180,     6,     0,
   244,     0,   196,   178,   244,     0,     0,    76,   173,   244,
   178,   244,   178,   244,   174,   198,   179,   196,   180,     6,
     0,   244,     0,   199,   178,   244,     0,     0,    77,   173,
   244,   178,   244,   178,   244,   174,   201,   179,   199,   180,
     6,     0,   244,     0,   202,   178,   244,     0,     0,    72,
   173,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   174,   204,   179,   202,   180,     6,     0,   244,
     0,   205,   178,   244,     0,     0,    73,   173,   244,   178,
   244,   178,   244,   178,   244,   178,   244,   178,   244,   174,
   207,   179,   205,   180,     6,     0,   244,     0,   208,   178,
   244,     0,     0,    74,   173,   244,   178,   244,   178,   244,
   178,   244,   178,   244,   178,   244,   174,   210,   179,   208,
   180,     6,     0,   244,     0,   211,   178,   244,     0,     0,
    69,   173,   244,   178,   244,   178,   244,   178,   244,   178,
   244,   178,   244,   178,   244,   178,   244,   178,   244,   174,
   213,   179,   211,   180,     6,     0,   244,     0,   214,   178,
   244,     0,     0,    70,   173,   244,   178,   244,   178,   244,
   178,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   174,   216,   179,   214,   180,     6,     0,   244,
     0,   217,   178,   244,     0,     0,    71,   173,   244,   178,
   244,   178,   244,   178,   244,   178,   244,   178,   244,   178,
   244,   178,   244,   178,   244,   174,   219,   179,   217,   180,
     6,     0,   244,     0,   220,   178,   244,     0,     0,    66,
   173,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   178,   244,   174,   222,   179,   220,   180,     6,
     0,   244,     0,   223,   178,   244,     0,     0,    67,   173,
   244,   178,   244,   178,   244,   178,   244,   178,   244,   178,
   244,   178,   244,   178,   244,   178,   244,   178,   244,   178,
   244,   178,   244,   174,   225,   179,   223,   180,     6,     0,
   244,     0,   226,   178,   244,     0,     0,    68,   173,   244,
   178,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   178,   244,   178,   244,   178,   244,   178,   244,
   178,   244,   174,   228,   179,   226,   180,     6,     0,     4,
     7,   244,     6,     0,     4,   175,   244,   176,     7,   244,
     6,     0,     4,   169,     6,     0,     4,   175,   244,   176,
   169,     6,     0,     4,   170,     6,     0,     4,   175,   244,
   176,   170,     6,     0,     4,   148,   244,     6,     0,     4,
   175,   244,   176,   148,   244,     6,     0,     4,   149,   244,
     6,     0,     4,   175,   244,   176,   149,   244,     6,     0,
     4,   150,   244,     6,     0,     4,   175,   244,   176,   150,
   244,     6,     0,     4,   151,   244,     6,     0,     4,   175,
   244,   176,   151,   244,     6,     0,     4,   177,     4,     7,
     5,     6,     0,     4,   177,    63,   175,   244,   176,   177,
     4,     7,     5,     6,     0,     4,   177,     4,     7,   244,
     6,     0,     4,   177,    63,   175,   244,   176,   177,     4,
     7,   244,     6,     0,     4,   177,     4,   148,   244,     6,
     0,     4,   177,    63,   175,   244,   176,   177,     4,   148,
   244,     6,     0,     4,   177,     4,   149,   244,     6,     0,
     4,   177,    63,   175,   244,   176,   177,     4,   149,   244,
     6,     0,     4,   177,     4,   150,   244,     6,     0,     4,
   177,    63,   175,   244,   176,   177,     4,   150,   244,     6,
     0,     4,   177,     4,   151,   244,     6,     0,     4,   177,
    63,   175,   244,   176,   177,     4,   151,   244,     6,     0,
     4,   177,     4,   169,     6,     0,     4,   177,    63,   175,
   244,   176,   177,     4,   169,   244,     6,     0,     4,   177,
     4,   170,     6,     0,     4,   177,    63,   175,   244,   176,
   177,     4,   170,   244,     6,     0,     4,   177,     4,     7,
   247,     6,     0,     4,   177,    63,   175,   244,   176,   177,
     4,     7,   247,     6,     0,     4,   177,     4,   148,   247,
     6,     0,     4,   177,    63,   175,   244,   176,   177,     4,
   148,   247,     6,     0,     4,   177,     4,   149,   247,     6,
     0,     4,   177,    63,   175,   244,   176,   177,     4,   149,
   247,     6,     0,     4,   177,    84,   177,     4,     7,   255,
     6,     0,     4,   177,    63,   175,   244,   176,   177,    84,
     7,   256,     6,     0,    34,   173,   244,   174,     7,   247,
     6,     0,    49,    34,   173,   244,   174,     7,   253,     6,
     0,    64,    34,   253,     7,   179,   244,   178,   244,   178,
   244,   180,     6,     0,    41,    42,   253,     7,   244,     6,
     0,    34,   179,   244,   180,     6,     0,    37,   173,   244,
   174,     7,   253,     6,     0,    39,   173,   244,   174,     7,
   253,     6,     0,    64,    37,   253,     7,   179,   244,   178,
   244,   178,   244,   180,     6,     0,    35,   173,   244,   174,
     7,   253,     6,     0,    35,   173,   244,   174,     7,   253,
    45,   247,     6,     0,    43,   173,   244,   174,     7,   179,
   244,   178,   244,   178,     5,   178,     5,   178,     5,   180,
     6,     0,    36,   173,   244,   174,     7,   253,     6,     0,
    49,    37,   173,   244,   174,     7,   253,     6,     0,    37,
    59,   173,   244,   174,     7,   253,     6,     0,    78,   173,
   244,   174,     7,   253,     6,     0,    79,   173,   244,   174,
     7,   253,    83,   253,    80,   244,     6,     0,    37,   179,
   244,   180,     6,     0,    45,    38,   173,   244,   174,     7,
   253,     6,     0,   138,    38,   173,   244,   174,     7,   244,
   253,     6,     0,    46,    38,   173,   244,   174,     7,   253,
     6,     0,    79,    38,    81,    82,   173,   244,   174,     7,
   251,    83,   179,   253,   178,   253,   180,    80,   179,   244,
   178,   244,   180,     6,     0,    79,    38,   173,   244,   174,
     7,   251,    83,   179,   253,   178,   253,   180,    80,   179,
   244,   178,   244,   180,     6,     0,    49,    38,   173,   244,
   174,     7,   253,     6,     0,    38,    59,   173,   244,   174,
     7,   253,     6,     0,    38,   179,   244,   180,     6,     0,
    48,    40,   173,   244,   174,     7,   253,     6,     0,    40,
   173,   244,   174,     7,   253,     6,     0,    49,    40,   173,
   244,   174,     7,   253,     6,     0,    54,   247,   179,   232,
   180,     0,    53,   179,   247,   178,   247,   178,   244,   180,
   179,   232,   180,     0,    55,   247,   179,   232,   180,     0,
    56,   179,   247,   178,   244,   180,   179,   232,   180,     0,
   234,     0,   233,     0,   231,     0,     0,   233,   230,     0,
    58,   179,   233,   180,     0,    61,   179,   233,   180,     0,
     4,   258,     6,     0,     4,   244,     6,     0,    90,     6,
     0,    33,     6,     0,    85,   173,   244,     8,   244,   174,
     0,    85,   173,   244,     8,   244,     8,   244,   174,     0,
    85,     4,    86,   179,   244,     8,   244,   180,     0,    85,
     4,    86,   179,   244,     8,   244,     8,   244,   180,     0,
    87,     0,    92,     0,    93,     4,     6,     0,    94,     4,
     0,    88,   173,   244,   174,     0,    89,     0,    57,    34,
   179,   244,   178,   247,   180,     6,     0,    57,    34,   179,
   244,   178,   247,   178,   247,   178,   244,   180,     6,     0,
    57,    37,   179,   244,   178,   247,   180,     6,     0,    57,
    37,   179,   244,   178,   247,   178,   247,   178,   244,   180,
     6,     0,    57,    38,   179,   244,   178,   247,   180,     6,
     0,    57,    38,   179,   244,   178,   247,   178,   247,   178,
   244,   180,     6,     0,    57,    38,   179,   244,   178,   247,
   180,   179,   239,   180,     6,     0,    57,    38,   179,   244,
   178,   247,   178,   247,   178,   244,   180,   179,   239,   180,
     6,     0,   240,     0,   239,   240,     0,    65,   179,   253,
   178,   253,   178,   253,   180,     6,     0,    60,     6,     0,
    47,    37,   253,     7,   244,     6,     0,    47,    37,   253,
     7,   244,    50,    52,   244,     6,     0,    47,    37,   253,
     7,   244,    50,    51,   244,     6,     0,    47,    38,   179,
   244,   180,     7,   253,     6,     0,    44,    38,   179,   244,
   180,     7,   253,     6,     0,    47,    40,   179,   244,   180,
     7,   253,     6,     0,    60,    38,   253,     7,   244,     6,
     0,    60,    38,   253,     6,     0,    62,     6,     0,    98,
     0,    99,     0,   100,     0,   101,     0,   102,     0,   245,
     0,   173,   244,   174,     0,   163,   244,     0,   162,   244,
     0,   168,   244,     0,   244,   163,   244,     0,   244,   162,
   244,     0,   244,   164,   244,     0,   244,   165,   244,     0,
   244,   166,   244,     0,   244,   172,   244,     0,   244,   158,
   244,     0,   244,   160,   244,     0,   244,   159,   244,     0,
   244,   161,   244,     0,   244,   155,   244,     0,   244,   156,
   244,     0,   244,   154,   244,     0,   244,   153,   244,     0,
   244,   152,   244,     8,   244,     0,    10,   173,   244,   174,
     0,    11,   173,   244,   174,     0,    12,   173,   244,   174,
     0,    13,   173,   244,   174,     0,    14,   173,   244,   174,
     0,    15,   173,   244,   174,     0,    16,   173,   244,   174,
     0,    17,   173,   244,   174,     0,    18,   173,   244,   174,
     0,    20,   173,   244,   174,     0,    21,   173,   244,   178,
   244,   174,     0,    22,   173,   244,   174,     0,    23,   173,
   244,   174,     0,    24,   173,   244,   174,     0,    25,   173,
   244,   174,     0,    26,   173,   244,   174,     0,    27,   173,
   244,   174,     0,    28,   173,   244,   178,   244,   174,     0,
    29,   173,   244,   178,   244,   174,     0,    30,   173,   244,
   178,   244,   174,     0,    19,   173,   244,   174,     0,     3,
     0,     9,     0,     4,     0,     4,   175,   244,   176,     0,
     4,   169,     0,     4,   175,   244,   176,   169,     0,     4,
   170,     0,     4,   175,   244,   176,   170,     0,     4,   177,
     4,     0,     4,   177,    63,   175,   244,   176,   177,     4,
     0,     4,   177,     4,   169,     0,     4,   177,    63,   175,
   244,   176,   177,     4,   169,     0,     4,   177,     4,   170,
     0,     4,   177,    63,   175,   244,   176,   177,     4,   170,
     0,   244,     8,   244,     0,   244,     8,   244,     8,   244,
     0,   248,     0,   163,   247,     0,   162,   247,     0,   247,
   163,   247,     0,   247,   162,   247,     0,   179,   244,   178,
   244,   178,   244,   178,   244,   178,   244,   180,     0,   179,
   244,   178,   244,   178,   244,   178,   244,   180,     0,   179,
   244,   178,   244,   178,   244,   180,     0,   173,   244,   178,
   244,   178,   244,   174,     0,     4,   177,     4,     0,     4,
   177,    63,   175,   244,   176,   177,     4,     0,     0,   173,
   250,   174,     0,     5,     0,   250,   178,     5,     0,     0,
   179,   252,   180,     0,   173,   252,   174,     0,   253,     0,
   252,   178,   253,     0,     0,   244,     0,     4,   175,   176,
     0,   179,   254,   180,     0,   244,     0,   246,     0,     4,
   175,   176,     0,   254,   178,   244,     0,   254,   178,   246,
     0,   254,   178,     4,   175,   176,     0,   179,   244,   178,
   244,   178,   244,   178,   244,   180,     0,   179,   244,   178,
   244,   178,   244,   180,     0,   179,     4,   178,   244,   180,
     0,     4,     0,     4,   177,    84,   177,     4,     0,   179,
   257,   180,     0,     4,   177,    63,   175,   244,   176,   177,
    84,     0,   255,     0,   257,   178,   255,     0,     5,     0,
    32,   173,     5,   174,     0,    32,   173,     5,   178,   254,
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   144,   146,   147,   154,   162,   176,   188,   190,   193,   195,
   196,   197,   200,   206,   211,   212,   213,   216,   220,   223,
   229,   234,   240,   248,   253,   257,   263,   268,   272,   277,
   281,   284,   289,   293,   297,   301,   306,   310,   313,   317,
   321,   325,   329,   333,   337,   340,   344,   347,   351,   354,
   363,   367,   373,   375,   376,   377,   378,   379,   380,   381,
   382,   383,   384,   385,   386,   389,   394,   423,   428,   434,
   439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   449,   450,   453,   456,   460,   466,   472,   475,   479,   485,
   491,   494,   498,   504,   510,   513,   517,   525,   531,   534,
   538,   546,   552,   555,   559,   567,   573,   576,   580,   592,
   598,   601,   605,   617,   623,   626,   630,   642,   648,   651,
   655,   668,   674,   677,   681,   694,   700,   703,   707,   720,
   732,   748,   760,   769,   781,   789,   801,   809,   821,   829,
   841,   849,   861,   873,   892,   905,   923,   940,   961,   978,
   999,  1016,  1037,  1054,  1075,  1096,  1122,  1139,  1160,  1177,
  1200,  1225,  1254,  1279,  1308,  1333,  1364,  1377,  1402,  1413,
  1419,  1438,  1449,  1457,  1463,  1469,  1488,  1494,  1510,  1517,
  1523,  1529,  1535,  1541,  1560,  1572,  1578,  1597,  1618,  1626,
  1632,  1638,  1644,  1656,  1662,  1668,  1680,  1686,  1691,  1696,
  1703,  1705,  1706,  1709,  1714,  1725,  1743,  1758,  1830,  1850,
  1854,  1873,  1889,  1903,  1928,  1953,  1979,  1984,  1989,  1996,
  2000,  2010,  2016,  2022,  2026,  2030,  2034,  2038,  2043,  2050,
  2054,  2059,  2077,  2087,  2105,  2122,  2139,  2160,  2180,  2200,
  2217,  2241,  2254,  2256,  2257,  2258,  2259,  2262,  2264,  2265,
  2266,  2267,  2268,  2269,  2270,  2271,  2278,  2279,  2280,  2281,
  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,  2291,
  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,  2300,  2301,
  2302,  2303,  2304,  2305,  2306,  2307,  2308,  2309,  2314,  2319,
  2323,  2335,  2353,  2365,  2383,  2395,  2415,  2436,  2460,  2481,
  2505,  2526,  2551,  2558,  2571,  2578,  2582,  2586,  2590,  2595,
  2600,  2604,  2608,  2612,  2644,  2681,  2685,  2690,  2694,  2699,
  2703,  2707,  2713,  2719,  2725,  2729,  2735,  2750,  2757,  2763,
  2772,  2784,  2788,  2796,  2809,  2814,  2818,  2823,  2828,  2847,
  2852,  2873,  2882,  2888,  2893,  2897
};
#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","tView","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine",
"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline",
"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tFor","tIn","tEndFor",
"tIf","tEndIf","tExit","tMerge","tReturn","tCall","tFunction","tB_SPLINE_SURFACE_WITH_KNOTS",
"tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED",
"tU","tV","tEDGE_CURVE","tVERTEX_POINT","tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND",
"tEDGE_LOOP","tADVANCED_FACE","tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO",
"tENDISO","tENDSEC","tDATA","tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME",
"tMANIFOLD_SOLID_BREP","tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION",
"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE",
"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE",
"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION",
"tELLIPSE","tTrimmed","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter",
"tLoopSTL","tEndLoop","tEndFacet","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",
"ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr","FExpr",
"FExpr_Single","FExpr_Range","VExpr","VExpr_Single","ListOfStrings","RecursiveListOfStrings",
"ListOfListOfDouble","RecursiveListOfListOfDouble","ListOfDouble","RecursiveListOfDouble",
"ColorExpr","ListOfColor","RecursiveListOfColor","StringExpr", NULL
   181,   181,   181,   182,   182,   182,   183,   183,   184,   184,
   184,   184,   185,   185,   185,   185,   185,   186,   186,   186,
   187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
   187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
   187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
   188,   188,   189,   189,   189,   189,   189,   189,   189,   189,
   189,   189,   189,   189,   189,   190,   190,   191,   191,   192,
   192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   193,   193,   195,   194,   196,   196,   198,   197,
   199,   199,   201,   200,   202,   202,   204,   203,   205,   205,
   207,   206,   208,   208,   210,   209,   211,   211,   213,   212,
   214,   214,   216,   215,   217,   217,   219,   218,   220,   220,
   222,   221,   223,   223,   225,   224,   226,   226,   228,   227,
   229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
   229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
   229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
   229,   229,   229,   229,   229,   229,   229,   229,   230,   230,
   230,   230,   230,   230,   230,   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,
   232,   232,   232,   233,   233,   234,   235,   236,   236,   236,
   236,   237,   237,   237,   237,   237,   237,   237,   237,   237,
   237,   238,   238,   238,   238,   238,   238,   238,   238,   239,
   239,   240,   240,   241,   241,   241,   241,   241,   241,   241,
   241,   242,   243,   243,   243,   243,   243,   244,   244,   244,
   244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
   244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
   244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
   244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
   245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
   245,   245,   246,   246,   247,   247,   247,   247,   247,   248,
   248,   248,   248,   248,   248,   249,   249,   250,   250,   251,
   251,   251,   252,   252,   253,   253,   253,   253,   254,   254,
   254,   254,   254,   254,   255,   255,   255,   255,   255,   256,
   256,   257,   257,   258,   258,   258
};

static const short yyr2[] = {     0,
     1,     1,     1,     1,    21,     1,     0,     2,     1,     1,
     1,     2,     2,     2,     2,     2,     2,     7,     5,    17,
     9,    23,    31,    15,    11,    11,    15,     9,    13,     9,
    11,    13,     9,     9,    11,     9,    11,     9,    11,    13,
    13,    11,    13,    17,     9,    11,    11,    13,    11,     9,
     0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     2,     5,     7,     6,     8,     0,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     1,     3,     0,    13,     1,     3,     0,    13,
     1,     3,     0,    13,     1,     3,     0,    19,     1,     3,
     0,    19,     1,     3,     0,    19,     1,     3,     0,    25,
     1,     3,     0,    25,     1,     3,     0,    25,     1,     3,
     0,    31,     1,     3,     0,    31,     1,     3,     0,    31,
     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,
     6,    11,     6,    11,     6,    11,     8,    11,     7,     8,
    12,     6,     5,     7,     7,    12,     7,     9,    17,     7,
     8,     8,     7,    11,     5,     8,     9,     8,    22,    20,
     8,     8,     5,     8,     7,     8,     5,    11,     5,     9,
     1,     1,     1,     0,     2,     4,     4,     3,     3,     2,
     2,     6,     8,     8,    10,     1,     1,     3,     2,     4,
     1,     8,    12,     8,    12,     8,    12,    11,    15,     1,
     2,     9,     2,     6,     9,     9,     8,     8,     8,     6,
     4,     2,     1,     1,     1,     1,     1,     1,     3,     2,
     2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
     3,     3,     3,     3,     3,     3,     5,     4,     4,     4,
     4,     4,     4,     4,     4,     4,     4,     6,     4,     4,
     4,     4,     4,     4,     6,     6,     6,     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,     3,     8,     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
     4,     6,     0,     2,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     8,     9,    11,
    10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   216,     0,   221,     0,   217,     0,
     0,     0,    52,    54,    53,    55,    56,    57,    58,    59,
    64,    63,    60,    61,    62,   289,   291,   290,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   248,    12,     0,    13,    14,    16,
    15,    17,   316,   316,     0,    65,   344,     0,     0,     0,
   211,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   325,     0,     0,     0,     0,   325,     0,     0,
     0,     0,   305,     0,     0,     0,     0,     0,   204,   325,
   204,   242,     0,   325,   325,     0,     0,     0,     0,     0,
     0,   210,     0,   219,     0,   293,   295,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   251,   250,   252,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   133,   135,     0,     0,     0,     0,   209,     0,     0,   208,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   291,     0,   326,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   307,   306,     0,     0,     0,     0,   204,   204,     0,     0,
     0,     0,     0,     0,     0,     0,    70,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   218,     0,     0,   297,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   249,     0,   266,   265,   263,   264,   259,   261,
   260,   262,   251,   250,   255,   256,   257,   258,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   318,
     0,     0,     0,     0,   131,     0,   137,   139,   141,   143,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   254,   253,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   291,   329,   330,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   314,     0,     0,     0,   309,   308,
   203,     0,   202,   201,     0,     0,     0,     0,     0,   206,
   205,   241,     0,   207,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   220,     0,   292,   299,   301,     0,
   268,   269,   270,   271,   272,   273,   274,   275,   276,   288,
   277,     0,   279,   280,   281,   282,   283,   284,     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,     0,     0,     0,
     0,     0,     0,   317,     0,     0,    19,     0,   345,     0,
     0,     0,     0,     0,     0,     0,     0,   291,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   157,   159,     0,     0,    66,     0,     0,   173,   325,   325,
     0,   325,   185,     0,   193,   325,   325,   327,     0,     0,
     0,   328,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   197,
   199,     0,     0,     0,     0,     0,    70,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    81,    82,     0,     0,   325,     0,     0,   325,     0,     0,
     0,   294,   296,     0,     0,     0,     0,     0,   267,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   325,
   325,     0,     0,     0,     0,   325,   325,     0,     0,     0,
     0,     0,   325,     0,   325,     0,     0,     0,     0,     0,
   319,     0,   316,     0,     0,     0,     0,     0,     0,   134,
   136,     0,   145,     0,   147,   161,   149,   163,   151,   165,
   153,   155,     0,     0,     0,     0,     0,     0,   325,     0,
   325,     0,     0,   331,   303,   291,   332,   333,   172,     0,
   325,   325,   325,   234,     0,   325,   325,   325,   325,   325,
   325,   325,     0,     0,     0,     0,     0,     0,     0,     0,
   240,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    68,     0,     0,     0,     0,   320,
     0,     0,     0,   212,     0,     0,   278,   285,   286,   287,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   243,   244,   245,   246,   247,     0,
     0,     0,     0,     0,     0,     0,    18,     0,   346,   132,
   138,   140,   142,   144,   297,     0,     0,   338,     0,     0,
    67,   169,   177,     0,   180,     0,   174,     0,   175,   195,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   183,     0,   325,   325,     0,   325,     0,     0,   325,
     0,     0,     0,     0,   325,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   325,     0,     0,     0,     0,     0,     0,
     0,     0,   316,     0,     0,     0,     0,   291,     0,   167,
     0,   182,   192,   304,   334,     0,   238,   186,   188,     0,
     0,   237,   239,   194,   170,   181,   191,   196,     0,     0,
   313,     0,   312,     0,     0,   222,     0,   224,     0,   226,
     0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   320,     0,   323,     0,
     0,     0,     0,   214,   213,     0,   298,     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,   178,     0,   236,   235,   204,   315,     0,   200,     0,
     0,     0,     0,     0,     0,   230,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   322,   325,   321,   325,     0,     0,   187,   300,   302,
     0,     0,   320,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   325,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   311,     0,     0,     0,   233,   325,
     0,   231,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   324,     0,     0,
   215,     0,    35,     0,     0,     0,     0,    25,     0,    31,
     0,    37,    26,    39,     0,    42,     0,    46,    47,     0,
     0,    49,     0,     0,     0,   146,   148,   162,   150,   164,
   152,   166,   154,   156,   158,   160,     0,   342,     0,   168,
   339,   337,     0,     0,   198,     0,     0,     0,     0,     0,
   228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   325,   325,   184,     0,     0,
     0,   298,     0,     0,   340,     0,     0,   310,   223,   225,
   227,     0,   325,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    85,    89,    93,   171,   176,     0,     0,     0,
     0,     0,     0,     0,    29,    32,    40,     0,    41,    48,
    43,     0,     0,   343,     0,   336,     0,     0,     0,     0,
     0,   325,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   325,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,    24,    27,     0,     0,     0,   335,     0,   229,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    83,     0,    87,     0,    91,     0,     0,     0,     0,
   325,     0,     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,   341,   179,
   232,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    84,    86,    88,    90,    92,    94,     0,     0,     0,     0,
   325,     0,     0,     0,     0,     0,     0,    97,   101,   105,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     5,   325,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   190,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    95,
     0,    99,     0,   103,     0,   325,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   189,
     0,    22,     0,     0,     0,     0,     0,     0,    96,    98,
   100,   102,   104,   106,   325,     0,     0,     0,   109,   113,
   117,     0,     0,     0,     0,     0,     0,     0,   325,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   107,     0,   111,     0,   115,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
   110,   112,   114,   116,   118,     0,   121,   125,   129,    23,
     0,     0,     0,     0,     0,     0,     0,   119,     0,   123,
     0,   127,     0,     0,     0,     0,     0,     0,   120,   122,
   124,   126,   128,   130,     0,     0,     0
static const short yydefgoto[] = {  1565,
     4,     5,    18,    19,    20,    21,     6,    63,    64,    65,
   486,  1341,   641,  1289,  1343,   642,  1290,  1345,   643,  1291,
  1449,   644,  1422,  1451,   645,  1423,  1453,   646,  1424,  1510,
   647,  1496,  1512,   648,  1497,  1514,   649,  1498,  1547,   650,
  1541,  1549,   651,  1542,  1551,   652,  1543,    66,   481,   471,
   472,   473,   474,    70,    71,    72,    73,  1055,  1056,    74,
    75,   820,   295,   105,   449,   311,   163,   262,   411,   896,
   988,   989,   450,   840,  1118,  1189,   129
static const short yypact[] = {   432,
-32768,-32768,  -115,-32768,    44,  2780,  1830,    50,    52,   104,
   159,   164,   170,   172,   -73,   -52,   -17,-32768,-32768,-32768,
-32768,   201,  1572,    51,   226,   -87,    82,    97,   -37,   -38,
   105,   110,   260,   138,   285,   295,   320,   272,   319,   370,
   191,    94,    94,   202,   357,   214,   337,   219,   400,   406,
   323,   255,   -30,     2,-32768,   261,-32768,   419,-32768,   434,
   437,   417,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,   254,-32768,   291,   302,
   338,   348,   362,   369,   394,   396,   402,   403,   407,   418,
   433,   435,   436,   443,   444,   445,   446,   447,   448,  1830,
  1830,  1830,  1830,  1664,-32768,-32768,  2818,-32768,-32768,-32768,
-32768,-32768,   449,   449,   462,-32768,-32768,  1830,   450,  1830,
  1830,  1830,  1830,   537,   590,  1830,    19,  1029,   601,   568,
-32768,  1830,  1830,  1830,  1830,   451,  1830,  1830,   452,  1830,
  1830,  1830,   778,  1830,   466,   453,   455,   778,   469,   471,
   456,   457,   458,   478,   479,    94,   476,    94,    94,  1830,
  1830,  -133,-32768,  -100,    94,   477,   481,   482,-32768,   778,
-32768,-32768,    -2,   778,   778,  1830,   -68,  1830,   526,  1830,
  1830,-32768,   649,-32768,   489,-32768,-32768,  1830,    10,  1830,
  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,
  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,
   491,   491,   491,  5757,  1830,  1830,  1830,  1830,  1830,  1830,
  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1664,
   494,   495,   496,   501,   502,   525,   529,   530,   531,   554,
   555,   556,   557,   558,   559,   561,   563,   564,   565,   566,
   569,   570,   571,   572,   577,   578,   579,   580,   581,   582,
   735,   591,   594,   592,  1117,   736,  1162,  1368,  1552,  1599,
-32768,-32768,  5582,   111,   596,   595,-32768,  1830,  1830,-32768,
    -6,  5780,  2862,  5803,  5826,  1830,  5849,  2885,  1830,  2908,
  5872,  5895,   273,  1877,  7229,   766,  5918,  1830,  1830,  1830,
   767,  1830,  1830,  1830,  1830,  1830,  1830,  1830,   -93,    13,
-32768,-32768,  3341,  3362,    94,    94,   424,   424,   -91,  1830,
  1830,  1830,  2711,    31,  2728,    94,-32768,   770,   772,  5941,
   698,  1830,  5964,   604,  1311,  5987,-32768,  1830,  5607,   315,
   610,  6010,  6033,  6056,  6079,  6102,  6125,  6148,  6171,  6194,
  6217,  6240,  3383,  6263,  6286,  6309,  6332,  6355,  6378,  3404,
  3425,  3446,-32768,  2465,  1278,   423,   439,   439,   155,   155,
   155,   155,  -138,   -27,   491,   491,   491,   491,  2931,   781,
   804,   805,   806,   807,   808,   809,   810,   811,   812,   813,
   814,   816,   817,   818,   819,   820,   821,   822,   823,   826,
   828,   831,   706,   833,   834,   836,   837,   840,   842,-32768,
   116,   843,   846,   844,-32768,   148,-32768,-32768,-32768,-32768,
   115,   667,   984,   984,  1830,  1830,   847,   848,  1830,   851,
   281,   281,   850,  1877,   853,   856,   859,   860,  6401,   861,
   864,  6424,   865,   866,   867,   326,   282,  2499,-32768,  -130,
  1830,   869,  2946,  6447,  6470,  1830,  2969,  2992,  6493,  6516,
  6539,  6562,  6585,    94,-32768,   682,  1830,  1830,-32768,-32768,
-32768,   692,  2841,-32768,   697,  1830,  3467,  3488,  3509,-32768,
-32768,-32768,  1830,-32768,   -98,   567,   699,   700,   873,   708,
  6608,   875,  1830,  1830,-32768,  6631,   331,-32768,-32768,  1830,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,  1830,-32768,-32768,-32768,-32768,-32768,-32768,  1830,  1830,
  1830,  1830,   740,   709,   710,   711,   712,   713,   714,   715,
   716,   718,   720,   721,   723,   724,   725,   726,   727,   728,
   730,   731,   732,   733,   734,   739,   741,   742,   744,   745,
   746,   748,   750,-32768,   881,   755,-32768,   752,-32768,  1877,
  1830,  1830,  1830,  1830,  1830,   907,   912,   293,   925,   984,
   984,  1830,  1855,     4,  1870,    43,  1958,    68,  1973,  1988,
-32768,-32768,  5632,   926,-32768,   150,    94,-32768,   778,   778,
   927,   778,-32768,   928,-32768,   778,   778,-32768,  1606,  1830,
  1905,-32768,  2031,   753,   929,   930,   931,   894,   935,   936,
   938,   940,   941,   942,   943,   -79,  1830,  3530,  3551,-32768,
-32768,  3015,    94,    94,    94,  2046,-32768,   780,   783,   785,
   786,   787,   788,   789,   790,   791,   792,   845,   858,   948,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,  1830,  1830,   778,  1830,   971,   778,  2557,   944,
   972,-32768,-32768,  5657,  6654,  6677,  6700,  6723,  7229,   839,
   978,  1830,  1830,    94,   979,   980,   825,   981,   982,   778,
   778,   987,    94,   989,  1012,   778,   778,  1013,  1014,  1016,
  1017,  1033,   778,   408,   778,  1034,  1027,  1035,  1036,  1038,
-32768,  1032,   449,   231,  2068,  2083,  2098,  2149,  2164,-32768,
-32768,    14,-32768,  3314,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,   874,     0,  1055,   106,     9,  1058,   778,  1059,
   778,  1061,  1062,-32768,  2572,   296,  2499,-32768,-32768,  1830,
   778,   778,   778,-32768,    39,   778,   778,   778,   778,   778,
   778,   778,  1830,  5682,  1830,  1830,   863,  -127,  -123,  -120,
-32768,  1188,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,
  1830,  1830,  1830,  1830,-32768,  3572,  3593,  1064,  6746,   -50,
   988,  1830,  1830,-32768,  1830,   895,-32768,-32768,-32768,-32768,
  1830,   897,  3614,  3635,   -96,   899,   904,   905,   908,   906,
   911,   910,   913,   112,   915,   916,   920,   923,   933,   934,
   937,   946,   947,   939,-32768,-32768,-32768,-32768,-32768,   960,
   962,   963,   965,   966,   945,   970,-32768,   973,-32768,-32768,
-32768,-32768,-32768,-32768,   315,   914,    22,   909,  1933,  1108,
-32768,-32768,-32768,    94,-32768,  1114,-32768,  1115,-32768,-32768,
  1830,  1634,  3656,  1116,  1143,  1144,  1830,  1830,  1147,  1148,
  1149,  1150,  1152,  1153,  1154,  3038,   985,  6769,  1044,   424,