Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 234 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.100 2001-08-01 14:30:40 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		1540
#define	YYNTBASE	185
#define YYTRANSLATE(x) ((unsigned)(x) <= 420 ? yytranslate[x] : 268)

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,  1607,
  1620,  1621,  1638,  1640,  1643,  1653,  1656,  1663,  1673,  1683,
  1692,  1701,  1710,  1717,  1722,  1725,  1728,  1730,  1732,  1734,
  1736,  1738,  1740,  1744,  1747,  1750,  1753,  1757,  1761,  1765,
  1769,  1773,  1777,  1781,  1785,  1789,  1793,  1797,  1801,  1805,
  1809,  1815,  1820,  1825,  1830,  1835,  1840,  1845,  1850,  1855,
  1860,  1865,  1872,  1877,  1882,  1887,  1892,  1897,  1902,  1909,
  1916,  1923,  1928,  1930,  1932,  1934,  1939,  1942,  1948,  1952,
  1959,  1964,  1972,  1974,  1977,  1980,  1984,  1988,  2000,  2010,
  2018,  2026,  2027,  2031,  2033,  2037,  2038,  2042,  2046,  2048,
  2052,  2054,  2056,  2060,  2065,  2069,  2075,  2079,  2084,  2091,
  2099,  2101,  2103,  2107,  2111,  2121,  2129,  2131,  2137,  2141,
  2148,  2150,  2154,  2156,  2163,  2168,  2173,  2180,  2187
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,   257,   182,     5,   178,
     6,     0,   123,   177,   257,   178,     6,     0,   124,   177,
     5,   182,     5,   182,   257,   182,   257,   182,     5,   182,
     5,   182,     5,   178,     6,     0,     3,     7,   101,   177,
     5,   182,   255,   178,     6,     0,     3,     7,   100,   177,
     5,   182,   253,   182,   261,   182,   252,   182,   252,   182,
   252,   182,   261,   182,   261,   182,   252,   178,     6,     0,
     3,     7,    99,   177,     5,   182,   253,   182,   253,   182,
   259,   182,   252,   182,   252,   182,   252,   182,   252,   182,
   261,   182,   261,   182,   261,   182,   261,   182,   252,   178,
     6,     0,     3,     7,   107,   177,     5,   182,     3,   182,
     3,   182,     3,   182,   252,   178,     6,     0,     3,     7,
   111,   177,     5,   182,     3,   182,   252,   178,     6,     0,
     3,     7,   128,   177,     5,   182,     3,   182,   252,   178,
     6,     0,     3,     7,   109,   177,     5,   182,   168,   182,
   168,   182,   253,   182,   252,   178,     6,     0,     3,     7,
   112,   177,     5,   182,   261,   178,     6,     0,     3,     7,
   113,   177,     5,   182,   261,   182,     3,   182,   252,   178,
     6,     0,     3,     7,   108,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   114,   177,     5,   182,     3,   182,
   253,   178,     6,     0,     3,     7,   116,   177,     5,   182,
     3,   182,     3,   182,     3,   178,     6,     0,     3,     7,
   115,   177,     5,   182,   255,   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,   261,   178,     6,     0,
     3,     7,   127,   177,     5,   182,   261,   182,     3,   178,
     6,     0,     3,     7,   125,   177,     5,   182,     3,   178,
     6,     0,     3,     7,   129,   177,     5,   182,     3,   182,
   253,   178,     6,     0,     3,     7,   130,   177,     5,   182,
     3,   182,   253,   182,   253,   178,     6,     0,     3,     7,
   137,   177,     5,   182,     3,   182,   253,   182,   253,   178,
     6,     0,     3,     7,   131,   177,     5,   182,     3,   182,
   253,   178,     6,     0,     3,     7,   141,   177,     5,   182,
     3,   182,   253,   182,   253,   178,     6,     0,     3,     7,
   132,   177,     5,   182,     3,   182,   261,   182,   261,   182,
   252,   182,   252,   178,     6,     0,     3,     7,   133,   177,
     5,   182,   261,   178,     6,     0,     3,     7,   134,   177,
   135,   182,   252,   182,     3,   178,     6,     0,     3,     7,
   136,   177,     5,   182,   261,   182,   252,   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,   250,     0,   251,     0,
   244,     0,   243,     0,    31,   177,     5,   178,     6,     0,
    31,   177,     5,   182,   263,   178,     6,     0,     4,     5,
   183,   197,   184,     6,     0,     4,     5,     4,   255,   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,   253,     0,   198,   182,   253,     0,     0,    78,   177,
   253,   182,   253,   182,   253,   178,   200,   183,   198,   184,
     6,     0,   253,     0,   201,   182,   253,     0,     0,    79,
   177,   253,   182,   253,   182,   253,   178,   203,   183,   201,
   184,     6,     0,   253,     0,   204,   182,   253,     0,     0,
    80,   177,   253,   182,   253,   182,   253,   178,   206,   183,
   204,   184,     6,     0,   253,     0,   207,   182,   253,     0,
     0,    75,   177,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   178,   209,   183,   207,   184,     6,
     0,   253,     0,   210,   182,   253,     0,     0,    76,   177,
   253,   182,   253,   182,   253,   182,   253,   182,   253,   182,
   253,   178,   212,   183,   210,   184,     6,     0,   253,     0,
   213,   182,   253,     0,     0,    77,   177,   253,   182,   253,
   182,   253,   182,   253,   182,   253,   182,   253,   178,   215,
   183,   213,   184,     6,     0,   253,     0,   216,   182,   253,
     0,     0,    72,   177,   253,   182,   253,   182,   253,   182,
   253,   182,   253,   182,   253,   182,   253,   182,   253,   182,
   253,   178,   218,   183,   216,   184,     6,     0,   253,     0,
   219,   182,   253,     0,     0,    73,   177,   253,   182,   253,
   182,   253,   182,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   178,   221,   183,   219,   184,     6,
     0,   253,     0,   222,   182,   253,     0,     0,    74,   177,
   253,   182,   253,   182,   253,   182,   253,   182,   253,   182,
   253,   182,   253,   182,   253,   182,   253,   178,   224,   183,
   222,   184,     6,     0,   253,     0,   225,   182,   253,     0,
     0,    69,   177,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   182,   253,   178,   227,   183,   225,
   184,     6,     0,   253,     0,   228,   182,   253,     0,     0,
    70,   177,   253,   182,   253,   182,   253,   182,   253,   182,
   253,   182,   253,   182,   253,   182,   253,   182,   253,   182,
   253,   182,   253,   182,   253,   178,   230,   183,   228,   184,
     6,     0,   253,     0,   231,   182,   253,     0,     0,    71,
   177,   253,   182,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   182,   253,   182,   253,   182,   253,
   182,   253,   182,   253,   178,   233,   183,   231,   184,     6,
     0,     7,     0,   152,     0,   153,     0,   154,     0,   155,
     0,   173,     0,   174,     0,     4,   234,   253,     6,     0,
     4,   179,   253,   180,   234,   253,     6,     0,     4,   179,
   183,   263,   184,   180,   234,   261,     6,     0,     4,   179,
   180,     7,   261,     6,     0,     4,   235,     6,     0,     4,
   179,   253,   180,   235,     6,     0,     4,   181,     4,     7,
   267,     6,     0,     4,   179,   253,   180,   181,     4,     7,
   267,     6,     0,     4,   181,     4,   234,   253,     6,     0,
     4,   179,   253,   180,   181,     4,   234,   253,     6,     0,
     4,   181,     4,   235,     6,     0,     4,   179,   253,   180,
   181,     4,   235,     6,     0,     4,   181,    87,   181,     4,
     7,   264,     6,     0,     4,   179,   253,   180,   181,    87,
   181,     4,     7,   264,     6,     0,     4,   181,    88,     7,
   265,     6,     0,     4,   179,   253,   180,   181,    88,     7,
   265,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   253,     6,     0,    55,   177,     4,   178,   181,     4,     7,
   267,     6,     0,    36,   177,   253,   178,     7,   255,     6,
     0,    51,    36,   177,   253,   178,     7,   261,     6,     0,
    67,    36,   261,     7,   183,   253,   182,   253,   182,   253,
   184,     6,     0,    43,    44,   261,     7,   253,     6,     0,
    36,   183,   253,   184,     6,     0,    39,   177,   253,   178,
     7,   261,     6,     0,    41,   177,   253,   178,     7,   261,
     6,     0,    67,    39,   261,     7,   183,   253,   182,   253,
   182,   253,   184,     6,     0,    37,   177,   253,   178,     7,
   261,     6,     0,    37,   177,   253,   178,     7,   261,    47,
   255,     6,     0,    45,   177,   253,   178,     7,   183,   253,
   182,   253,   182,     5,   182,     5,   182,     5,   184,     6,
     0,    38,   177,   253,   178,     7,   261,     6,     0,    51,
    39,   177,   253,   178,     7,   261,     6,     0,    39,    62,
   177,   253,   178,     7,   261,     6,     0,    81,   177,   253,
   178,     7,   261,     6,     0,    82,   177,   253,   178,     7,
   261,    86,   261,    83,   253,     6,     0,    39,   183,   253,
   184,     6,     0,    47,    40,   177,   253,   178,     7,   261,
     6,     0,   142,    40,   177,   253,   178,     7,   183,   253,
   182,   261,   184,     6,     0,    48,    40,   177,   253,   178,
     7,   261,     6,     0,    82,    40,    84,    85,   177,   253,
   178,     7,   259,    86,   183,   261,   182,   261,   184,    83,
   183,   253,   182,   253,   184,     6,     0,    82,    40,   177,
   253,   178,     7,   259,    86,   183,   261,   182,   261,   184,
    83,   183,   253,   182,   253,   184,     6,     0,    51,    40,
   177,   253,   178,     7,   261,     6,     0,    40,    62,   177,
   253,   178,     7,   261,     6,     0,    40,   183,   253,   184,
     6,     0,    50,    42,   177,   253,   178,     7,   261,     6,
     0,    42,   177,   253,   178,     7,   261,     6,     0,    51,
    42,   177,   253,   178,     7,   261,     6,     0,    57,   255,
   183,   239,   184,     0,    56,   183,   255,   182,   255,   182,
   253,   184,   183,   239,   184,     0,    58,   255,   183,   239,
   184,     0,    59,   183,   255,   182,   253,   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,   253,   180,     6,     0,    64,
    98,     6,     0,     4,   267,     6,     0,     4,   253,     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,   253,     8,   253,
   178,     0,    89,   177,   253,     8,   253,     8,   253,   178,
     0,    89,     4,    90,   183,   253,     8,   253,   184,     0,
    89,     4,    90,   183,   253,     8,   253,     8,   253,   184,
     0,    91,     0,    97,     4,     0,    95,     0,    96,     4,
     6,     0,    92,   177,   253,   178,     0,    93,     0,    60,
    36,   183,   253,   182,   255,   184,     6,     0,    60,    36,
   183,   253,   182,   255,   182,   255,   182,   253,   184,     6,
     0,    60,    39,   183,   253,   182,   255,   184,     6,     0,
    60,    39,   183,   253,   182,   255,   182,   255,   182,   253,
   184,     6,     0,    60,    40,   183,   253,   182,   255,   184,
     6,     0,    60,    40,   183,   253,   182,   255,   182,   255,
   182,   253,   184,     6,     0,     0,    60,    40,   183,   253,
   182,   255,   184,   246,   183,   248,   184,     6,     0,     0,
    60,    40,   183,   253,   182,   255,   182,   255,   182,   253,
   184,   247,   183,   248,   184,     6,     0,   249,     0,   248,
   249,     0,    68,   183,   261,   182,   261,   182,   261,   184,
     6,     0,    63,     6,     0,    49,    39,   261,     7,   253,
     6,     0,    49,    39,   261,     7,   253,    52,    54,   253,
     6,     0,    49,    39,   261,     7,   253,    52,    53,   253,
     6,     0,    49,    40,   183,   253,   184,     7,   261,     6,
     0,    46,    40,   183,   253,   184,     7,   261,     6,     0,
    49,    42,   183,   253,   184,     7,   261,     6,     0,    63,
    40,   261,     7,   253,     6,     0,    63,    40,   261,     6,
     0,    65,     6,     0,    66,     6,     0,   102,     0,   103,
     0,   104,     0,   105,     0,   106,     0,   254,     0,   177,
   253,   178,     0,   167,   253,     0,   166,   253,     0,   172,
   253,     0,   253,   167,   253,     0,   253,   166,   253,     0,
   253,   168,   253,     0,   253,   169,   253,     0,   253,   170,
   253,     0,   253,   176,   253,     0,   253,   162,   253,     0,
   253,   164,   253,     0,   253,   163,   253,     0,   253,   165,
   253,     0,   253,   159,   253,     0,   253,   160,   253,     0,
   253,   158,   253,     0,   253,   157,   253,     0,   253,   156,
   253,     8,   253,     0,    10,   177,   253,   178,     0,    11,
   177,   253,   178,     0,    12,   177,   253,   178,     0,    13,
   177,   253,   178,     0,    14,   177,   253,   178,     0,    15,
   177,   253,   178,     0,    16,   177,   253,   178,     0,    17,
   177,   253,   178,     0,    18,   177,   253,   178,     0,    20,
   177,   253,   178,     0,    21,   177,   253,   182,   253,   178,
     0,    22,   177,   253,   178,     0,    23,   177,   253,   178,
     0,    24,   177,   253,   178,     0,    25,   177,   253,   178,
     0,    26,   177,   253,   178,     0,    27,   177,   253,   178,
     0,    28,   177,   253,   182,   253,   178,     0,    29,   177,
   253,   182,   253,   178,     0,    30,   177,   253,   182,   253,
   178,     0,    19,   177,   253,   178,     0,     3,     0,     9,
     0,     4,     0,     4,   179,   253,   180,     0,     4,   235,
     0,     4,   179,   253,   180,   235,     0,     4,   181,     4,
     0,     4,   179,   253,   180,   181,     4,     0,     4,   181,
     4,   235,     0,     4,   179,   253,   180,   181,     4,   235,
     0,   256,     0,   167,   255,     0,   166,   255,     0,   255,
   167,   255,     0,   255,   166,   255,     0,   183,   253,   182,
   253,   182,   253,   182,   253,   182,   253,   184,     0,   183,
   253,   182,   253,   182,   253,   182,   253,   184,     0,   183,
   253,   182,   253,   182,   253,   184,     0,   177,   253,   182,
   253,   182,   253,   178,     0,     0,   177,   258,   178,     0,
     5,     0,   258,   182,     5,     0,     0,   183,   260,   184,
     0,   177,   260,   178,     0,   261,     0,   260,   182,   261,
     0,   253,     0,   262,     0,   183,   263,   184,     0,   167,
   183,   263,   184,     0,   253,     8,   253,     0,   253,     8,
   253,     8,   253,     0,     4,   179,   180,     0,   167,     4,
   179,   180,     0,     4,   179,   183,   263,   184,   180,     0,
   167,     4,   179,   183,   263,   184,   180,     0,   253,     0,
   262,     0,   263,   182,   253,     0,   263,   182,   262,     0,
   183,   253,   182,   253,   182,   253,   182,   253,   184,     0,
   183,   253,   182,   253,   182,   253,   184,     0,     4,     0,
     4,   181,    87,   181,     4,     0,   183,   266,   184,     0,
     4,   179,   253,   180,   181,    88,     0,   264,     0,   266,
   182,   264,     0,     5,     0,    33,   177,   267,   182,   267,
   178,     0,    34,   177,   267,   178,     0,    32,   177,   267,
   178,     0,    32,   177,   267,   182,   263,   178,     0,    32,
   177,     4,   181,     4,   178,     0,    32,   177,     4,   179,
   253,   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,
  1758,  1764,  1771,  1775,  1780,  1801,  1811,  1830,  1848,  1866,
  1888,  1909,  1930,  1944,  1965,  1970,  1981,  1983,  1984,  1985,
  1986,  1989,  1991,  1992,  1993,  1994,  1995,  1996,  1997,  1998,
  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,  2030,  2031,  2032,  2033,  2034,
  2035,  2036,  2041,  2046,  2050,  2061,  2078,  2089,  2108,  2124,
  2140,  2156,  2173,  2178,  2182,  2186,  2190,  2195,  2200,  2204,
  2208,  2214,  2218,  2223,  2227,  2232,  2236,  2240,  2246,  2252,
  2259,  2265,  2269,  2273,  2283,  2290,  2301,  2315,  2331,  2351,
  2375,  2381,  2385,  2389,  2400,  2405,  2416,  2421,  2439,  2444,
  2457,  2463,  2469,  2474,  2482,  2495,  2499,  2524,  2538
};
#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","@13","@14","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,   246,   245,
   247,   245,   248,   248,   249,   249,   250,   250,   250,   250,
   250,   250,   250,   250,   251,   251,   252,   252,   252,   252,
   252,   253,   253,   253,   253,   253,   253,   253,   253,   253,
   253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
   253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
   253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
   253,   253,   254,   254,   254,   254,   254,   254,   254,   254,
   254,   254,   255,   255,   255,   255,   255,   256,   256,   256,
   256,   257,   257,   258,   258,   259,   259,   259,   260,   260,
   261,   261,   261,   261,   262,   262,   262,   262,   262,   262,
   263,   263,   263,   263,   264,   264,   264,   264,   265,   265,
   266,   266,   267,   267,   267,   267,   267,   267,   267
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,     0,    12,
     0,    16,     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,   302,   302,     0,   283,   285,
   333,   132,   284,     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,   242,     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,   293,     0,     0,
     0,     0,     0,   192,     0,     0,     0,   192,   235,   236,
     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,
   287,     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,   245,   244,   246,
     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,   285,     0,
     0,   311,     0,   312,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   295,   294,
     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,   304,     0,     0,
     0,     0,     0,   289,     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,   333,     0,
     0,     0,   243,     0,     0,   321,   322,     0,     0,   132,
     0,     0,     0,     0,   139,     0,   260,   259,   257,   258,
   253,   255,   254,   256,   248,   247,   249,   250,   251,   252,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   285,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   297,   296,   191,     0,   190,
   189,     0,     0,     0,     0,     0,   194,   193,   234,     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,   303,     0,     0,    21,     0,   286,   291,
    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,   262,   263,   264,   265,
   266,   267,   268,   269,   270,   282,   271,     0,   273,   274,
   275,   276,   277,   278,     0,     0,     0,     0,     0,   336,
     0,     0,   335,     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,
   317,     0,     0,     0,   313,   315,     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,   305,     0,   302,     0,   288,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
     0,     0,     0,     0,     0,     0,     0,     0,   142,   323,
   324,     0,     0,     0,     0,     0,   144,   145,   147,     0,
     0,   327,     0,   331,     0,   153,   261,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   318,     0,   314,
     0,   160,     0,     0,     0,     0,   227,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   233,   196,     0,     0,     0,     0,   306,
     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,   237,
   238,   239,   240,   241,     0,     0,     0,     0,     0,     0,
     0,    20,     0,   290,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   272,   279,   280,
   281,     0,   338,   337,   334,     0,   132,     0,     0,     0,
     0,   140,     0,     0,     0,     0,     0,   329,    68,   157,
   165,     0,   168,     0,   162,     0,   163,   183,     0,     0,
   316,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   200,     0,     0,     0,     0,   192,
     0,     0,     0,     0,     0,   219,     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,   302,   292,
    70,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   150,     0,     0,
   151,     0,     0,     0,   332,     0,   170,   180,   319,     0,
     0,   231,   174,   176,     0,     0,   230,   232,   182,   158,
   169,   179,   184,     0,     0,     0,   301,     0,   300,     0,
     0,   213,     0,   215,     0,   217,     0,     0,     0,   306,
     0,   309,     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,   320,     0,   229,   228,   155,   156,   192,
     0,   188,     0,     0,     0,     0,     0,     0,     0,   308,
     0,   307,     0,     0,     0,     0,     0,     0,   306,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   339,     0,   330,   328,     0,     0,     0,     0,   299,
     0,     0,     0,     0,     0,     0,   223,     0,     0,     0,
   310,     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,   221,   226,     0,
     0,   224,     0,     0,     0,     0,   172,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    86,    90,    94,     0,   326,     0,   298,   214,   216,   218,
     0,     0,   220,   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,   325,     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,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   222,     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,   225,     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[] = {  1538,
    79,     5,     6,    19,    20,    21,    22,     7,    64,    65,
    66,   386,  1311,   555,  1261,  1313,   556,  1262,  1315,   557,
  1263,  1422,   558,  1395,  1424,   559,  1396,  1426,   560,  1397,
  1483,   561,  1469,  1485,   562,  1470,  1487,   563,  1471,  1520,
   564,  1514,  1522,   565,  1515,  1524,   566,  1516,   130,   231,
    67,   488,   478,   479,   480,   481,    71,    72,    73,    74,
   997,  1231,  1136,  1137,    75,    76,   815,   302,   133,   167,
   168,   226,   379,   903,  1001,  1002,   304,   418,   734,   606,
   735,   134
static const short yypact[] = {  1896,
    66,-32768,-32768,  -123,-32768,    28,  2021,-32768,    18,   130,
   235,   295,   303,   308,   330,   -37,    55,   152,-32768,-32768,
-32768,-32768,  1505,   167,   341,    -5,   177,   246,     7,    11,
   263,   273,   312,   291,   359,   417,   440,   462,   439,   366,
   384,   326,   145,   145,   339,   403,   370,   483,     5,   560,
   561,    -4,   393,   -14,    16,-32768,   401,-32768,   574,-32768,
   578,   579,   545,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,   586,    18,  2058,
-32768,-32768,-32768,-32768,-32768,   424,   424,   597,-32768,    94,
     6,-32768,-32768,   429,   430,   431,   432,   434,   435,   436,
   437,   438,   444,   445,   446,   447,   448,   449,   450,   451,
   454,   456,   457,   458,   460,   461,   469,-32768,-32768,-32768,
-32768,    67,    67,    67,-32768,-32768,    67,   522,    21,    67,
   599,   810,-32768,   610,   612,-32768,    67,    67,    67,    67,
   470,    67,    67,   471,    67,    67,    67,   981,    67,   488,
   495,   496,   981,   491,   507,   514,   515,   516,   518,   519,
   635,   145,   145,   145,    67,    67,     3,-32768,   113,   145,
   517,   520,   521,-32768,   981,   527,   691,-32768,-32768,-32768,
   981,   981,    67,   -50,    67,   608,    67,    67,-32768,   701,
-32768,   532,-32768,    18,   534,   535,   550,   552,   554,   555,
   557,   558,   559,   562,   563,   564,   565,   566,   570,   571,
   573,   575,   576,   577,   580,   581,   584,   585,   587,   588,
   589,   590,   591,   594,   732,   556,   595,   569,    67,   751,
-32768,   145,-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,   134,   175,   175,   596,   596,   596,
  4904,   749,  1267,  4779,   172,   582,   767,   951,-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,  -114,  4927,  2118,  4950,
  4973,    67,  4996,  2141,    67,  2164,  5019,  5042,   222,  1158,
  1267,  1557,   790,-32768,  5065,    67,    67,    67,   791,    67,
    67,    67,    67,    67,    67,    67,   621,   -38,-32768,-32768,
  2532,  2553,   145,   145,   371,   371,   104,    67,    67,    67,
   340,   151,    67,-32768,  1844,   793,   794,  5088,   718,    67,
  5111,   622,  1643,  5134,-32768,    67,   656,   803,   804,   805,
   806,   808,   809,   813,   814,   816,   817,   819,   821,   822,
   823,   825,   826,   827,   829,   831,   837,   847,   851,   853,
   680,   854,   855,   856,   862,   865,   864,-32768,   -80,   866,
   867,   871,  4804,   108,   174,   645,  5157,  5180,  5203,  5226,
  5249,  5272,  5295,  5318,  5341,  5364,  5387,  2574,  5410,  5433,
  5456,  5479,  5502,  5525,  2595,  2616,  2637,    95,-32768,   -72,
   688,   694,-32768,   981,  1572,  1557,-32768,   137,     1,   175,
    67,   872,   873,    13,-32768,  1658,  1231,   428,   248,   248,
   279,   279,   279,   279,   302,   302,   596,   596,   596,   596,
   874,  1267,   875,   877,   878,   879,  5548,   881,   883,  5571,
   884,   885,   886,   640,   280,  1267,   202,    67,    67,   887,
  2187,  5594,  5617,    67,  2210,  2233,  5640,  5663,  5686,  5709,
  5732,   698,   145,    67,    67,-32768,-32768,-32768,   697,  2097,
-32768,   707,    67,  2658,  2679,  2700,-32768,-32768,-32768,    67,
  4829,-32768,   712,   713,   891,   722,  5755,   893,    67,    67,
-32768,  5778,   752,   720,   721,   725,   726,   727,   728,   730,
   731,   734,   735,   736,   753,   754,   757,   758,   760,   762,
   763,   765,   768,   769,   770,   771,   772,   774,   776,   777,
   779,   780,   781,-32768,   909,   756,-32768,   782,    64,-32768,
-32768,   835,   841,   852,   859,   880,   882,   888,   889,   890,
   894,   895,   898,   925,-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,   967,-32768,
  1267,   175,-32768,  1022,  1267,   850,    25,    67,  1025,  1026,
   975,-32768,   980,   870,    15,  1028,    67,-32768,   -46,   145,
-32768,   981,   981,  1049,   981,-32768,  1051,-32768,   981,   981,
-32768,  1267,   766,   274,-32768,  1673,  1047,   896,  1053,  1055,
  1056,   681,  1057,  1061,  1063,  1069,  1071,  1073,  1074,  1079,
   176,  2721,  2742,-32768,-32768,  2256,   145,   145,   145,  1068,
  1078,    67,    67,   981,    67,  1092,   981,  1697,   857,  1093,
   941,  1098,    67,    67,   145,  1099,  1101,   937,  1109,  1119,
   981,   981,  1120,   145,  1121,  1122,   981,   981,  1125,  1126,
  1127,  1133,  1143,   981,   261,   981,  1146,  1145,  1149,  1152,
  1153,-32768,  1151,   424,  1155,-32768,   968,    67,    67,    67,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    67,    67,    67,    67,    67,    67,    67,    67,    67,-32768,
  5801,  5824,  5847,  5870,  4854,   982,   256,   985,-32768,  1557,
-32768,   111,   197,   984,  1191,  1202,-32768,-32768,-32768,    15,
    67,  1018,    67,-32768,   316,-32768,  6376,  1194,    35,    27,
  1196,   981,  1212,   981,  1213,  1214,   323,-32768,  1267,-32768,
    67,-32768,    67,   981,   981,   981,-32768,   409,   981,   981,
   981,   981,   981,   981,   981,   467,    67,    67,    67,  1046,
   136,   149,   171,-32768,-32768,  2763,  2784,  1233,  5893,     0,
  1154,    67,    67,-32768,  1058,    18,  1060,  2805,  2826,  -139,
  1064,  1065,  1066,  1067,  1070,  1072,  1084,  1085,   259,  1086,
  1075,  1091,  1090,  1117,  1118,  1132,  1134,  1136,  1095,-32768,
-32768,-32768,-32768,-32768,  1137,  1138,  1139,  1140,  1141,  1097,
  1144,-32768,  1147,   108,  1241,  2847,  2868,  2889,  2910,  2931,
  2952,  2973,  2994,  3015,  3036,  3057,  3078,-32768,-32768,-32768,
-32768,  1150,-32768,-32768,-32768,   981,   175,    67,  1245,  1297,
    13,-32768,  1296,  4879,  1216,  3099,    15,-32768,-32768,-32768,
-32768,   145,-32768,  1321,-32768,  1322,-32768,-32768,  1156,   324,
  6376,  3120,  1326,  1327,  1328,    67,    67,  1331,  1332,  1333,
  1334,  1336,  1337,  1338,-32768,    33,  2279,  5916,  1612,   371,
   145,  1339,   145,  1342,   145,  1343,    67,    67,-32768,  1350,
   981,   981,  1264,   981,   327,  5939,    67,    18,  1360,    67,
   981,  1367,  1371,  1370,  1209,  1373,   261,  1386,  1399,    67,