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

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   143,   145,   146,   153,   161,   175,   187,   189,   192,   194,
   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,   385,   386,   389,   394,   404,   409,   415,
   420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   430,   431,   434,   437,   441,   447,   453,   456,   460,   466,
   472,   475,   479,   485,   491,   494,   498,   506,   512,   515,
   519,   527,   533,   536,   540,   548,   554,   557,   561,   573,
   579,   582,   586,   598,   604,   607,   611,   623,   629,   632,
   636,   649,   655,   658,   662,   675,   681,   684,   688,   701,
   713,   729,   741,   750,   762,   770,   782,   790,   802,   810,
   822,   830,   842,   854,   873,   886,   904,   921,   942,   959,
   980,   997,  1018,  1035,  1056,  1077,  1103,  1120,  1141,  1158,
  1181,  1206,  1235,  1260,  1289,  1314,  1345,  1358,  1383,  1394,
  1400,  1419,  1430,  1438,  1444,  1450,  1469,  1475,  1491,  1498,
  1504,  1510,  1516,  1522,  1541,  1553,  1559,  1578,  1599,  1607,
  1613,  1619,  1625,  1637,  1643,  1649,  1661,  1667,  1672,  1677,
  1684,  1686,  1687,  1690,  1695,  1706,  1724,  1739,  1811,  1831,
  1835,  1854,  1870,  1884,  1909,  1934,  1960,  1965,  1970,  1977,
  1981,  1991,  1997,  2003,  2007,  2011,  2015,  2019,  2024,  2031,
  2035,  2040,  2058,  2068,  2086,  2103,  2120,  2141,  2161,  2181,
  2198,  2222,  2235,  2237,  2238,  2239,  2240,  2243,  2245,  2246,
  2247,  2248,  2249,  2250,  2251,  2252,  2259,  2260,  2261,  2262,
  2263,  2264,  2265,  2266,  2267,  2268,  2269,  2270,  2271,  2272,
  2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,  2282,
  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,  2295,  2300,
  2304,  2316,  2334,  2346,  2364,  2376,  2396,  2417,  2441,  2462,
  2486,  2507,  2532,  2539,  2552,  2559,  2563,  2567,  2571,  2576,
  2581,  2585,  2589,  2593,  2625,  2662,  2666,  2671,  2675,  2680,
  2684,  2688,  2694,  2700,  2706,  2710,  2716,  2731,  2738,  2744,
  2753,  2765,  2769,  2777,  2790,  2795,  2799,  2804,  2809,  2828,
  2833,  2854,  2863,  2869,  2874,  2878
};
#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,
   135,   144,   159,   164,   -73,   -52,    34,-32768,-32768,-32768,
-32768,   218,  1572,    59,   264,   -87,    82,   105,   -37,   -39,
   121,   129,     8,   138,   285,   286,   290,   272,   330,   370,
   202,    94,    94,   214,   357,   219,   295,   246,   369,   425,
   249,   261,   -30,     2,-32768,   265,-32768,   435,-32768,   451,
   460,   429,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,   254,-32768,   302,   327,
   331,   338,   348,   359,   366,   367,   387,   389,   393,   394,
   395,   396,   400,   402,   403,   407,   418,   433,   434,  1830,
  1830,  1830,  1830,  1664,-32768,-32768,  2818,-32768,-32768,-32768,
-32768,-32768,   436,   436,   537,-32768,-32768,  1830,   443,  1830,
  1830,  1830,  1830,   590,   602,  1830,    17,  1029,   606,   538,
-32768,  1830,  1830,  1830,  1830,   444,  1830,  1830,   445,  1830,
  1830,  1830,   778,  1830,   440,   447,   448,   778,   446,   449,
   450,   453,   456,   457,   458,    94,   468,    94,    94,  1830,
  1830,  -133,-32768,  -100,    94,   469,   471,   472,-32768,   778,
-32768,-32768,    -2,   778,   778,  1830,   -68,  1830,   536,  1830,
  1830,-32768,   618,-32768,   479,-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,
   481,   481,   481,  5757,  1830,  1830,  1830,  1830,  1830,  1830,
  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1664,
   482,   487,   488,   489,   490,   494,   495,   496,   501,   502,
   525,   529,   530,   531,   554,   555,   556,   557,   558,   559,
   561,   563,   564,   565,   566,   568,   569,   570,   571,   572,
   651,   562,   576,   573,  1117,   747,  1162,  1368,  1552,  1599,
