Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 235 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	tStrCat	287
#define	tStrPrefix	288
#define	tDraw	289
#define	tPoint	290
#define	tCircle	291
#define	tEllipsis	292
#define	tLine	293
#define	tSurface	294
#define	tSpline	295
#define	tVolume	296
#define	tCharacteristic	297
#define	tLength	298
#define	tParametric	299
#define	tElliptic	300
#define	tPlane	301
#define	tRuled	302
#define	tTransfinite	303
#define	tComplex	304
#define	tPhysical	305
#define	tUsing	306
#define	tBump	307
#define	tProgression	308
#define	tPlugin	309
#define	tRotate	310
#define	tTranslate	311
#define	tSymmetry	312
#define	tDilate	313
#define	tExtrude	314
#define	tDuplicata	315
#define	tLoop	316
#define	tRecombine	317
#define	tDelete	318
#define	tCoherence	319
#define	tIntersect	320
#define	tAttractor	321
#define	tLayers	322
#define	tScalarTetrahedron	323
#define	tVectorTetrahedron	324
#define	tTensorTetrahedron	325
#define	tScalarTriangle	326
#define	tVectorTriangle	327
#define	tTensorTriangle	328
#define	tScalarLine	329
#define	tVectorLine	330
#define	tTensorLine	331
#define	tScalarPoint	332
#define	tVectorPoint	333
#define	tTensorPoint	334
#define	tBSpline	335
#define	tNurbs	336
#define	tOrder	337
#define	tWith	338
#define	tBounds	339
#define	tKnots	340
#define	tColor	341
#define	tColorTable	342
#define	tFor	343
#define	tIn	344
#define	tEndFor	345
#define	tIf	346
#define	tEndIf	347
#define	tExit	348
#define	tReturn	349
#define	tCall	350
#define	tFunction	351
#define	tMesh	352
#define	tB_SPLINE_SURFACE_WITH_KNOTS	353
#define	tB_SPLINE_CURVE_WITH_KNOTS	354
#define	tCARTESIAN_POINT	355
#define	tTRUE	356
#define	tFALSE	357
#define	tUNSPECIFIED	358
#define	tU	359
#define	tV	360
#define	tEDGE_CURVE	361
#define	tVERTEX_POINT	362
#define	tORIENTED_EDGE	363
#define	tPLANE	364
#define	tFACE_OUTER_BOUND	365
#define	tEDGE_LOOP	366
#define	tADVANCED_FACE	367
#define	tVECTOR	368
#define	tDIRECTION	369
#define	tAXIS2_PLACEMENT_3D	370
#define	tISO	371
#define	tENDISO	372
#define	tENDSEC	373
#define	tDATA	374
#define	tHEADER	375
#define	tFILE_DESCRIPTION	376
#define	tFILE_SCHEMA	377
#define	tFILE_NAME	378
#define	tMANIFOLD_SOLID_BREP	379
#define	tCLOSED_SHELL	380
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	381
#define	tFACE_BOUND	382
#define	tCYLINDRICAL_SURFACE	383
#define	tCONICAL_SURFACE	384
#define	tCIRCLE	385
#define	tTRIMMED_CURVE	386
#define	tGEOMETRIC_SET	387
#define	tCOMPOSITE_CURVE_SEGMENT	388
#define	tCONTINUOUS	389
#define	tCOMPOSITE_CURVE	390
#define	tTOROIDAL_SURFACE	391
#define	tPRODUCT_DEFINITION	392
#define	tPRODUCT_DEFINITION_SHAPE	393
#define	tSHAPE_DEFINITION_REPRESENTATION	394
#define	tELLIPSE	395
#define	tTrimmed	396
#define	tSolid	397
#define	tEndSolid	398
#define	tVertex	399
#define	tFacet	400
#define	tNormal	401
#define	tOuter	402
#define	tLoopSTL	403
#define	tEndLoop	404
#define	tEndFacet	405
#define	tAFFECTPLUS	406
#define	tAFFECTMINUS	407
#define	tAFFECTTIMES	408
#define	tAFFECTDIVIDE	409
#define	tOR	410
#define	tAND	411
#define	tEQUAL	412
#define	tNOTEQUAL	413
#define	tAPPROXEQUAL	414
#define	tLESSOREQUAL	415
#define	tGREATEROREQUAL	416
#define	tCROSSPRODUCT	417
#define	tPLUSPLUS	418
#define	tMINUSMINUS	419
#define	UNARYPREC	420
// $Id: Gmsh.tab.cpp,v 1.99 2001-08-01 13:34:16 geuzaine Exp $

  //
  // Generaliser sprintf avec des chaines de caracteres
  // 
#ifndef _NOPLUGIN
#include "PluginManager.h"
#endif
#include "Gmsh.h"
#include "Const.h"
#include "Context.h"
#include "Geo.h"
#include "CAD.h"
#include "DataBase.h"
#include "Mesh.h"
#include "Create.h"
#include "Views.h"
#include "StepGeomDatabase.h"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include "Options.h"
#include "OpenFile.h"
#include "FunctionManager.h"
#include "ColorTable.h"
#include "Timer.h"
#include "CreateFile.h"
#include "STL.h"
#ifdef __DECCXX // bug in bison
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include <alloca.h>
#endif

List_T *Symbol_L=NULL;
extern Mesh      *THEM;
extern Post_View *ActualView;

