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.98 2001-07-31 19:25:04 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		1538
#define	YYNTBASE	185
#define YYTRANSLATE(x) ((unsigned)(x) <= 420 ? yytranslate[x] : 266)

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,  1636,  1639,  1649,  1652,  1659,  1669,  1679,  1688,  1697,
  1706,  1713,  1718,  1721,  1724,  1726,  1728,  1730,  1732,  1734,
  1736,  1740,  1743,  1746,  1749,  1753,  1757,  1761,  1765,  1769,
  1773,  1777,  1781,  1785,  1789,  1793,  1797,  1801,  1805,  1811,
  1816,  1821,  1826,  1831,  1836,  1841,  1846,  1851,  1856,  1861,
  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1905,  1912,  1919,
  1924,  1926,  1928,  1930,  1935,  1938,  1944,  1948,  1955,  1960,
  1968,  1970,  1973,  1976,  1980,  1984,  1996,  2006,  2014,  2022,
  2023,  2027,  2029,  2033,  2034,  2038,  2042,  2044,  2048,  2050,
  2052,  2056,  2061,  2065,  2071,  2075,  2080,  2087,  2095,  2097,
  2099,  2103,  2107,  2117,  2125,  2127,  2133,  2137,  2144,  2146,
  2150,  2152,  2159,  2164,  2169,  2176,  2183
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,   255,   182,     5,   178,
     6,     0,   123,   177,   255,   178,     6,     0,   124,   177,
     5,   182,     5,   182,   255,   182,   255,   182,     5,   182,
     5,   182,     5,   178,     6,     0,     3,     7,   101,   177,
     5,   182,   253,   178,     6,     0,     3,     7,   100,   177,
     5,   182,   251,   182,   259,   182,   250,   182,   250,   182,
   250,   182,   259,   182,   259,   182,   250,   178,     6,     0,
     3,     7,    99,   177,     5,   182,   251,   182,   251,   182,
   257,   182,   250,   182,   250,   182,   250,   182,   250,   182,
   259,   182,   259,   182,   259,   182,   259,   182,   250,   178,
     6,     0,     3,     7,   107,   177,     5,   182,     3,   182,
     3,   182,     3,   182,   250,   178,     6,     0,     3,     7,
   111,   177,     5,   182,     3,   182,   250,   178,     6,     0,
     3,     7,   128,   177,     5,   182,     3,   182,   250,   178,
     6,     0,     3,     7,   109,   177,     5,   182,   168,   182,
   168,   182,   251,   182,   250,   178,     6,     0,     3,     7,
   112,   177,     5,   182,   259,   178,     6,     0,     3,     7,
   113,   177,     5,   182,   259,   182,     3,   182,   250,   178,
     6,     0,     3,     7,   108,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   114,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   116,   177,     5,   182,
     3,   182,     3,   182,     3,   178,     6,     0,     3,     7,
   115,   177,     5,   182,   253,   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,   259,   178,     6,     0,
     3,     7,   127,   177,     5,   182,   259,   182,     3,   178,
     6,     0,     3,     7,   125,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   129,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   130,   177,     5,   182,
     3,   182,   251,   182,   251,   178,     6,     0,     3,     7,
   137,   177,     5,   182,     3,   182,   251,   182,   251,   178,
     6,     0,     3,     7,   131,   177,     5,   182,     3,   182,
   251,   178,     6,     0,     3,     7,   141,   177,     5,   182,
     3,   182,   251,   182,   251,   178,     6,     0,     3,     7,
   132,   177,     5,   182,     3,   182,   259,   182,   259,   182,
   250,   182,   250,   178,     6,     0,     3,     7,   133,   177,
     5,   182,   259,   178,     6,     0,     3,     7,   134,   177,
   135,   182,   250,   182,     3,   178,     6,     0,     3,     7,
   136,   177,     5,   182,   259,   182,   250,   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,   248,     0,   249,     0,
   244,     0,   243,     0,    31,   177,     5,   178,     6,     0,
    31,   177,     5,   182,   261,   178,     6,     0,     4,     5,
   183,   197,   184,     6,     0,     4,     5,     4,   253,   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,   251,     0,   198,   182,   251,     0,     0,    78,   177,
   251,   182,   251,   182,   251,   178,   200,   183,   198,   184,
     6,     0,   251,     0,   201,   182,   251,     0,     0,    79,
   177,   251,   182,   251,   182,   251,   178,   203,   183,   201,
   184,     6,     0,   251,     0,   204,   182,   251,     0,     0,
    80,   177,   251,   182,   251,   182,   251,   178,   206,   183,
   204,   184,     6,     0,   251,     0,   207,   182,   251,     0,
     0,    75,   177,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   209,   183,   207,   184,     6,
     0,   251,     0,   210,   182,   251,     0,     0,    76,   177,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   178,   212,   183,   210,   184,     6,     0,   251,     0,
   213,   182,   251,     0,     0,    77,   177,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   178,   215,
   183,   213,   184,     6,     0,   251,     0,   216,   182,   251,
     0,     0,    72,   177,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   178,   218,   183,   216,   184,     6,     0,   251,     0,
   219,   182,   251,     0,     0,    73,   177,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   221,   183,   219,   184,     6,
     0,   251,     0,   222,   182,   251,     0,     0,    74,   177,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   178,   224,   183,
   222,   184,     6,     0,   251,     0,   225,   182,   251,     0,
     0,    69,   177,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   178,   227,   183,   225,
   184,     6,     0,   251,     0,   228,   182,   251,     0,     0,
    70,   177,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   182,   251,   178,   230,   183,   228,   184,
     6,     0,   251,     0,   231,   182,   251,     0,     0,    71,
   177,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   182,   251,   182,   251,   182,   251,
   182,   251,   182,   251,   178,   233,   183,   231,   184,     6,
     0,     7,     0,   152,     0,   153,     0,   154,     0,   155,
     0,   173,     0,   174,     0,     4,   234,   251,     6,     0,
     4,   179,   251,   180,   234,   251,     6,     0,     4,   179,
   183,   261,   184,   180,   234,   259,     6,     0,     4,   179,
   180,     7,   259,     6,     0,     4,   235,     6,     0,     4,
   179,   251,   180,   235,     6,     0,     4,   181,     4,     7,
   265,     6,     0,     4,   179,   251,   180,   181,     4,     7,
   265,     6,     0,     4,   181,     4,   234,   251,     6,     0,
     4,   179,   251,   180,   181,     4,   234,   251,     6,     0,
     4,   181,     4,   235,     6,     0,     4,   179,   251,   180,
   181,     4,   235,     6,     0,     4,   181,    87,   181,     4,
     7,   262,     6,     0,     4,   179,   251,   180,   181,    87,
   181,     4,     7,   262,     6,     0,     4,   181,    88,     7,
   263,     6,     0,     4,   179,   251,   180,   181,    88,     7,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   263,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   251,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   265,     6,     0,    36,   177,   251,   178,     7,   253,     6,
     0,    51,    36,   177,   251,   178,     7,   259,     6,     0,
    67,    36,   259,     7,   183,   251,   182,   251,   182,   251,
   184,     6,     0,    43,    44,   259,     7,   251,     6,     0,
    36,   183,   251,   184,     6,     0,    39,   177,   251,   178,
     7,   259,     6,     0,    41,   177,   251,   178,     7,   259,
     6,     0,    67,    39,   259,     7,   183,   251,   182,   251,
   182,   251,   184,     6,     0,    37,   177,   251,   178,     7,
   259,     6,     0,    37,   177,   251,   178,     7,   259,    47,
   253,     6,     0,    45,   177,   251,   178,     7,   183,   251,
   182,   251,   182,     5,   182,     5,   182,     5,   184,     6,
     0,    38,   177,   251,   178,     7,   259,     6,     0,    51,
    39,   177,   251,   178,     7,   259,     6,     0,    39,    62,
   177,   251,   178,     7,   259,     6,     0,    81,   177,   251,
   178,     7,   259,     6,     0,    82,   177,   251,   178,     7,
   259,    86,   259,    83,   251,     6,     0,    39,   183,   251,
   184,     6,     0,    47,    40,   177,   251,   178,     7,   259,
     6,     0,   142,    40,   177,   251,   178,     7,   183,   251,
   182,   259,   184,     6,     0,    48,    40,   177,   251,   178,
     7,   259,     6,     0,    82,    40,    84,    85,   177,   251,
   178,     7,   257,    86,   183,   259,   182,   259,   184,    83,
   183,   251,   182,   251,   184,     6,     0,    82,    40,   177,
   251,   178,     7,   257,    86,   183,   259,   182,   259,   184,
    83,   183,   251,   182,   251,   184,     6,     0,    51,    40,
   177,   251,   178,     7,   259,     6,     0,    40,    62,   177,
   251,   178,     7,   259,     6,     0,    40,   183,   251,   184,
     6,     0,    50,    42,   177,   251,   178,     7,   259,     6,
     0,    42,   177,   251,   178,     7,   259,     6,     0,    51,
    42,   177,   251,   178,     7,   259,     6,     0,    57,   253,
   183,   239,   184,     0,    56,   183,   253,   182,   253,   182,
   251,   184,   183,   239,   184,     0,    58,   253,   183,   239,
   184,     0,    59,   183,   253,   182,   251,   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,   251,   180,     6,     0,    64,
    98,     6,     0,     4,   265,     6,     0,     4,   251,     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,   251,     8,   251,
   178,     0,    89,   177,   251,     8,   251,     8,   251,   178,
     0,    89,     4,    90,   183,   251,     8,   251,   184,     0,
    89,     4,    90,   183,   251,     8,   251,     8,   251,   184,
     0,    91,     0,    97,     4,     0,    95,     0,    96,     4,
     6,     0,    92,   177,   251,   178,     0,    93,     0,    60,
    36,   183,   251,   182,   253,   184,     6,     0,    60,    36,
   183,   251,   182,   253,   182,   253,   182,   251,   184,     6,
     0,    60,    39,   183,   251,   182,   253,   184,     6,     0,
    60,    39,   183,   251,   182,   253,   182,   253,   182,   251,
   184,     6,     0,    60,    40,   183,   251,   182,   253,   184,
     6,     0,    60,    40,   183,   251,   182,   253,   182,   253,
   182,   251,   184,     6,     0,    60,    40,   183,   251,   182,
   253,   184,   183,   246,   184,     6,     0,    60,    40,   183,
   251,   182,   253,   182,   253,   182,   251,   184,   183,   246,
   184,     6,     0,   247,     0,   246,   247,     0,    68,   183,
   259,   182,   259,   182,   259,   184,     6,     0,    63,     6,
     0,    49,    39,   259,     7,   251,     6,     0,    49,    39,
   259,     7,   251,    52,    54,   251,     6,     0,    49,    39,
   259,     7,   251,    52,    53,   251,     6,     0,    49,    40,
   183,   251,   184,     7,   259,     6,     0,    46,    40,   183,
   251,   184,     7,   259,     6,     0,    49,    42,   183,   251,
   184,     7,   259,     6,     0,    63,    40,   259,     7,   251,
     6,     0,    63,    40,   259,     6,     0,    65,     6,     0,
    66,     6,     0,   102,     0,   103,     0,   104,     0,   105,
     0,   106,     0,   252,     0,   177,   251,   178,     0,   167,
   251,     0,   166,   251,     0,   172,   251,     0,   251,   167,
   251,     0,   251,   166,   251,     0,   251,   168,   251,     0,
   251,   169,   251,     0,   251,   170,   251,     0,   251,   176,
   251,     0,   251,   162,   251,     0,   251,   164,   251,     0,
   251,   163,   251,     0,   251,   165,   251,     0,   251,   159,
   251,     0,   251,   160,   251,     0,   251,   158,   251,     0,
   251,   157,   251,     0,   251,   156,   251,     8,   251,     0,
    10,   177,   251,   178,     0,    11,   177,   251,   178,     0,
    12,   177,   251,   178,     0,    13,   177,   251,   178,     0,
    14,   177,   251,   178,     0,    15,   177,   251,   178,     0,
    16,   177,   251,   178,     0,    17,   177,   251,   178,     0,
    18,   177,   251,   178,     0,    20,   177,   251,   178,     0,
    21,   177,   251,   182,   251,   178,     0,    22,   177,   251,
   178,     0,    23,   177,   251,   178,     0,    24,   177,   251,
   178,     0,    25,   177,   251,   178,     0,    26,   177,   251,
   178,     0,    27,   177,   251,   178,     0,    28,   177,   251,
   182,   251,   178,     0,    29,   177,   251,   182,   251,   178,
     0,    30,   177,   251,   182,   251,   178,     0,    19,   177,
   251,   178,     0,     3,     0,     9,     0,     4,     0,     4,
   179,   251,   180,     0,     4,   235,     0,     4,   179,   251,
   180,   235,     0,     4,   181,     4,     0,     4,   179,   251,
   180,   181,     4,     0,     4,   181,     4,   235,     0,     4,
   179,   251,   180,   181,     4,   235,     0,   254,     0,   167,
   253,     0,   166,   253,     0,   253,   167,   253,     0,   253,
   166,   253,     0,   183,   251,   182,   251,   182,   251,   182,
   251,   182,   251,   184,     0,   183,   251,   182,   251,   182,
   251,   182,   251,   184,     0,   183,   251,   182,   251,   182,
   251,   184,     0,   177,   251,   182,   251,   182,   251,   178,
     0,     0,   177,   256,   178,     0,     5,     0,   256,   182,
     5,     0,     0,   183,   258,   184,     0,   177,   258,   178,
     0,   259,     0,   258,   182,   259,     0,   251,     0,   260,
     0,   183,   261,   184,     0,   167,   183,   261,   184,     0,
   251,     8,   251,     0,   251,     8,   251,     8,   251,     0,
     4,   179,   180,     0,   167,     4,   179,   180,     0,     4,
   179,   183,   261,   184,   180,     0,   167,     4,   179,   183,
   261,   184,   180,     0,   251,     0,   260,     0,   261,   182,
   251,     0,   261,   182,   260,     0,   183,   251,   182,   251,
   182,   251,   182,   251,   184,     0,   183,   251,   182,   251,
   182,   251,   184,     0,     4,     0,     4,   181,    87,   181,
     4,     0,   183,   264,   184,     0,     4,   179,   251,   180,
   181,    88,     0,   262,     0,   264,   182,   262,     0,     5,
     0,    33,   177,   265,   182,   265,   178,     0,    34,   177,
   265,   178,     0,    32,   177,   265,   178,     0,    32,   177,
   265,   182,   261,   178,     0,    32,   177,     4,   181,     4,
   178,     0,    32,   177,     4,   179,   251,   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,  1764,  1769,  1790,  1800,  1819,  1837,  1855,  1877,  1898,
  1919,  1933,  1954,  1959,  1970,  1972,  1973,  1974,  1975,  1978,
  1980,  1981,  1982,  1983,  1984,  1985,  1986,  1987,  1994,  1995,
  1996,  1997,  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,
  2030,  2035,  2039,  2050,  2067,  2078,  2097,  2113,  2129,  2145,
  2162,  2167,  2171,  2175,  2179,  2184,  2189,  2193,  2197,  2203,
  2207,  2212,  2216,  2221,  2225,  2229,  2235,  2241,  2248,  2254,
  2258,  2262,  2272,  2279,  2290,  2304,  2320,  2340,  2364,  2370,
  2374,  2378,  2389,  2394,  2405,  2410,  2428,  2433,  2446,  2452,
  2458,  2463,  2471,  2484,  2488,  2513,  2527
};
#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","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,
   246,   246,   247,   247,   248,   248,   248,   248,   248,   248,
   248,   248,   249,   249,   250,   250,   250,   250,   250,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
   252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
   253,   253,   253,   253,   253,   254,   254,   254,   254,   255,
   255,   256,   256,   257,   257,   257,   258,   258,   259,   259,
   259,   259,   260,   260,   260,   260,   260,   260,   261,   261,
   261,   261,   262,   262,   262,   262,   263,   263,   264,   264,
   265,   265,   265,   265,   265,   265,   265
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,
     1,     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,   300,   300,     0,   281,   283,
   331,   132,   282,     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,   240,     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,   291,     0,     0,
     0,     0,     0,   192,     0,     0,     0,   192,   233,   234,
     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,
   285,     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,   243,   242,   244,
     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,   283,     0,
     0,   309,     0,   310,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   293,   292,
     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,   302,     0,     0,
     0,     0,     0,   287,     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,   331,     0,
     0,     0,   241,     0,     0,   319,   320,     0,     0,   132,
     0,     0,     0,     0,   139,     0,   258,   257,   255,   256,
   251,   253,   252,   254,   246,   245,   247,   248,   249,   250,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   283,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   295,   294,   191,     0,   190,
   189,     0,     0,     0,     0,     0,   194,   193,   232,     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,   301,     0,     0,    21,     0,   284,   289,
    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,   260,   261,   262,   263,
   264,   265,   266,   267,   268,   280,   269,     0,   271,   272,
   273,   274,   275,   276,     0,     0,     0,     0,     0,   334,
     0,     0,   333,     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,
   315,     0,     0,     0,   311,   313,     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,   303,     0,   300,     0,   286,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
     0,     0,     0,     0,     0,     0,     0,     0,   142,   321,
   322,     0,     0,     0,     0,     0,   144,   145,   147,     0,
     0,   325,     0,   329,     0,   153,   259,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   316,     0,   312,
     0,   160,     0,     0,     0,     0,   225,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   231,   196,     0,     0,     0,     0,   304,
     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,   235,
   236,   237,   238,   239,     0,     0,     0,     0,     0,     0,
     0,    20,     0,   288,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   270,   277,   278,
   279,     0,   336,   335,   332,     0,   132,     0,     0,     0,
     0,   140,     0,     0,     0,     0,     0,   327,    68,   157,
   165,     0,   168,     0,   162,     0,   163,   183,     0,     0,
   314,     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,   300,   290,
    70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   150,     0,     0,
   151,     0,     0,     0,   330,     0,   170,   180,   317,     0,
     0,   229,   174,   176,     0,     0,   228,   230,   182,   158,
   169,   179,   184,     0,     0,     0,   299,     0,   298,     0,
     0,   213,     0,   215,     0,   217,     0,     0,     0,   304,
     0,   307,     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,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,   166,   318,     0,   227,   226,   155,   156,   192,
     0,   188,     0,     0,     0,     0,     0,     0,   221,     0,
     0,     0,   306,     0,   305,     0,     0,     0,     0,     0,
     0,   304,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   337,     0,   328,   326,     0,     0,
     0,     0,   297,     0,     0,     0,   224,     0,     0,   222,
     0,     0,     0,   308,     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,     0,   219,     0,     0,     0,     0,   172,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    86,    90,    94,     0,   324,     0,   296,   214,   216,
   218,     0,     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,   323,     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,   223,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    98,   102,
   106,     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[] = {  1536,
    79,     5,     6,    19,    20,    21,    22,     7,    64,    65,
    66,   386,  1311,   555,  1261,  1313,   556,  1262,  1315,   557,
  1263,  1420,   558,  1393,  1422,   559,  1394,  1424,   560,  1395,
  1481,   561,  1467,  1483,   562,  1468,  1485,   563,  1469,  1518,
   564,  1512,  1520,   565,  1513,  1522,   566,  1514,   130,   231,
    67,   488,   478,   479,   480,   481,    71,    72,    73,    74,
  1078,  1079,    75,    76,   815,   302,   133,   167,   168,   226,
   379,   903,  1001,  1002,   304,   418,   734,   606,   735,   134
static const short yypact[] = {  1999,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    68,-32768,-32768,  -123,-32768,    33,  2132,-32768,    15,    58,
   107,   153,   168,   184,   186,   -40,    55,   137,-32768,-32768,
-32768,-32768,  1550,   161,   196,  -142,   187,   209,   -39,   -25,
   218,   228,   364,   243,   385,   392,   402,   354,   328,   419,
   276,   271,   145,   145,   274,   240,   279,   423,     5,   463,
   468,   136,   321,   -11,    12,-32768,   325,-32768,   517,-32768,
   549,   554,   520,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,   558,    15,  2171,
-32768,-32768,-32768,-32768,-32768,   389,   389,   562,-32768,  -131,
    16,-32768,-32768,   393,   394,   396,   397,   399,   400,   401,
   403,   405,   406,   420,   421,   424,   427,   428,   429,   430,
   431,   432,   434,   435,   436,   437,   438,-32768,-32768,-32768,
-32768,    67,    67,    67,-32768,-32768,    67,   522,    24,    67,
   573,   955,-32768,   610,   612,-32768,    67,    67,    67,    67,
   444,    67,    67,   445,    67,    67,    67,   768,    67,   440,
   447,   449,   768,   442,   450,   451,   454,   457,   458,   460,
   623,   145,   145,   145,    67,    67,   -58,-32768,     4,   145,
   455,   456,   464,-32768,   768,   467,   642,-32768,-32768,-32768,
   768,   768,    67,   -50,    67,   581,    67,    67,-32768,   666,
-32768,   496,-32768,    15,   497,   513,   514,   515,   516,   518,
   519,   521,   523,   526,   527,   529,   530,   532,   534,   535,
   550,   552,   555,   557,   559,   560,   561,   563,   564,   565,
   566,   570,   571,   574,   692,   553,   572,   575,    67,   727,
-32768,   145,-32768,    67,    67,    67,    67,    67,    67,    67,
    67,    67,    67,    67,    67,    67,    67,    67,    67,    67,
    67,    67,    67,    67,   241,    34,    34,   576,   576,   576,
  5009,   732,  1266,  4884,    31,   577,   746,  1047,-32768,-32768,
    67,    67,    67,    67,    67,    67,    67,    67,    67,    67,
    67,    67,    67,    67,    67,-32768,   -80,  5032,  2244,  5055,
  5078,    67,  5101,  2267,    67,  2290,  5124,  5147,   -34,  1003,
  1266,  1729,   747,-32768,  5170,    67,    67,    67,   748,    67,
    67,    67,    67,    67,    67,    67,   578,   104,-32768,-32768,
  1320,  2658,   145,   145,   448,   448,   175,    67,    67,    67,
   340,   261,    67,-32768,  1947,   754,   755,  5193,   678,    67,
  5216,   582,  1744,  5239,-32768,    67,   616,   761,   762,   763,
   764,   765,   769,   770,   771,   794,   795,   796,   798,   799,
   800,   803,   804,   805,   806,   808,   809,   810,   811,   813,
   638,   814,   816,   817,   819,   823,   822,-32768,   -72,   825,
   826,   829,  4909,   193,    11,   -17,  5262,  5285,  5308,  5331,
  5354,  5377,  5400,  5423,  5446,  5469,  5492,  2679,  5515,  5538,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  5561,  5584,  5607,  5630,  2700,  2721,  2742,  -106,-32768,    59,
   646,   653,-32768,   768,  1623,  1729,-32768,   169,   166,    34,
    67,   830,   838,    17,-32768,  1770,   970,   426,   248,   248,
   233,   233,   233,   233,   258,   258,   576,   576,   576,   576,
   846,  1266,   849,   852,   853,   854,  5653,   858,   861,  5676,
   862,   863,   864,   640,   264,  1266,   176,    67,    67,   865,
  2313,  5699,  5722,    67,  2336,  2359,  5745,  5768,  5791,  5814,
  5837,   688,   145,    67,    67,-32768,-32768,-32768,   675,  2195,
-32768,   689,    67,  2763,  2784,  2805,-32768,-32768,-32768,    67,
  4934,-32768,   693,   694,   871,   702,  5860,   873,    67,    67,
-32768,  5883,   733,   699,   701,   703,   706,   707,   708,   709,
   710,   711,   712,   713,   714,   716,   717,   718,   719,   720,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   721,   725,   726,   728,   730,   731,   734,   735,   736,   749,
   750,   757,   760,-32768,   904,   758,-32768,   767,   182,-32768,
-32768,   737,   766,   773,   775,   776,   777,   778,   779,   780,
   781,   782,   786,   938,-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,   942,-32768,
  1266,    34,-32768,   941,  1266,   784,    42,    67,   956,   962,
  1068,-32768,   963,   790,    18,   965,    67,-32768,    60,   145,
-32768,   768,   768,   966,   768,-32768,   967,-32768,   768,   768,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
-32768,  1266,   975,   222,-32768,  1785,  1162,   789,   968,   969,
   973,   681,   974,  1001,  1002,  1004,  1032,  1042,  1048,   978,
   177,  2826,  2847,-32768,-32768,  2382,   145,   145,   145,  1261,
   971,    67,    67,   768,    67,  1052,   768,  1800,   878,  1053,
   916,  1007,    67,    67,   145,  1059,  1060,   897,  1063,  1064,
   768,   768,  1065,   145,  1066,  1067,   768,   768,  1070,  1072,
  1074,  1075,  1076,   768,   344,   768,  1078,  1077,  1079,  1080,
  1083,-32768,  1081,   389,  1085,-32768,   645,    67,    67,    67,
    67,    67,    67,    67,    67,    67,    67,    67,    67,-32768,
  5906,  5929,  5952,  5975,  4959,   893,   118,   924,-32768,  1729,
-32768,   111,   172,   922,  1097,  1350,-32768,-32768,-32768,    18,
    67,   926,    67,-32768,   284,-32768,  1201,  1099,    41,    25,
  1102,   768,  1104,   768,  1110,  1120,   288,-32768,  1266,-32768,
    67,-32768,    67,   768,   768,   768,-32768,   376,   768,   768,
   768,   768,   768,   768,   768,   433,    67,    67,    67,   960,
   115,   149,   170,-32768,-32768,  2868,  2889,  1138,  5998,  -132,
  1062,    67,    67,-32768,   976,    15,   972,  2910,  2931,     2,
   979,   982,   980,   985,   983,   986,   989,   990,    69,   991,
   996,   998,   995,   997,   999,  1000,  1005,  1006,  1011,-32768,
-32768,-32768,-32768,-32768,  1018,  1019,  1026,  1036,  1037,  1043,
  1038,-32768,  1057,   193,  1139,  2952,  2973,  2994,  3015,  3036,
  3057,  3078,  3099,  3120,  3141,  3162,  3183,-32768,-32768,-32768,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
-32768,  1061,-32768,-32768,-32768,   768,    34,    67,  1143,  1146,
    17,-32768,  1145,  4984,  1069,  3204,    18,-32768,-32768,-32768,
-32768,   145,-32768,  1147,-32768,  1151,-32768,-32768,   987,   291,
  1201,  3225,  1172,  1177,  1178,    67,    67,  1179,  1223,  1234,
  1235,  1237,  1239,  1240,-32768,  1582,  2405,  6021,  2157,   448,
   145,  1241,   145,  1242,   145,     8,    67,    67,-32768,  1243,
   768,   768,  1165,   768,   327,  6044,    67,    15,  1249,    67,
   768,  1247,  1263,  1262,  1103,  1268,   344,  1291,  1269,    67,
  1293,  1297,  1295,  1296,  1300,   344,    67,    67,    67,   768,