-32768,-32768,  5582,   111,   578,   577,-32768,  1830,  1830,-32768,
   -75,  5780,  2862,  5803,  5826,  1830,  5849,  2885,  1830,  2908,
  5872,  5895,   273,  1877,  7275,   748,  5918,  1830,  1830,  1830,
   761,  1830,  1830,  1830,  1830,  1830,  1830,  1830,   -96,    13,
-32768,-32768,  3341,  3362,    94,    94,   424,   424,   -93,  1830,
  1830,  1830,  2711,    31,  2728,    94,-32768,   762,   763,  5941,
   689,  1830,  5964,   593,  1311,  5987,-32768,  1830,  5607,   236,
   598,  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,  -145,  -131,   481,   481,   481,   481,  2931,   769,
   772,   774,   775,   780,   781,   804,   805,   806,   807,   808,
   809,   810,   811,   812,   813,   814,   816,   817,   818,   819,
   820,   821,   652,   822,   823,   826,   828,   833,   832,-32768,
   -26,   834,   835,   837,-32768,    -6,-32768,-32768,-32768,-32768,
   115,   667,   984,   984,  1830,  1830,   841,   842,  1830,   839,
   281,   281,   843,  1830,   831,   846,   847,   848,  6401,   849,
   851,  6424,   854,   855,   859,   326,   282,  2499,-32768,  -103,
  1830,   860,  2946,  6447,  6470,  1830,  2969,  2992,  6493,  6516,
  6539,  6562,  6585,    94,-32768,   678,  1830,  1830,-32768,-32768,
-32768,   688,  2841,-32768,   690,  1830,  3467,  3488,  3509,-32768,
-32768,-32768,  1830,-32768,   -98,   567,   692,   693,   866,   701,
  6608,   869,  1830,  1830,-32768,  6631,   315,-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,   732,   700,   702,   703,   704,   707,   708,   709,
   710,   711,   712,   713,   714,   715,   716,   718,   720,   721,
   723,   724,   725,   726,   727,   728,   730,   731,   733,   734,
   735,   739,   740,-32768,   874,   736,-32768,   741,-32768,  1830,
  1830,  1830,  1830,  1830,  1830,   914,   916,   293,   917,   984,
   984,  1830,  1855,     4,  1870,    43,  1958,    68,  1973,  1988,
-32768,-32768,  5632,   919,-32768,  6654,    94,-32768,   778,   778,
   921,   778,-32768,   922,-32768,   778,   778,-32768,  1606,  1830,
  1905,-32768,  2031,   745,   923,   924,   925,   894,   926,   927,
   928,   929,   930,   931,   935,   -91,  1830,  3530,  3551,-32768,
-32768,  3015,    94,    94,    94,  2046,-32768,   770,   776,   777,
   783,   785,   786,   787,   788,   789,   790,   791,   792,   939,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,  1830,  1830,   778,  1830,   940,   778,  2557,   944,
   941,-32768,-32768,  5657,  6677,  6700,  6723,  6746,  7275,   838,
   950,  1830,  1830,    94,   951,   975,   825,   977,   978,   778,
   778,   979,    94,   980,   981,   778,   778,   982,   987,   989,
  1012,  1013,   778,   408,   778,  1014,  1015,  1026,  1016,  1033,
-32768,  1031,   436,  6769,  2068,  2083,  2098,  2149,  2164,-32768,
-32768,    21,-32768,  3314,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,   861,     0,  1034,   106,     9,  1035,   778,  1036,
   778,  1045,  1055,-32768,  2572,   296,  2499,-32768,-32768,  1830,
   778,   778,   778,-32768,   483,   778,   778,   778,   778,   778,
   778,   778,  1830,  5682,  1830,  1830,   853,  -127,  -123,  -120,
-32768,  1188,  1830,  1830,  1830,  1830,  1830,  1830,  1830,  1830,
  1830,  1830,  1830,  1830,-32768,  3572,  3593,  1058,  6792,   -56,
   956,  1830,  1830,-32768,  1830,   888,-32768,-32768,-32768,-32768,
  1830,   840,  3614,  3635,   -72,   889,   896,   890,   897,   899,
   898,   900,   904,   -18,   905,   901,   910,   907,   908,   911,
   912,   913,   915,   920,-32768,-32768,-32768,-32768,-32768,   933,
   934,   936,   937,   942,   945,   943,-32768,   946,-32768,-32768,
-32768,-32768,-32768,-32768,   236,   938,    22,   948,  1933,  1082,
-32768,-32768,-32768,    94,-32768,  1095,-32768,  1116,-32768,-32768,
  1830,  1634,  3656,  1132,  1134,  1135,  1830,  1830,  1137,  1138,
  1142,  1143,  1144,  1145,  1147,  3038,   983,  6815,  1044,   424,