static FILE          *yyinTab[MAX_OPEN_FILES];
static int            yylinenoTab[MAX_OPEN_FILES];
static fpos_t         yyposImbricatedLoopsTab[MAX_OPEN_FILES];
static double         LoopControlVariablesTab[MAX_OPEN_FILES][3];
static char*          LoopControlVariablesNameTab[MAX_OPEN_FILES];
static char           yynameTab[MAX_OPEN_FILES][NAME_STR_L];
static char           tmpstring[NAME_STR_L];
static char           tmpstring2[NAME_STR_L], tmpstring3[NAME_STR_L];
static Symbol         TheSymbol, *pSymbol;
static Surface       *STL_Surf;
static Shape          TheShape;
static int            i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0;
static int            Last_NumberOfPoints = 0;
static double         d, *pd;
static ExtrudeParams  extr;
static char           *str;
static StringXString  *pStrCat;
static StringXNumber  *pNumCat;
static StringXColor   *pColCat;
static double         (*pNumOpt)(int num, int action, double value);
static char*          (*pStrOpt)(int num, int action, char *value);
static unsigned int   (*pColOpt)(int num, int action, unsigned int value);
char *strsave(char *ptr);
void  yyerror (char *s);
void  vyyerror (char *fmt, ...);
void  skip_until (char *skip, char *until);
#line 73 "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		1539
#define	YYNTBASE	185
#define YYTRANSLATE(x) ((unsigned)(x) <= 420 ? yytranslate[x] : 267)

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,   172,     2,     2,     2,   170,     2,     2,   177,
   178,   168,   166,   182,   167,   181,   169,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,   162,
     2,   164,   156,     2,     2,     2,     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,   176,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,   183,     2,   184,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
   107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
   127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
   137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
   147,   148,   149,   150,   151,   152,   153,   154,   155,   157,
   158,   159,   160,   161,   163,   165,   171,   173,   174,   175
};

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     2,     4,     6,     9,    11,    14,    16,    38,    40,
    41,    44,    46,    48,    50,    53,    56,    59,    62,    65,
    73,    79,    97,   107,   131,   163,   179,   191,   203,   219,
   229,   243,   253,   265,   279,   289,   299,   311,   321,   333,
   343,   355,   369,   383,   395,   409,   427,   437,   449,   461,
   475,   487,   497,   498,   501,   503,   505,   507,   509,   511,
   513,   515,   517,   519,   521,   523,   525,   531,   539,   546,
   555,   556,   559,   562,   565,   568,   571,   574,   577,   580,
   583,   586,   589,   592,   594,   598,   599,   613,   615,   619,
   620,   634,   636,   640,   641,   655,   657,   661,   662,   682,
   684,   688,   689,   709,   711,   715,   716,   736,   738,   742,
   743,   769,   771,   775,   776,   802,   804,   808,   809,   835,
   837,   841,   842,   874,   876,   880,   881,   913,   915,   919,
   920,   952,   954,   956,   958,   960,   962,   964,   966,   971,
   979,   989,   996,  1000,  1007,  1014,  1024,  1031,  1041,  1047,
  1056,  1065,  1077,  1084,  1094,  1104,  1114,  1122,  1131,  1144,
  1151,  1157,  1165,  1173,  1186,  1194,  1204,  1222,  1230,  1239,
  1248,  1256,  1268,  1274,  1283,  1296,  1305,  1328,  1349,  1358,
  1367,  1373,  1382,  1390,  1399,  1405,  1417,  1423,  1433,  1435,
  1437,  1439,  1440,  1443,  1448,  1453,  1460,  1464,  1468,  1472,
  1480,  1483,  1486,  1493,  1502,  1511,  1522,  1524,  1527,  1529,
  1533,  1538,  1540,  1549,  1562,  1571,  1584,  1593,  1606,  1618,
  1634,  1635,  1638,  1641,  1651,  1654,  1661,  1671,  1681,  1690,
  1699,  1708,  1715,  1720,  1723,  1726,  1728,  1730,  1732,  1734,
  1736,  1738,  1742,  1745,  1748,  1751,  1755,  1759,  1763,  1767,
  1771,  1775,  1779,  1783,  1787,  1791,  1795,  1799,  1803,  1807,
  1813,  1818,  1823,  1828,  1833,  1838,  1843,  1848,  1853,  1858,
  1863,  1870,  1875,  1880,  1885,  1890,  1895,  1900,  1907,  1914,
  1921,  1926,  1928,  1930,  1932,  1937,  1940,  1946,  1950,  1957,
  1962,  1970,  1972,  1975,  1978,  1982,  1986,  1998,  2008,  2016,
  2024,  2025,  2029,  2031,  2035,  2036,  2040,  2044,  2046,  2050,
  2052,  2054,  2058,  2063,  2067,  2073,  2077,  2082,  2089,  2097,
  2099,  2101,  2105,  2109,  2119,  2127,  2129,  2135,  2139,  2146,
  2148,  2152,  2154,  2161,  2166,  2171,  2178,  2185
static const short yyrhs[] = {   188,
     0,   187,     0,   193,     0,     1,     6,     0,     3,     0,
   167,     3,     0,   143,     0,   146,   147,   186,   186,   186,
   148,   149,   145,   186,   186,   186,   145,   186,   186,   186,
   145,   186,   186,   186,   150,   151,     0,   144,     0,     0,
   188,   189,     0,   190,     0,   192,     0,   191,     0,   117,
     6,     0,   118,     6,     0,   120,     6,     0,   119,     6,
     0,   121,     6,     0,   122,   177,   256,   182,     5,   178,
     6,     0,   123,   177,   256,   178,     6,     0,   124,   177,
     5,   182,     5,   182,   256,   182,   256,   182,     5,   182,
     5,   182,     5,   178,     6,     0,     3,     7,   101,   177,
     5,   182,   254,   178,     6,     0,     3,     7,   100,   177,
     5,   182,   252,   182,   260,   182,   251,   182,   251,   182,
   251,   182,   260,   182,   260,   182,   251,   178,     6,     0,
     3,     7,    99,   177,     5,   182,   252,   182,   252,   182,
   258,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   260,   182,   260,   182,   260,   182,   260,   182,   251,   178,
     6,     0,     3,     7,   107,   177,     5,   182,     3,   182,
     3,   182,     3,   182,   251,   178,     6,     0,     3,     7,
   111,   177,     5,   182,     3,   182,   251,   178,     6,     0,
     3,     7,   128,   177,     5,   182,     3,   182,   251,   178,
     6,     0,     3,     7,   109,   177,     5,   182,   168,   182,
   168,   182,   252,   182,   251,   178,     6,     0,     3,     7,
   112,   177,     5,   182,   260,   178,     6,     0,     3,     7,
   113,   177,     5,   182,   260,   182,     3,   182,   251,   178,
     6,     0,     3,     7,   108,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   114,   177,     5,   182,     3,   182,
   252,   178,     6,     0,     3,     7,   116,   177,     5,   182,
     3,   182,     3,   182,     3,   178,     6,     0,     3,     7,
   115,   177,     5,   182,   254,   178,     6,     0,     3,     7,
   110,   177,     5,   182,     3,   178,     6,     0,     3,     7,
    39,   177,     5,   182,     3,   182,     3,   178,     6,     0,
     3,     7,   126,   177,     5,   182,   260,   178,     6,     0,
     3,     7,   127,   177,     5,   182,   260,   182,     3,   178,
     6,     0,     3,     7,   125,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   129,   177,     5,   182,     3,   182,
   252,   178,     6,     0,     3,     7,   130,   177,     5,   182,
     3,   182,   252,   182,   252,   178,     6,     0,     3,     7,
   137,   177,     5,   182,     3,   182,   252,   182,   252,   178,
     6,     0,     3,     7,   131,   177,     5,   182,     3,   182,
   252,   178,     6,     0,     3,     7,   141,   177,     5,   182,
     3,   182,   252,   182,   252,   178,     6,     0,     3,     7,
   132,   177,     5,   182,     3,   182,   260,   182,   260,   182,
   251,   182,   251,   178,     6,     0,     3,     7,   133,   177,
     5,   182,   260,   178,     6,     0,     3,     7,   134,   177,
   135,   182,   251,   182,     3,   178,     6,     0,     3,     7,
   136,   177,     5,   182,   260,   182,   251,   178,     6,     0,
     3,     7,   138,   177,     5,   182,     5,   182,     3,   182,
     3,   178,     6,     0,     3,     7,   139,   177,     5,   182,
     5,   182,     3,   178,     6,     0,     3,     7,   140,   177,
     3,   182,     3,   178,     6,     0,     0,   193,   194,     0,
   196,     0,   195,     0,   236,     0,   237,     0,   238,     0,
   241,     0,   242,     0,   245,     0,   249,     0,   250,     0,
   244,     0,   243,     0,    31,   177,     5,   178,     6,     0,
    31,   177,     5,   182,   262,   178,     6,     0,     4,     5,
   183,   197,   184,     6,     0,     4,     5,     4,   254,   183,
   197,   184,     6,     0,     0,   197,   199,     0,   197,   202,
     0,   197,   205,     0,   197,   208,     0,   197,   211,     0,
   197,   214,     0,   197,   217,     0,   197,   220,     0,   197,
   223,     0,   197,   226,     0,   197,   229,     0,   197,   232,
     0,   252,     0,   198,   182,   252,     0,     0,    78,   177,
   252,   182,   252,   182,   252,   178,   200,   183,   198,   184,
     6,     0,   252,     0,   201,   182,   252,     0,     0,    79,
   177,   252,   182,   252,   182,   252,   178,   203,   183,   201,
   184,     6,     0,   252,     0,   204,   182,   252,     0,     0,
    80,   177,   252,   182,   252,   182,   252,   178,   206,   183,
   204,   184,     6,     0,   252,     0,   207,   182,   252,     0,
     0,    75,   177,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   178,   209,   183,   207,   184,     6,
     0,   252,     0,   210,   182,   252,     0,     0,    76,   177,
   252,   182,   252,   182,   252,   182,   252,   182,   252,   182,
   252,   178,   212,   183,   210,   184,     6,     0,   252,     0,
   213,   182,   252,     0,     0,    77,   177,   252,   182,   252,
   182,   252,   182,   252,   182,   252,   182,   252,   178,   215,
   183,   213,   184,     6,     0,   252,     0,   216,   182,   252,
     0,     0,    72,   177,   252,   182,   252,   182,   252,   182,
   252,   182,   252,   182,   252,   182,   252,   182,   252,   182,
   252,   178,   218,   183,   216,   184,     6,     0,   252,     0,
   219,   182,   252,     0,     0,    73,   177,   252,   182,   252,
   182,   252,   182,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   178,   221,   183,   219,   184,     6,
     0,   252,     0,   222,   182,   252,     0,     0,    74,   177,
   252,   182,   252,   182,   252,   182,   252,   182,   252,   182,
   252,   182,   252,   182,   252,   182,   252,   178,   224,   183,
   222,   184,     6,     0,   252,     0,   225,   182,   252,     0,
     0,    69,   177,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   182,   252,   178,   227,   183,   225,
   184,     6,     0,   252,     0,   228,   182,   252,     0,     0,
    70,   177,   252,   182,   252,   182,   252,   182,   252,   182,
   252,   182,   252,   182,   252,   182,   252,   182,   252,   182,
   252,   182,   252,   182,   252,   178,   230,   183,   228,   184,
     6,     0,   252,     0,   231,   182,   252,     0,     0,    71,
   177,   252,   182,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   182,   252,   182,   252,   182,   252,
   182,   252,   182,   252,   178,   233,   183,   231,   184,     6,
     0,     7,     0,   152,     0,   153,     0,   154,     0,   155,
     0,   173,     0,   174,     0,     4,   234,   252,     6,     0,
     4,   179,   252,   180,   234,   252,     6,     0,     4,   179,
   183,   262,   184,   180,   234,   260,     6,     0,     4,   179,
   180,     7,   260,     6,     0,     4,   235,     6,     0,     4,
   179,   252,   180,   235,     6,     0,     4,   181,     4,     7,
   266,     6,     0,     4,   179,   252,   180,   181,     4,     7,
   266,     6,     0,     4,   181,     4,   234,   252,     6,     0,
     4,   179,   252,   180,   181,     4,   234,   252,     6,     0,
     4,   181,     4,   235,     6,     0,     4,   179,   252,   180,
   181,     4,   235,     6,     0,     4,   181,    87,   181,     4,
     7,   263,     6,     0,     4,   179,   252,   180,   181,    87,
   181,     4,     7,   263,     6,     0,     4,   181,    88,     7,
   264,     6,     0,     4,   179,   252,   180,   181,    88,     7,
   264,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   252,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   266,     6,     0,    36,   177,   252,   178,     7,   254,     6,
     0,    51,    36,   177,   252,   178,     7,   260,     6,     0,
    67,    36,   260,     7,   183,   252,   182,   252,   182,   252,
   184,     6,     0,    43,    44,   260,     7,   252,     6,     0,
    36,   183,   252,   184,     6,     0,    39,   177,   252,   178,
     7,   260,     6,     0,    41,   177,   252,   178,     7,   260,
     6,     0,    67,    39,   260,     7,   183,   252,   182,   252,
   182,   252,   184,     6,     0,    37,   177,   252,   178,     7,
   260,     6,     0,    37,   177,   252,   178,     7,   260,    47,
   254,     6,     0,    45,   177,   252,   178,     7,   183,   252,
   182,   252,   182,     5,   182,     5,   182,     5,   184,     6,
     0,    38,   177,   252,   178,     7,   260,     6,     0,    51,
    39,   177,   252,   178,     7,   260,     6,     0,    39,    62,
   177,   252,   178,     7,   260,     6,     0,    81,   177,   252,
   178,     7,   260,     6,     0,    82,   177,   252,   178,     7,
   260,    86,   260,    83,   252,     6,     0,    39,   183,   252,
   184,     6,     0,    47,    40,   177,   252,   178,     7,   260,
     6,     0,   142,    40,   177,   252,   178,     7,   183,   252,
   182,   260,   184,     6,     0,    48,    40,   177,   252,   178,
     7,   260,     6,     0,    82,    40,    84,    85,   177,   252,
   178,     7,   258,    86,   183,   260,   182,   260,   184,    83,
   183,   252,   182,   252,   184,     6,     0,    82,    40,   177,
   252,   178,     7,   258,    86,   183,   260,   182,   260,   184,
    83,   183,   252,   182,   252,   184,     6,     0,    51,    40,
   177,   252,   178,     7,   260,     6,     0,    40,    62,   177,
   252,   178,     7,   260,     6,     0,    40,   183,   252,   184,
     6,     0,    50,    42,   177,   252,   178,     7,   260,     6,
     0,    42,   177,   252,   178,     7,   260,     6,     0,    51,
    42,   177,   252,   178,     7,   260,     6,     0,    57,   254,
   183,   239,   184,     0,    56,   183,   254,   182,   254,   182,
   252,   184,   183,   239,   184,     0,    58,   254,   183,   239,
   184,     0,    59,   183,   254,   182,   252,   184,   183,   239,
   184,     0,   241,     0,   240,     0,   238,     0,     0,   240,
   237,     0,    61,   183,   240,   184,     0,    64,   183,   240,
   184,     0,    64,     4,   179,   252,   180,     6,     0,    64,
    98,     6,     0,     4,   266,     6,     0,     4,   252,     6,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,    55,   177,     4,   178,   181,     4,     6,     0,    94,
     6,     0,    35,     6,     0,    89,   177,   252,     8,   252,
   178,     0,    89,   177,   252,     8,   252,     8,   252,   178,
     0,    89,     4,    90,   183,   252,     8,   252,   184,     0,
    89,     4,    90,   183,   252,     8,   252,     8,   252,   184,
     0,    91,     0,    97,     4,     0,    95,     0,    96,     4,
     6,     0,    92,   177,   252,   178,     0,    93,     0,    60,
    36,   183,   252,   182,   254,   184,     6,     0,    60,    36,
   183,   252,   182,   254,   182,   254,   182,   252,   184,     6,
     0,    60,    39,   183,   252,   182,   254,   184,     6,     0,
    60,    39,   183,   252,   182,   254,   182,   254,   182,   252,
   184,     6,     0,    60,    40,   183,   252,   182,   254,   184,
     6,     0,    60,    40,   183,   252,   182,   254,   182,   254,
   182,   252,   184,     6,     0,    60,    40,   183,   252,   182,
   254,   184,   183,   246,   184,     6,     0,    60,    40,   183,
   252,   182,   254,   182,   254,   182,   252,   184,   183,   246,
   184,     6,     0,     0,   247,   248,     0,   246,   248,     0,
    68,   183,   260,   182,   260,   182,   260,   184,     6,     0,
    63,     6,     0,    49,    39,   260,     7,   252,     6,     0,
    49,    39,   260,     7,   252,    52,    54,   252,     6,     0,
    49,    39,   260,     7,   252,    52,    53,   252,     6,     0,
    49,    40,   183,   252,   184,     7,   260,     6,     0,    46,
    40,   183,   252,   184,     7,   260,     6,     0,    49,    42,
   183,   252,   184,     7,   260,     6,     0,    63,    40,   260,
     7,   252,     6,     0,    63,    40,   260,     6,     0,    65,
     6,     0,    66,     6,     0,   102,     0,   103,     0,   104,
     0,   105,     0,   106,     0,   253,     0,   177,   252,   178,
     0,   167,   252,     0,   166,   252,     0,   172,   252,     0,
   252,   167,   252,     0,   252,   166,   252,     0,   252,   168,
   252,     0,   252,   169,   252,     0,   252,   170,   252,     0,
   252,   176,   252,     0,   252,   162,   252,     0,   252,   164,
   252,     0,   252,   163,   252,     0,   252,   165,   252,     0,
   252,   159,   252,     0,   252,   160,   252,     0,   252,   158,
   252,     0,   252,   157,   252,     0,   252,   156,   252,     8,
   252,     0,    10,   177,   252,   178,     0,    11,   177,   252,
   178,     0,    12,   177,   252,   178,     0,    13,   177,   252,
   178,     0,    14,   177,   252,   178,     0,    15,   177,   252,
   178,     0,    16,   177,   252,   178,     0,    17,   177,   252,
   178,     0,    18,   177,   252,   178,     0,    20,   177,   252,
   178,     0,    21,   177,   252,   182,   252,   178,     0,    22,
   177,   252,   178,     0,    23,   177,   252,   178,     0,    24,
   177,   252,   178,     0,    25,   177,   252,   178,     0,    26,
   177,   252,   178,     0,    27,   177,   252,   178,     0,    28,
   177,   252,   182,   252,   178,     0,    29,   177,   252,   182,
   252,   178,     0,    30,   177,   252,   182,   252,   178,     0,
    19,   177,   252,   178,     0,     3,     0,     9,     0,     4,
     0,     4,   179,   252,   180,     0,     4,   235,     0,     4,
   179,   252,   180,   235,     0,     4,   181,     4,     0,     4,
   179,   252,   180,   181,     4,     0,     4,   181,     4,   235,
     0,     4,   179,   252,   180,   181,     4,   235,     0,   255,
     0,   167,   254,     0,   166,   254,     0,   254,   167,   254,
     0,   254,   166,   254,     0,   183,   252,   182,   252,   182,
   252,   182,   252,   182,   252,   184,     0,   183,   252,   182,
   252,   182,   252,   182,   252,   184,     0,   183,   252,   182,
   252,   182,   252,   184,     0,   177,   252,   182,   252,   182,
   252,   178,     0,     0,   177,   257,   178,     0,     5,     0,
   257,   182,     5,     0,     0,   183,   259,   184,     0,   177,
   259,   178,     0,   260,     0,   259,   182,   260,     0,   252,
     0,   261,     0,   183,   262,   184,     0,   167,   183,   262,
   184,     0,   252,     8,   252,     0,   252,     8,   252,     8,
   252,     0,     4,   179,   180,     0,   167,     4,   179,   180,
     0,     4,   179,   183,   262,   184,   180,     0,   167,     4,
   179,   183,   262,   184,   180,     0,   252,     0,   261,     0,
   262,   182,   252,     0,   262,   182,   261,     0,   183,   252,
   182,   252,   182,   252,   182,   252,   184,     0,   183,   252,
   182,   252,   182,   252,   184,     0,     4,     0,     4,   181,
    87,   181,     4,     0,   183,   265,   184,     0,     4,   179,
   252,   180,   181,    88,     0,   263,     0,   265,   182,   263,
     0,     5,     0,    33,   177,   266,   182,   266,   178,     0,
    34,   177,   266,   178,     0,    32,   177,   266,   178,     0,
    32,   177,   266,   182,   262,   178,     0,    32,   177,     4,
   181,     4,   178,     0,    32,   177,     4,   179,   252,   180,
   181,     4,   178,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   155,   157,   158,   159,   166,   168,   171,   179,   193,   205,
   207,   210,   212,   213,   216,   222,   227,   228,   229,   232,
   236,   239,   245,   250,   256,   264,   269,   273,   279,   284,
   288,   293,   297,   300,   305,   309,   313,   317,   322,   326,
   329,   333,   337,   341,   345,   349,   353,   356,   360,   363,
   367,   370,   379,   383,   389,   391,   392,   393,   394,   395,
   396,   397,   398,   399,   400,   401,   404,   409,   438,   444,
   451,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   465,   466,   467,   470,   473,   477,   483,   489,   492,   496,
   502,   508,   511,   515,   521,   527,   530,   534,   542,   548,
   551,   555,   563,   569,   572,   576,   584,   590,   593,   597,
   609,   615,   618,   622,   634,   640,   643,   647,   659,   665,
   668,   672,   685,   691,   694,   698,   711,   717,   720,   724,
   737,   749,   751,   752,   753,   754,   756,   758,   760,   791,
   825,   872,   887,   896,   911,   923,   937,   960,   984,   996,
  1010,  1022,  1036,  1052,  1068,  1081,  1101,  1112,  1118,  1137,
  1148,  1156,  1162,  1168,  1187,  1193,  1209,  1216,  1222,  1228,
  1234,  1240,  1259,  1271,  1277,  1296,  1317,  1325,  1331,  1337,
  1343,  1355,  1361,  1367,  1379,  1385,  1390,  1395,  1402,  1404,
  1405,  1408,  1413,  1424,  1442,  1450,  1455,  1466,  1534,  1554,
  1560,  1564,  1584,  1600,  1614,  1639,  1664,  1690,  1696,  1701,
  1706,  1710,  1720,  1726,  1732,  1736,  1740,  1744,  1748,  1753,
  1760,  1766,  1768,  1773,  1794,  1804,  1823,  1841,  1859,  1881,
  1902,  1923,  1937,  1958,  1963,  1974,  1976,  1977,  1978,  1979,
  1982,  1984,  1985,  1986,  1987,  1988,  1989,  1990,  1991,  1998,
  1999,  2000,  2001,  2002,  2003,  2004,  2005,  2006,  2007,  2008,
  2009,  2010,  2011,  2012,  2013,  2014,  2015,  2016,  2017,  2018,
  2019,  2020,  2021,  2022,  2023,  2024,  2025,  2026,  2027,  2028,
  2029,  2034,  2039,  2043,  2054,  2071,  2082,  2101,  2117,  2133,
  2149,  2166,  2171,  2175,  2179,  2183,  2188,  2193,  2197,  2201,
  2207,  2211,  2216,  2220,  2225,  2229,  2233,  2239,  2245,  2252,
  2258,  2262,  2266,  2276,  2283,  2294,  2308,  2324,  2344,  2368,
  2374,  2378,  2382,  2393,  2398,  2409,  2414,  2432,  2437,  2450,
  2456,  2462,  2467,  2475,  2488,  2492,  2517,  2531
};
#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",
"tStrCat","tStrPrefix","tDraw","tPoint","tCircle","tEllipsis","tLine","tSurface",
"tSpline","tVolume","tCharacteristic","tLength","tParametric","tElliptic","tPlane",
"tRuled","tTransfinite","tComplex","tPhysical","tUsing","tBump","tProgression",
"tPlugin","tRotate","tTranslate","tSymmetry","tDilate","tExtrude","tDuplicata",
"tLoop","tRecombine","tDelete","tCoherence","tIntersect","tAttractor","tLayers",
"tScalarTetrahedron","tVectorTetrahedron","tTensorTetrahedron","tScalarTriangle",
"tVectorTriangle","tTensorTriangle","tScalarLine","tVectorLine","tTensorLine",
"tScalarPoint","tVectorPoint","tTensorPoint","tBSpline","tNurbs","tOrder","tWith",
"tBounds","tKnots","tColor","tColorTable","tFor","tIn","tEndFor","tIf","tEndIf",
"tExit","tReturn","tCall","tFunction","tMesh","tB_SPLINE_SURFACE_WITH_KNOTS",
"tB_SPLINE_CURVE_WITH_KNOTS","tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED",
"tU","tV","tEDGE_CURVE","tVERTEX_POINT","tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND",
"tEDGE_LOOP","tADVANCED_FACE","tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO",
"tENDISO","tENDSEC","tDATA","tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME",
"tMANIFOLD_SOLID_BREP","tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION",
"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE",
"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE",
"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION",
"tELLIPSE","tTrimmed","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter",
"tLoopSTL","tEndLoop","tEndFacet","tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES",
"tAFFECTDIVIDE","'?'","tOR","tAND","tEQUAL","tNOTEQUAL","tAPPROXEQUAL","'<'",
"tLESSOREQUAL","'>'","tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT",
"'!'","tPLUSPLUS","tMINUSMINUS","UNARYPREC","'^'","'('","')'","'['","']'","'.'",
"','","'{'","'}'","All","SignedDouble","STLFormatItem","StepFormatItems","StepFormatItem",
"StepSpecial","StepHeaderItem","StepDataItem","GeomFormatList","GeomFormat",
"Printf","View","Views","ScalarPointValues","ScalarPoint","@1","VectorPointValues",
"VectorPoint","@2","TensorPointValues","TensorPoint","@3","ScalarLineValues",
"ScalarLine","@4","VectorLineValues","VectorLine","@5","TensorLineValues","TensorLine",
"@6","ScalarTriangleValues","ScalarTriangle","@7","VectorTriangleValues","VectorTriangle",
"@8","TensorTriangleValues","TensorTriangle","@9","ScalarTetrahedronValues",
"ScalarTetrahedron","@10","VectorTetrahedronValues","VectorTetrahedron","@11",
"TensorTetrahedronValues","TensorTetrahedron","@12","NumericAffectation","NumericIncrement",
"Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata",
"Delete","Command","Loop","Extrude","ExtrudeParameters","@13","ExtrudeParameter",
"Transfini","Coherence","BoolExpr","FExpr","FExpr_Single","VExpr","VExpr_Single",
"ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble",
"ListOfDouble","FExpr_Multi","RecursiveListOfDouble","ColorExpr","ListOfColor",
"RecursiveListOfColor","StringExpr", NULL
   185,   185,   185,   185,   186,   186,   187,   187,   187,   188,
   188,   189,   189,   189,   190,   190,   190,   190,   190,   191,
   191,   191,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
   192,   192,   193,   193,   194,   194,   194,   194,   194,   194,
   194,   194,   194,   194,   194,   194,   195,   195,   196,   196,
   197,   197,   197,   197,   197,   197,   197,   197,   197,   197,
   197,   197,   197,   198,   198,   200,   199,   201,   201,   203,
   202,   204,   204,   206,   205,   207,   207,   209,   208,   210,
   210,   212,   211,   213,   213,   215,   214,   216,   216,   218,
   217,   219,   219,   221,   220,   222,   222,   224,   223,   225,
   225,   227,   226,   228,   228,   230,   229,   231,   231,   233,
   232,   234,   234,   234,   234,   234,   235,   235,   236,   236,
   236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
   236,   236,   236,   236,   236,   236,   237,   237,   237,   237,
   237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
   237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
   237,   237,   237,   237,   238,   238,   238,   238,   239,   239,
   239,   240,   240,   241,   242,   242,   242,   243,   243,   243,
   243,   243,   244,   244,   244,   244,   244,   244,   244,   244,
   244,   244,   245,   245,   245,   245,   245,   245,   245,   245,
   247,   246,   246,   248,   248,   249,   249,   249,   249,   249,
   249,   249,   249,   250,   250,   251,   251,   251,   251,   251,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   252,   253,   253,   253,   253,   253,   253,   253,   253,   253,
   253,   254,   254,   254,   254,   254,   255,   255,   255,   255,
   256,   256,   257,   257,   258,   258,   258,   259,   259,   260,
   260,   260,   260,   261,   261,   261,   261,   261,   261,   262,
   262,   262,   262,   263,   263,   263,   263,   264,   264,   265,
   265,   266,   266,   266,   266,   266,   266,   266
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     1,     1,     1,     2,     1,     2,     1,    21,     1,     0,
     2,     1,     1,     1,     2,     2,     2,     2,     2,     7,
     5,    17,     9,    23,    31,    15,    11,    11,    15,     9,
    13,     9,    11,    13,     9,     9,    11,     9,    11,     9,
    11,    13,    13,    11,    13,    17,     9,    11,    11,    13,
    11,     9,     0,     2,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     1,     1,     1,     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,     1,     1,     1,     1,     1,     1,     1,     4,     7,
     9,     6,     3,     6,     6,     9,     6,     9,     5,     8,
     8,    11,     6,     9,     9,     9,     7,     8,    12,     6,
     5,     7,     7,    12,     7,     9,    17,     7,     8,     8,
     7,    11,     5,     8,    12,     8,    22,    20,     8,     8,
     5,     8,     7,     8,     5,    11,     5,     9,     1,     1,
     1,     0,     2,     4,     4,     6,     3,     3,     3,     7,
     2,     2,     6,     8,     8,    10,     1,     2,     1,     3,
     4,     1,     8,    12,     8,    12,     8,    12,    11,    15,
     0,     2,     2,     9,     2,     6,     9,     9,     8,     8,
     8,     6,     4,     2,     2,     1,     1,     1,     1,     1,
     1,     3,     2,     2,     2,     3,     3,     3,     3,     3,
     3,     3,     3,     3,     3,     3,     3,     3,     3,     5,
     4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
     6,     4,     4,     4,     4,     4,     4,     6,     6,     6,
     4,     1,     1,     1,     4,     2,     5,     3,     6,     4,
     7,     1,     2,     2,     3,     3,    11,     9,     7,     7,
     0,     3,     1,     3,     0,     3,     3,     1,     3,     1,
     1,     3,     4,     3,     5,     3,     4,     6,     7,     1,
     1,     3,     3,     9,     7,     1,     5,     3,     6,     1,
     3,     1,     6,     4,     4,     6,     6,     9
Christophe Geuzaine's avatar
Christophe Geuzaine committed
static const short yydefact[] = {     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     7,     9,     0,     2,     1,     3,     4,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    11,    12,
    14,    13,     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,   207,     0,   212,     0,   209,
     0,     0,     0,    54,    56,    55,    57,    58,    59,    60,
    61,    66,    65,    62,    63,    64,     5,     0,     0,     0,
    15,    16,    18,    17,    19,   301,   301,     0,   282,   284,
   332,   132,   283,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   133,   134,   135,
   136,     0,     0,     0,   137,   138,     0,     0,     0,     0,
     0,     0,   241,     0,     0,   202,     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,   292,     0,     0,
     0,     0,     0,   192,     0,     0,     0,   192,   234,   235,
     0,     0,     0,     0,     0,     0,     0,     0,   201,     0,
   208,     0,     6,     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,
   286,     0,    71,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   244,   243,   245,
     0,     0,     0,     0,     0,     0,     0,     0,   143,   199,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   198,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   284,     0,
     0,   310,     0,   311,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   294,   293,
     0,     0,     0,     0,   192,   192,     0,     0,     0,     0,
     0,     0,     0,   197,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   210,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   303,     0,     0,
     0,     0,     0,   288,     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,     0,     0,     0,     0,   332,     0,
     0,     0,   242,     0,     0,   320,   321,     0,     0,   132,
     0,     0,     0,     0,   139,     0,   259,   258,   256,   257,
   252,   254,   253,   255,   247,   246,   248,   249,   250,   251,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   284,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   296,   295,   191,     0,   190,
   189,     0,     0,     0,     0,     0,   194,   193,   233,     0,
     0,   195,     0,     0,     0,     0,     0,     0,     0,     0,
   211,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   302,     0,     0,    21,     0,   285,   290,
    71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    72,    73,    74,    75,    76,    77,
    78,    79,    80,    81,    82,    83,   261,   262,   263,   264,
   265,   266,   267,   268,   269,   281,   270,     0,   272,   273,
   274,   275,   276,   277,     0,     0,     0,     0,     0,   335,
     0,     0,   334,     0,     0,     0,     0,     0,     0,     0,
     0,   149,     0,     0,     0,     0,     0,    67,     0,     0,
   161,     0,     0,     0,     0,   173,     0,   181,     0,     0,
   316,     0,     0,     0,   312,   314,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   185,   187,     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,   304,     0,   301,     0,   287,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
     0,     0,     0,     0,     0,     0,     0,     0,   142,   322,
   323,     0,     0,     0,     0,     0,   144,   145,   147,     0,
     0,   326,     0,   330,     0,   153,   260,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   317,     0,   313,
     0,   160,     0,     0,     0,     0,   226,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   232,   196,     0,     0,     0,     0,   305,
     0,     0,     0,   203,     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,   236,
   237,   238,   239,   240,     0,     0,     0,     0,     0,     0,
     0,    20,     0,   289,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   271,   278,   279,
   280,     0,   337,   336,   333,     0,   132,     0,     0,     0,
     0,   140,     0,     0,     0,     0,     0,   328,    68,   157,
   165,     0,   168,     0,   162,     0,   163,   183,     0,     0,
   315,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   200,     0,     0,     0,     0,   192,
     0,     0,     0,     0,     0,     0,     0,     0,   171,     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,   301,   291,
    70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   150,     0,     0,
   151,     0,     0,     0,   331,     0,   170,   180,   318,     0,
     0,   230,   174,   176,     0,     0,   229,   231,   182,   158,
   169,   179,   184,     0,     0,     0,   300,     0,   299,     0,
     0,   213,     0,   215,     0,   217,   221,     0,     0,   305,
     0,   308,     0,     0,     0,     0,   205,   204,     0,     0,
     0,     0,     0,    23,     0,    32,     0,    36,     0,    30,
     0,     0,    35,     0,    40,    38,     0,     0,     0,     0,
     0,     0,    47,     0,     0,     0,     0,     0,    52,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   141,   146,   148,     0,   154,     0,
     0,     0,   166,   319,     0,   228,   227,   155,   156,   192,
     0,   188,     0,     0,     0,     0,     0,     0,     0,     0,
   307,     0,   306,     0,     0,     0,     0,     0,     0,   305,
     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,   338,     0,   329,   327,     0,     0,     0,     0,
   298,     0,     0,     0,     0,     0,     0,   223,   222,     0,
     0,     0,   309,     0,     0,   206,     0,     0,    37,     0,
     0,     0,     0,    27,     0,    33,     0,    39,    28,    41,
     0,    44,     0,    48,    49,     0,     0,    51,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   152,     0,     0,   186,     0,     0,     0,     0,
   225,     0,   219,     0,     0,     0,     0,   172,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    86,    90,    94,     0,   325,     0,   297,   214,   216,
   218,   221,     0,   159,   164,     0,     0,   175,     0,     0,
     0,     0,     0,    31,    34,    42,     0,    43,    50,    45,
     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,   324,     0,
     0,     0,     0,     0,     0,     0,     0,    26,    29,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    84,     0,    88,     0,    92,     0,   220,     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,    46,    22,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
    87,    89,    91,    93,    95,   167,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    98,   102,
   106,   224,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     8,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   178,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    96,     0,   100,     0,   104,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   177,     0,    24,     0,     0,     0,     0,     0,     0,
    97,    99,   101,   103,   105,   107,     0,     0,     0,     0,
   110,   114,   118,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   108,     0,   112,     0,   116,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   109,   111,   113,   115,   117,   119,     0,   122,   126,
   130,    25,     0,     0,     0,     0,     0,     0,     0,   120,
     0,   124,     0,   128,     0,     0,     0,     0,     0,     0,
   121,   123,   125,   127,   129,   131,     0,     0,     0
static const short yydefgoto[] = {  1537,
    79,     5,     6,    19,    20,    21,    22,     7,    64,    65,
    66,   386,  1311,   555,  1261,  1313,   556,  1262,  1315,   557,
  1263,  1421,   558,  1394,  1423,   559,  1395,  1425,   560,  1396,
  1482,   561,  1468,  1484,   562,  1469,  1486,   563,  1470,  1519,
   564,  1513,  1521,   565,  1514,  1523,   566,  1515,   130,   231,
    67,   488,   478,   479,   480,   481,    71,    72,    73,    74,
  1076,  1077,  1138,    75,    76,   815,   302,   133,   167,   168,
   226,   379,   903,  1001,  1002,   304,   418,   734,   606,   735,
   134
static const short yypact[] = {  1969,
    44,-32768,-32768,  -117,-32768,   232,  2096,-32768,    13,    48,
    68,   121,   163,   171,   240,   -67,   132,   139,-32768,-32768,
-32768,-32768,  1551,   145,   332,   -71,   158,   167,   -37,   -44,
   170,   196,   345,   225,   365,   368,   369,   105,   378,   364,
   252,   242,   -11,   -11,   247,   142,   249,   399,     5,   434,
   436,   292,   277,   -20,    24,-32768,   281,-32768,   456,-32768,
   465,   470,   444,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,   500,    13,  2165,
-32768,-32768,-32768,-32768,-32768,   346,   346,   506,-32768,    94,
     6,-32768,-32768,   350,   351,   352,   353,   376,   377,   379,
   380,   381,   382,   383,   384,   390,   393,   394,   396,   397,
   400,   401,   402,   403,   405,   406,   408,-32768,-32768,-32768,
-32768,    67,    67,    67,-32768,-32768,    67,   522,    43,    67,
   509,  1047,-32768,   560,   571,-32768,    67,    67,    67,    67,
   409,    67,    67,   410,    67,    67,    67,   975,    67,   407,
   412,   414,   975,   411,   413,   415,   416,   418,   420,   421,
   597,   -11,   -11,   -11,    67,    67,   -58,-32768,   -15,   -11,
   419,   423,   424,-32768,   975,   425,   599,-32768,-32768,-32768,
   975,   975,    67,   -49,    67,   518,    67,    67,-32768,   603,
-32768,   435,-32768,    13,   437,   438,   439,   440,   445,   446,
   447,   448,   449,   450,   451,   454,   457,   458,   460,   461,
   462,   469,   471,   494,   495,   496,   497,   513,   514,   515,
   516,   519,   520,   521,   606,   431,   443,   524,    67,   629,
-32768,   -11,-32768,    67,    67,    67,    67,    67,    67,    67,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    67,    67,    67,    67,    67,    67,    67,    67,    67,    67,
    67,    67,    67,    67,    32,    35,    35,   527,   527,   527,
  5024,   688,  1583,  4899,   166,   466,   693,  1068,-32768,-32768,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    67,    67,    67,    67,    67,    67,    67,    67,    67,    67,
    67,    67,    67,    67,    67,-32768,   -80,  5047,  2238,  5070,
  5093,    67,  5116,  2261,    67,  2284,  5139,  5162,   220,  1003,
  1583,   878,   697,-32768,  5185,    67,    67,    67,   700,    67,
    67,    67,    67,    67,    67,    67,   531,    -8,-32768,-32768,
  2652,  2673,   -11,   -11,   422,   422,    20,    67,    67,    67,
   340,   290,    67,-32768,  1917,   704,   705,  5208,   642,    67,
  5231,   546,  1718,  5254,-32768,    67,   595,   742,   745,   746,
   747,   748,   749,   750,   751,   752,   753,   756,   757,   758,
   759,   760,   761,   762,   763,   767,   768,   769,   792,   793,
   636,   794,   795,   796,   798,   801,   800,-32768,    -7,   803,
   804,   806,  4924,   187,   -13,   645,  5277,  5300,  5323,  5346,
  5369,  5392,  5415,  5438,  5461,  5484,  5507,  2694,  5530,  5553,
  5576,  5599,  5622,  5645,  2715,  2736,  2757,  -138,-32768,    12,
   627,   635,-32768,   975,  1624,   878,-32768,    63,   160,    35,
    67,   808,   811,    10,-32768,  1739,  1575,   572,   248,   248,
   198,   198,   198,   198,   258,   258,   527,   527,   527,   527,
   810,  1583,   812,   815,   817,   819,  5668,   820,   816,  5691,
   822,   823,   824,   640,   264,  1583,    92,    67,    67,   825,
  2307,  5714,  5737,    67,  2330,  2353,  5760,  5783,  5806,  5829,
  5852,   637,   -11,    67,    67,-32768,-32768,-32768,   650,  2158,
-32768,   652,    67,  2778,  2799,  2820,-32768,-32768,-32768,    67,
  4949,-32768,   659,   669,   849,   682,  5875,   851,    67,    67,
-32768,  5898,   711,   679,   683,   685,   686,   687,   689,   690,
   691,   694,   695,   696,   698,   699,   701,   703,   706,   707,
   708,   709,   710,   712,   713,   714,   716,   717,   718,   719,
   720,   721,   725,-32768,   865,   715,-32768,   726,  -122,-32768,
-32768,   702,   732,   733,   735,   736,   737,   739,   740,   741,
   754,   765,   770,   876,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
-32768,-32768,-32768,-32768,-32768,-32768,-32768,    67,-32768,-32768,
-32768,-32768,-32768,-32768,    67,    67,    67,    67,   931,-32768,
  1583,    35,-32768,   930,  1583,   764,    49,    67,   934,   939,
  1162,-32768,   943,   772,    15,   946,    67,-32768,    14,   -11,
-32768,   975,   975,   947,   975,-32768,   948,-32768,   975,   975,
-32768,  1583,   766,    98,-32768,  1754,  1202,   773,   950,   951,
   955,   681,   956,   957,   959,   962,   963,   964,   965,   949,
    97,  2841,  2862,-32768,-32768,  2376,   -11,   -11,   -11,  1262,
   953,    67,    67,   975,    67,   966,   975,  1775,   952,   967,
   830,   973,    67,    67,   -11,   974,   977,   813,   979,  1005,
   975,   975,  1006,   -11,  1007,  1008,   975,   975,  1036,  1046,
  1054,  1055,  1056,   975,   344,   975,  1057,  1058,  1059,  1062,
  1063,-32768,  1061,   346,  1064,-32768,  1405,    67,    67,    67,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    67,    67,    67,    67,    67,    67,    67,    67,    67,-32768,
  5921,  5944,  5967,  5990,  4974,   883,    54,   891,-32768,   878,
-32768,    55,   172,   890,  1065,  1351,-32768,-32768,-32768,    15,
    67,   892,    67,-32768,   175,-32768,  6496,  1070,    18,    25,
  1071,   975,  1073,   975,  1074,  1075,   202,-32768,  1583,-32768,
    67,-32768,    67,   975,   975,   975,-32768,   316,   975,   975,
   975,   975,   975,   975,   975,   389,    67,    67,    67,   899,
  -128,  -121,  -109,-32768,-32768,  2883,  2904,  1078,  6013,   -45,
   999,    67,    67,-32768,   904,    13,   918,  2925,  2946,  -118,
   919,   924,   921,   927,   941,   928,   942,   944,   133,   954,
   935,   960,   958,   961,   968,   969,   971,   972,   970,-32768,
-32768,-32768,-32768,-32768,   978,   980,   981,   982,   983,   989,
   990,-32768,   991,   187,  1119,  2967,  2988,  3009,  3030,  3051,
  3072,  3093,  3114,  3135,  3156,  3177,  3198,-32768,-32768,-32768,
-32768,   976,-32768,-32768,-32768,   975,    35,    67,  1123,  1127,
    10,-32768,  1126,  4999,  1048,  3219,    15,-32768,-32768,-32768,
-32768,   -11,-32768,  1128,-32768,  1131,-32768,-32768,   994,   271,
  6496,  3240,  1133,  1138,  1139,    67,    67,  1140,  1143,  1149,
  1150,  1153,  1155,  1165,-32768,  1267,  2399,  6036,  2151,   422,
   -11,  1170,   -11,  1171,   -11,    16,    67,    67,-32768,  1172,
   975,   975,  1092,   975,   329,  6059,    67,    13,  1130,    67,
   975,  1175,  1179,  1177,  1016,  1181,   344,  1182,  1186,    67,