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

  //
  // Generaliser sprintf avec des chaines de caracteres
  // 

#include <stdarg.h>

#include "Gmsh.h"
#include "Const.h"
#include "Context.h"
#include "Geo.h"
#include "CAD.h"
#include "DataBase.h"
#include "Mesh.h"
#include "Create.h"
#include "Views.h"
#include "StepGeomDatabase.h"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include "Options.h"
#include "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);
  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		1526
#define	YYNTBASE	184
#define YYTRANSLATE(x) ((unsigned)(x) <= 419 ? yytranslate[x] : 265)

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

#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,  1102,  1111,  1124,  1131,  1137,
  1145,  1153,  1166,  1174,  1184,  1202,  1210,  1219,  1228,  1236,
  1248,  1254,  1263,  1276,  1285,  1308,  1329,  1338,  1347,  1353,
  1362,  1370,  1379,  1385,  1397,  1403,  1413,  1415,  1417,  1419,
  1420,  1423,  1428,  1433,  1440,  1444,  1448,  1452,  1455,  1458,
  1465,  1474,  1483,  1494,  1496,  1499,  1501,  1505,  1510,  1512,
  1521,  1534,  1543,  1556,  1565,  1578,  1590,  1606,  1608,  1611,
  1621,  1624,  1631,  1641,  1651,  1660,  1669,  1678,  1685,  1690,
  1693,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1712,  1715,
  1718,  1721,  1725,  1729,  1733,  1737,  1741,  1745,  1749,  1753,
  1757,  1761,  1765,  1769,  1773,  1777,  1783,  1788,  1793,  1798,
  1803,  1808,  1813,  1818,  1823,  1828,  1833,  1840,  1845,  1850,
  1855,  1860,  1865,  1870,  1877,  1884,  1891,  1896,  1898,  1900,
  1902,  1907,  1910,  1916,  1920,  1927,  1932,  1940,  1942,  1945,
  1948,  1952,  1956,  1968,  1978,  1986,  1994,  1995,  1999,  2001,
  2005,  2006,  2010,  2014,  2016,  2020,  2022,  2024,  2028,  2033,
  2037,  2043,  2047,  2052,  2059,  2067,  2069,  2071,  2075,  2079,
  2089,  2097,  2099,  2105,  2109,  2116,  2118,  2122,  2124,  2131,
  2136,  2141,  2148,  2155
static const short yyrhs[] = {   187,
     0,   186,     0,   192,     0,     1,     6,     0,     3,     0,
   166,     3,     0,   142,     0,   145,   146,   185,   185,   185,
   147,   148,   144,   185,   185,   185,   144,   185,   185,   185,
   144,   185,   185,   185,   149,   150,     0,   143,     0,     0,
   187,   188,     0,   189,     0,   191,     0,   190,     0,   116,
     6,     0,   117,     6,     0,   119,     6,     0,   118,     6,
     0,   120,     6,     0,   121,   176,   254,   181,     5,   177,
     6,     0,   122,   176,   254,   177,     6,     0,   123,   176,
     5,   181,     5,   181,   254,   181,   254,   181,     5,   181,
     5,   181,     5,   177,     6,     0,     3,     7,   100,   176,
     5,   181,   252,   177,     6,     0,     3,     7,    99,   176,
     5,   181,   250,   181,   258,   181,   249,   181,   249,   181,
   249,   181,   258,   181,   258,   181,   249,   177,     6,     0,
     3,     7,    98,   176,     5,   181,   250,   181,   250,   181,
   256,   181,   249,   181,   249,   181,   249,   181,   249,   181,
   258,   181,   258,   181,   258,   181,   258,   181,   249,   177,
     6,     0,     3,     7,   106,   176,     5,   181,     3,   181,
     3,   181,     3,   181,   249,   177,     6,     0,     3,     7,
   110,   176,     5,   181,     3,   181,   249,   177,     6,     0,
     3,     7,   127,   176,     5,   181,     3,   181,   249,   177,
     6,     0,     3,     7,   108,   176,     5,   181,   167,   181,
   167,   181,   250,   181,   249,   177,     6,     0,     3,     7,
   111,   176,     5,   181,   258,   177,     6,     0,     3,     7,
   112,   176,     5,   181,   258,   181,     3,   181,   249,   177,
     6,     0,     3,     7,   107,   176,     5,   181,     3,   177,
     6,     0,     3,     7,   113,   176,     5,   181,     3,   181,
   250,   177,     6,     0,     3,     7,   115,   176,     5,   181,
     3,   181,     3,   181,     3,   177,     6,     0,     3,     7,
   114,   176,     5,   181,   252,   177,     6,     0,     3,     7,
   109,   176,     5,   181,     3,   177,     6,     0,     3,     7,
    39,   176,     5,   181,     3,   181,     3,   177,     6,     0,
     3,     7,   125,   176,     5,   181,   258,   177,     6,     0,
     3,     7,   126,   176,     5,   181,   258,   181,     3,   177,
     6,     0,     3,     7,   124,   176,     5,   181,     3,   177,
     6,     0,     3,     7,   128,   176,     5,   181,     3,   181,
   250,   177,     6,     0,     3,     7,   129,   176,     5,   181,
     3,   181,   250,   181,   250,   177,     6,     0,     3,     7,
   136,   176,     5,   181,     3,   181,   250,   181,   250,   177,
     6,     0,     3,     7,   130,   176,     5,   181,     3,   181,
   250,   177,     6,     0,     3,     7,   140,   176,     5,   181,
     3,   181,   250,   181,   250,   177,     6,     0,     3,     7,
   131,   176,     5,   181,     3,   181,   258,   181,   258,   181,
   249,   181,   249,   177,     6,     0,     3,     7,   132,   176,
     5,   181,   258,   177,     6,     0,     3,     7,   133,   176,
   134,   181,   249,   181,     3,   177,     6,     0,     3,     7,
   135,   176,     5,   181,   258,   181,   249,   177,     6,     0,
     3,     7,   137,   176,     5,   181,     5,   181,     3,   181,
     3,   177,     6,     0,     3,     7,   138,   176,     5,   181,
     5,   181,     3,   177,     6,     0,     3,     7,   139,   176,
     3,   181,     3,   177,     6,     0,     0,   192,   193,     0,
   195,     0,   194,     0,   235,     0,   236,     0,   237,     0,
   240,     0,   241,     0,   244,     0,   247,     0,   248,     0,
   243,     0,   242,     0,    31,   176,     5,   177,     6,     0,
    31,   176,     5,   181,   260,   177,     6,     0,     4,     5,
   182,   196,   183,     6,     0,     4,     5,     4,   252,   182,
   196,   183,     6,     0,     0,   196,   198,     0,   196,   201,
     0,   196,   204,     0,   196,   207,     0,   196,   210,     0,
   196,   213,     0,   196,   216,     0,   196,   219,     0,   196,
   222,     0,   196,   225,     0,   196,   228,     0,   196,   231,
     0,   250,     0,   197,   181,   250,     0,     0,    77,   176,
   250,   181,   250,   181,   250,   177,   199,   182,   197,   183,
     6,     0,   250,     0,   200,   181,   250,     0,     0,    78,
   176,   250,   181,   250,   181,   250,   177,   202,   182,   200,
   183,     6,     0,   250,     0,   203,   181,   250,     0,     0,
    79,   176,   250,   181,   250,   181,   250,   177,   205,   182,
   203,   183,     6,     0,   250,     0,   206,   181,   250,     0,
     0,    74,   176,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   177,   208,   182,   206,   183,     6,
     0,   250,     0,   209,   181,   250,     0,     0,    75,   176,
   250,   181,   250,   181,   250,   181,   250,   181,   250,   181,
   250,   177,   211,   182,   209,   183,     6,     0,   250,     0,
   212,   181,   250,     0,     0,    76,   176,   250,   181,   250,
   181,   250,   181,   250,   181,   250,   181,   250,   177,   214,
   182,   212,   183,     6,     0,   250,     0,   215,   181,   250,
     0,     0,    71,   176,   250,   181,   250,   181,   250,   181,
   250,   181,   250,   181,   250,   181,   250,   181,   250,   181,
   250,   177,   217,   182,   215,   183,     6,     0,   250,     0,
   218,   181,   250,     0,     0,    72,   176,   250,   181,   250,
   181,   250,   181,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   177,   220,   182,   218,   183,     6,
     0,   250,     0,   221,   181,   250,     0,     0,    73,   176,
   250,   181,   250,   181,   250,   181,   250,   181,   250,   181,
   250,   181,   250,   181,   250,   181,   250,   177,   223,   182,
   221,   183,     6,     0,   250,     0,   224,   181,   250,     0,
     0,    68,   176,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   181,   250,   177,   226,   182,   224,
   183,     6,     0,   250,     0,   227,   181,   250,     0,     0,
    69,   176,   250,   181,   250,   181,   250,   181,   250,   181,
   250,   181,   250,   181,   250,   181,   250,   181,   250,   181,
   250,   181,   250,   181,   250,   177,   229,   182,   227,   183,
     6,     0,   250,     0,   230,   181,   250,     0,     0,    70,
   176,   250,   181,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   181,   250,   181,   250,   181,   250,
   181,   250,   181,   250,   177,   232,   182,   230,   183,     6,
     0,     7,     0,   151,     0,   152,     0,   153,     0,   154,
     0,   172,     0,   173,     0,     4,   233,   250,     6,     0,
     4,   178,   250,   179,   233,   250,     6,     0,     4,   178,
   182,   260,   183,   179,   233,   258,     6,     0,     4,   178,
   179,     7,   258,     6,     0,     4,   234,     6,     0,     4,
   178,   250,   179,   234,     6,     0,     4,   180,     4,     7,
   264,     6,     0,     4,   178,   250,   179,   180,     4,     7,
   264,     6,     0,     4,   180,     4,   233,   250,     6,     0,
     4,   178,   250,   179,   180,     4,   233,   250,     6,     0,
     4,   180,     4,   234,     6,     0,     4,   178,   250,   179,
   180,     4,   234,     6,     0,     4,   180,    86,   180,     4,
     7,   261,     6,     0,     4,   178,   250,   179,   180,    86,
   180,     4,     7,   261,     6,     0,     4,   180,    87,     7,
   262,     6,     0,     4,   178,   250,   179,   180,    87,     7,
   262,     6,     0,    36,   176,   250,   177,     7,   252,     6,
     0,    51,    36,   176,   250,   177,     7,   258,     6,     0,
    66,    36,   258,     7,   182,   250,   181,   250,   181,   250,
   183,     6,     0,    43,    44,   258,     7,   250,     6,     0,
    36,   182,   250,   183,     6,     0,    39,   176,   250,   177,
     7,   258,     6,     0,    41,   176,   250,   177,     7,   258,
     6,     0,    66,    39,   258,     7,   182,   250,   181,   250,
   181,   250,   183,     6,     0,    37,   176,   250,   177,     7,
   258,     6,     0,    37,   176,   250,   177,     7,   258,    47,
   252,     6,     0,    45,   176,   250,   177,     7,   182,   250,
   181,   250,   181,     5,   181,     5,   181,     5,   183,     6,
     0,    38,   176,   250,   177,     7,   258,     6,     0,    51,
    39,   176,   250,   177,     7,   258,     6,     0,    39,    61,
   176,   250,   177,     7,   258,     6,     0,    80,   176,   250,
   177,     7,   258,     6,     0,    81,   176,   250,   177,     7,
   258,    85,   258,    82,   250,     6,     0,    39,   182,   250,
   183,     6,     0,    47,    40,   176,   250,   177,     7,   258,
     6,     0,   141,    40,   176,   250,   177,     7,   182,   250,
   181,   258,   183,     6,     0,    48,    40,   176,   250,   177,
     7,   258,     6,     0,    81,    40,    83,    84,   176,   250,
   177,     7,   256,    85,   182,   258,   181,   258,   183,    82,
   182,   250,   181,   250,   183,     6,     0,    81,    40,   176,
   250,   177,     7,   256,    85,   182,   258,   181,   258,   183,
    82,   182,   250,   181,   250,   183,     6,     0,    51,    40,
   176,   250,   177,     7,   258,     6,     0,    40,    61,   176,
   250,   177,     7,   258,     6,     0,    40,   182,   250,   183,
     6,     0,    50,    42,   176,   250,   177,     7,   258,     6,
     0,    42,   176,   250,   177,     7,   258,     6,     0,    51,
    42,   176,   250,   177,     7,   258,     6,     0,    56,   252,
   182,   238,   183,     0,    55,   182,   252,   181,   252,   181,
   250,   183,   182,   238,   183,     0,    57,   252,   182,   238,
   183,     0,    58,   182,   252,   181,   250,   183,   182,   238,
   183,     0,   240,     0,   239,     0,   237,     0,     0,   239,
   236,     0,    60,   182,   239,   183,     0,    63,   182,   239,
   183,     0,    63,     4,   178,   250,   179,     6,     0,    63,
    97,     6,     0,     4,   264,     6,     0,     4,   250,     6,
     0,    93,     6,     0,    35,     6,     0,    88,   176,   250,
     8,   250,   177,     0,    88,   176,   250,     8,   250,     8,
   250,   177,     0,    88,     4,    89,   182,   250,     8,   250,
   183,     0,    88,     4,    89,   182,   250,     8,   250,     8,
   250,   183,     0,    90,     0,    96,     4,     0,    94,     0,
    95,     4,     6,     0,    91,   176,   250,   177,     0,    92,
     0,    59,    36,   182,   250,   181,   252,   183,     6,     0,
    59,    36,   182,   250,   181,   252,   181,   252,   181,   250,
   183,     6,     0,    59,    39,   182,   250,   181,   252,   183,
     6,     0,    59,    39,   182,   250,   181,   252,   181,   252,
   181,   250,   183,     6,     0,    59,    40,   182,   250,   181,
   252,   183,     6,     0,    59,    40,   182,   250,   181,   252,
   181,   252,   181,   250,   183,     6,     0,    59,    40,   182,
   250,   181,   252,   183,   182,   245,   183,     6,     0,    59,
    40,   182,   250,   181,   252,   181,   252,   181,   250,   183,
   182,   245,   183,     6,     0,   246,     0,   245,   246,     0,
    67,   182,   258,   181,   258,   181,   258,   183,     6,     0,
    62,     6,     0,    49,    39,   258,     7,   250,     6,     0,
    49,    39,   258,     7,   250,    52,    54,   250,     6,     0,
    49,    39,   258,     7,   250,    52,    53,   250,     6,     0,
    49,    40,   182,   250,   183,     7,   258,     6,     0,    46,
    40,   182,   250,   183,     7,   258,     6,     0,    49,    42,
   182,   250,   183,     7,   258,     6,     0,    62,    40,   258,
     7,   250,     6,     0,    62,    40,   258,     6,     0,    64,
     6,     0,    65,     6,     0,   101,     0,   102,     0,   103,
     0,   104,     0,   105,     0,   251,     0,   176,   250,   177,
     0,   166,   250,     0,   165,   250,     0,   171,   250,     0,
   250,   166,   250,     0,   250,   165,   250,     0,   250,   167,
   250,     0,   250,   168,   250,     0,   250,   169,   250,     0,
   250,   175,   250,     0,   250,   161,   250,     0,   250,   163,
   250,     0,   250,   162,   250,     0,   250,   164,   250,     0,
   250,   158,   250,     0,   250,   159,   250,     0,   250,   157,
   250,     0,   250,   156,   250,     0,   250,   155,   250,     8,
   250,     0,    10,   176,   250,   177,     0,    11,   176,   250,
   177,     0,    12,   176,   250,   177,     0,    13,   176,   250,
   177,     0,    14,   176,   250,   177,     0,    15,   176,   250,
   177,     0,    16,   176,   250,   177,     0,    17,   176,   250,
   177,     0,    18,   176,   250,   177,     0,    20,   176,   250,
   177,     0,    21,   176,   250,   181,   250,   177,     0,    22,
   176,   250,   177,     0,    23,   176,   250,   177,     0,    24,
   176,   250,   177,     0,    25,   176,   250,   177,     0,    26,
   176,   250,   177,     0,    27,   176,   250,   177,     0,    28,
   176,   250,   181,   250,   177,     0,    29,   176,   250,   181,
   250,   177,     0,    30,   176,   250,   181,   250,   177,     0,
    19,   176,   250,   177,     0,     3,     0,     9,     0,     4,
     0,     4,   178,   250,   179,     0,     4,   234,     0,     4,
   178,   250,   179,   234,     0,     4,   180,     4,     0,     4,
   178,   250,   179,   180,     4,     0,     4,   180,     4,   234,
     0,     4,   178,   250,   179,   180,     4,   234,     0,   253,
     0,   166,   252,     0,   165,   252,     0,   252,   166,   252,
     0,   252,   165,   252,     0,   182,   250,   181,   250,   181,
   250,   181,   250,   181,   250,   183,     0,   182,   250,   181,
   250,   181,   250,   181,   250,   183,     0,   182,   250,   181,
   250,   181,   250,   183,     0,   176,   250,   181,   250,   181,
   250,   177,     0,     0,   176,   255,   177,     0,     5,     0,
   255,   181,     5,     0,     0,   182,   257,   183,     0,   176,
   257,   177,     0,   258,     0,   257,   181,   258,     0,   250,
     0,   259,     0,   182,   260,   183,     0,   166,   182,   260,
   183,     0,   250,     8,   250,     0,   250,     8,   250,     8,
   250,     0,     4,   178,   179,     0,   166,     4,   178,   179,
     0,     4,   178,   182,   260,   183,   179,     0,   166,     4,
   178,   182,   260,   183,   179,     0,   250,     0,   259,     0,
   260,   181,   250,     0,   260,   181,   259,     0,   182,   250,
   181,   250,   181,   250,   181,   250,   183,     0,   182,   250,
   181,   250,   181,   250,   183,     0,     4,     0,     4,   180,
    86,   180,     4,     0,   182,   263,   183,     0,     4,   178,
   250,   179,   180,    87,     0,   261,     0,   263,   181,   261,
     0,     5,     0,    33,   176,   264,   181,   264,   177,     0,
    34,   176,   264,   177,     0,    32,   176,   264,   177,     0,
    32,   176,   264,   181,   260,   177,     0,    32,   176,     4,
   180,     4,   177,     0,    32,   176,     4,   178,   250,   179,
   180,     4,   177,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   153,   155,   156,   157,   164,   166,   169,   177,   191,   203,
   205,   208,   210,   211,   214,   220,   225,   226,   227,   230,
   234,   237,   243,   248,   254,   262,   267,   271,   277,   282,
   286,   291,   295,   298,   303,   307,   311,   315,   320,   324,
   327,   331,   335,   339,   343,   347,   351,   354,   358,   361,
   365,   368,   377,   381,   387,   389,   390,   391,   392,   393,
   394,   395,   396,   397,   398,   399,   402,   407,   436,   442,
   449,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   463,   464,   465,   468,   471,   475,   481,   487,   490,   494,
   500,   506,   509,   513,   519,   525,   528,   532,   540,   546,
   549,   553,   561,   567,   570,   574,   582,   588,   591,   595,
   607,   613,   616,   620,   632,   638,   641,   645,   657,   663,
   666,   670,   683,   689,   692,   696,   709,   715,   718,   722,
   735,   747,   749,   750,   751,   752,   754,   756,   758,   789,
   823,   870,   885,   894,   909,   921,   935,   958,   982,   994,
  1008,  1020,  1034,  1050,  1072,  1083,  1089,  1108,  1119,  1127,
  1133,  1139,  1158,  1164,  1180,  1187,  1193,  1199,  1205,  1211,
  1230,  1242,  1248,  1267,  1288,  1296,  1302,  1308,  1314,  1326,
  1332,  1338,  1350,  1356,  1361,  1366,  1373,  1375,  1376,  1379,
  1384,  1395,  1413,  1421,  1426,  1437,  1505,  1525,  1529,  1549,
  1565,  1579,  1604,  1629,  1655,  1661,  1666,  1671,  1675,  1685,
  1691,  1697,  1701,  1705,  1709,  1713,  1718,  1725,  1729,  1734,
  1755,  1765,  1784,  1802,  1820,  1842,  1863,  1884,  1898,  1919,
  1924,  1935,  1937,  1938,  1939,  1940,  1943,  1945,  1946,  1947,
  1948,  1949,  1950,  1951,  1952,  1959,  1960,  1961,  1962,  1963,
  1964,  1965,  1966,  1967,  1968,  1969,  1970,  1971,  1972,  1973,
  1974,  1975,  1976,  1977,  1978,  1979,  1980,  1981,  1982,  1983,
  1984,  1985,  1986,  1987,  1988,  1989,  1990,  1995,  2000,  2004,
  2015,  2032,  2043,  2062,  2078,  2094,  2110,  2127,  2132,  2136,
  2140,  2144,  2149,  2154,  2158,  2162,  2168,  2172,  2177,  2181,
  2186,  2190,  2194,  2200,  2206,  2213,  2219,  2223,  2227,  2237,
  2244,  2255,  2269,  2285,  2305,  2329,  2335,  2339,  2343,  2354,
  2359,  2370,  2375,  2393,  2398,  2411,  2417,  2423,  2428,  2436,
  2449,  2453,  2478,  2492
};
#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",
"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
   184,   184,   184,   184,   185,   185,   186,   186,   186,   187,
   187,   188,   188,   188,   189,   189,   189,   189,   189,   190,
   190,   190,   191,   191,   191,   191,   191,   191,   191,   191,
   191,   191,   191,   191,   191,   191,   191,   191,   191,   191,
   191,   191,   191,   191,   191,   191,   191,   191,   191,   191,
   191,   191,   192,   192,   193,   193,   193,   193,   193,   193,
   193,   193,   193,   193,   193,   193,   194,   194,   195,   195,
   196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
   196,   196,   196,   197,   197,   199,   198,   200,   200,   202,
   201,   203,   203,   205,   204,   206,   206,   208,   207,   209,
   209,   211,   210,   212,   212,   214,   213,   215,   215,   217,
   216,   218,   218,   220,   219,   221,   221,   223,   222,   224,
   224,   226,   225,   227,   227,   229,   228,   230,   230,   232,
   231,   233,   233,   233,   233,   233,   234,   234,   235,   235,
   235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
   235,   235,   235,   235,   236,   236,   236,   236,   236,   236,
   236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
   236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
   236,   236,   237,   237,   237,   237,   238,   238,   238,   239,
   239,   240,   241,   241,   241,   242,   242,   242,   242,   243,
   243,   243,   243,   243,   243,   243,   243,   243,   243,   244,
   244,   244,   244,   244,   244,   244,   244,   245,   245,   246,
   246,   247,   247,   247,   247,   247,   247,   247,   247,   248,
   248,   249,   249,   249,   249,   249,   250,   250,   250,   250,
   250,   250,   250,   250,   250,   250,   250,   250,   250,   250,
   250,   250,   250,   250,   250,   250,   250,   250,   250,   250,
   250,   250,   250,   250,   250,   250,   250,   250,   250,   250,
   250,   250,   250,   250,   250,   250,   250,   251,   251,   251,
   251,   251,   251,   251,   251,   251,   251,   252,   252,   252,
   252,   252,   253,   253,   253,   253,   254,   254,   255,   255,
   256,   256,   256,   257,   257,   258,   258,   258,   258,   259,
   259,   259,   259,   259,   259,   260,   260,   260,   260,   261,
   261,   261,   261,   262,   262,   263,   263,   264,   264,   264,
   264,   264,   264,   264
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,     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,     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,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,   204,     0,   209,     0,   206,     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,   297,   297,     0,   278,   280,   328,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   132,   279,     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,   237,     0,     0,   199,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
     0,   190,     0,     0,     0,   190,   230,   231,     0,     0,
     0,     0,     0,     0,     0,     0,   198,     0,   205,     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,   282,     0,
    71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   240,   239,   241,     0,     0,
     0,     0,     0,     0,     0,     0,   143,   197,     0,     0,
     0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   280,     0,     0,   306,
     0,   307,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   290,   289,     0,     0,     0,
     0,   190,   190,     0,     0,     0,     0,     0,     0,     0,
   195,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   207,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   299,     0,     0,     0,     0,     0,
   284,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   328,     0,     0,     0,   238,
     0,     0,   316,   317,     0,     0,   132,     0,     0,     0,
     0,   139,     0,   255,   254,   252,   253,   248,   250,   249,
   251,   243,   242,   244,   245,   246,   247,     0,     0,     0,
     0,   280,     0,     0,     0,     0,     0,     0,     0,     0,
David Colignon's avatar
David Colignon committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   292,   291,   189,     0,   188,   187,     0,     0,     0,
     0,     0,   192,   191,   229,     0,     0,   193,     0,     0,
     0,     0,     0,     0,     0,     0,   208,     0,     0,     0,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   298,
     0,     0,    21,     0,   281,   286,    71,     0,     0,     0,
    72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
    82,    83,   257,   258,   259,   260,   261,   262,   263,   264,
   265,   277,   266,     0,   268,   269,   270,   271,   272,   273,
     0,     0,     0,     0,     0,   331,     0,     0,   330,     0,
     0,     0,     0,     0,     0,     0,     0,   149,     0,     0,
     0,     0,     0,    67,     0,     0,   159,     0,     0,     0,
     0,   171,     0,   179,     0,     0,   312,     0,     0,     0,
   308,   310,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   183,   185,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     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,     0,   297,     0,
   283,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    69,     0,     0,     0,     0,     0,
     0,     0,     0,   142,   318,   319,     0,     0,     0,     0,
     0,   144,   145,   147,     0,     0,   322,     0,   326,     0,
   153,   256,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   313,     0,   309,     0,   158,     0,     0,     0,
     0,   222,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   228,   194,     0,
     0,     0,     0,   301,     0,     0,     0,   200,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   232,   233,   234,   235,   236,     0,     0,
     0,     0,     0,     0,     0,    20,     0,   285,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   267,   274,   275,   276,     0,   333,   332,   329,     0,
   132,     0,     0,     0,     0,   140,     0,     0,     0,     0,
     0,   324,    68,   155,   163,     0,   166,     0,   160,     0,
   161,   181,     0,     0,   311,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   190,     0,     0,     0,     0,     0,     0,     0,     0,
   169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   297,   287,    70,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   150,
     0,     0,   151,     0,     0,     0,   327,     0,   168,   178,
   314,     0,     0,   226,   172,   174,     0,     0,   225,   227,
   180,   156,   167,   177,   182,     0,   296,     0,   295,     0,
     0,   210,     0,   212,     0,   214,     0,     0,     0,   301,
     0,   304,     0,     0,     0,     0,   202,   201,     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,   164,   315,     0,   224,   223,   190,     0,   186,
     0,     0,     0,     0,     0,     0,   218,     0,     0,     0,
   303,     0,   302,     0,     0,     0,     0,     0,     0,   301,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   334,     0,   325,   323,     0,     0,     0,     0,
   294,     0,     0,     0,   221,     0,     0,   219,     0,     0,
     0,   305,     0,     0,   203,     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,   152,     0,     0,   184,     0,     0,     0,     0,     0,
   216,     0,     0,     0,     0,   170,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
    90,    94,     0,   321,     0,   293,   211,   213,   215,     0,
     0,   157,   162,     0,     0,   173,     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,   320,     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,   217,     0,     0,     0,     0,
     0,     0,     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,   165,   220,     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,   176,     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,   175,     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[] = {  1524,
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    78,     5,     6,    19,    20,    21,    22,     7,    63,    64,
    65,   383,  1299,   551,  1249,  1301,   552,  1250,  1303,   553,
  1251,  1408,   554,  1381,  1410,   555,  1382,  1412,   556,  1383,
  1469,   557,  1455,  1471,   558,  1456,  1473,   559,  1457,  1506,
   560,  1500,  1508,   561,  1501,  1510,   562,  1502,   129,   229,
    66,   484,   474,   475,   476,   477,    70,    71,    72,    73,
  1066,  1067,    74,    75,   809,   300,   132,   165,   166,   224,
   376,   895,   991,   992,   302,   415,   729,   602,   730,   133
static const short yypact[] = {  2055,
    29,-32768,-32768,  -123,-32768,   261,  2187,-32768,    17,    55,
    91,   105,   123,   130,   139,  -103,    -9,    31,-32768,-32768,
-32768,-32768,  1491,    69,   184,  -143,    97,   102,   -34,   -29,
   108,   154,   155,   163,   302,   312,   325,   311,   333,   232,
   194,     3,     3,   205,   358,   208,   375,     4,   420,   423,
   107,   269,   -24,    21,-32768,   279,-32768,   455,-32768,   453,
   461,   430,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,   468,    17,  2209,-32768,
-32768,-32768,-32768,-32768,   307,   307,   479,-32768,    62,    10,
-32768,-32768,   373,   380,   381,   400,   408,   418,   422,   425,
   426,   427,   429,   435,   445,   446,   447,   452,   454,   456,
   457,   462,   463,   464,   465,   466,-32768,-32768,-32768,-32768,
    65,    65,    65,-32768,-32768,    65,   483,    41,    65,   484,
   862,-32768,   556,   595,-32768,    65,    65,    65,    65,   467,
    65,    65,   469,    65,    65,    65,   765,    65,   449,   470,
   471,   765,   473,   474,   476,   477,   481,   482,   485,     3,
     3,     3,    65,    65,   -58,-32768,     5,     3,   478,   486,
   487,-32768,   765,   459,   623,-32768,-32768,-32768,   765,   765,
    65,   -64,    65,   555,    65,    65,-32768,   644,-32768,   488,
-32768,    17,   490,   491,   509,   510,   511,   513,   514,   515,
   516,   518,   519,   524,   525,   526,   528,   530,   535,   546,
   548,   552,   553,   554,   557,   558,   559,   560,   561,   565,
   570,   571,   658,   308,   550,   567,    65,   727,-32768,     3,
-32768,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    33,    38,    38,   574,   574,   574,  4987,   725,
  1555,  4862,   182,   572,   743,  1037,-32768,-32768,    65,    65,
    65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,-32768,   -22,  5010,  1578,  5033,  5056,    65,
  5079,  2224,    65,  2247,  5102,  5125,   213,  1108,  1555,  1189,
   744,-32768,  5148,    65,    65,    65,   748,    65,    65,    65,
    65,    65,    65,    65,  -118,-32768,-32768,  2615,  2636,     3,
     3,   314,   314,   140,    65,    65,    65,  1888,   294,    65,
-32768,  1905,   749,   750,  5171,   674,    65,  5194,   577,  1664,
  5217,-32768,    65,   613,   757,   758,   759,   760,   761,   762,
   766,   767,   768,   791,   792,   794,   800,   810,   811,   812,
   813,   816,   817,   818,   819,   820,   821,   693,   824,   825,
   831,   844,   847,   849,-32768,   148,   850,   846,   851,  4887,
   150,   114,   -18,  5240,  5263,  5286,  5309,  5332,  5355,  5378,
  5401,  5424,  5447,  5470,  2657,  5493,  5516,  5539,  5562,  5585,
  5608,  2678,  2699,  2720,  -136,-32768,   183,   677,   680,-32768,
   765,  1583,  1189,-32768,   -46,   165,    38,    65,   853,   856,
    13,-32768,  1686,   424,   551,   313,   313,   274,   274,   274,
   274,   244,   244,   574,   574,   574,   574,   855,  1555,   857,
   859,   863,   864,  5631,   865,   867,  5654,   868,   870,   871,
   517,   245,  1555,    56,    65,    65,   873,  2270,  5677,  5700,
    65,  2293,  2316,  5723,  5746,  5769,  5792,  5815,     3,    65,
    65,-32768,-32768,-32768,   679,  1958,-32768,   686,    65,  2741,
  2762,  2783,-32768,-32768,-32768,    65,  4912,-32768,   681,   699,
   875,   707,  5838,   877,    65,    65,-32768,  5861,   737,   694,
   705,   706,   709,   710,   711,   712,   713,   714,   718,   719,
   720,   721,   723,   724,   728,   729,   742,   745,   746,   751,
   753,   754,   756,   764,   769,   770,   771,   772,   773,-32768,
   883,   731,-32768,   775,   -63,-32768,-32768,   730,   763,   782,
   783,   784,   785,   786,   787,   788,   789,   790,   793,   918,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,    65,-32768,-32768,-32768,-32768,-32768,-32768,
    65,    65,    65,    65,   921,-32768,  1555,    38,-32768,   923,
  1555,   795,    45,    65,   932,   936,  1058,-32768,   939,   801,
    14,   937,    65,-32768,   211,     3,-32768,   765,   765,   941,
   765,-32768,   960,-32768,   765,   765,-32768,  1555,   986,   253,
-32768,  1720,  1102,   796,   961,   964,   965,   645,   968,   973,
   974,   975,   976,   978,   980,   143,  2804,  2825,-32768,-32768,
  2339,     3,     3,     3,  1152,   985,    65,    65,   765,    65,
   987,   765,  1742,   676,  1015,   848,   990,    65,    65,     3,
  1029,  1030,   869,  1031,  1032,   765,   765,  1038,     3,  1039,
  1041,   765,   765,  1044,  1045,  1046,  1047,  1048,   765,   349,
   765,  1050,  1049,  1051,  1052,  1054,-32768,  1053,   307,  1057,
-32768,   331,    65,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,    65,-32768,  5884,  5907,  5930,  5953,  4937,
   881,   243,   885,-32768,  1189,-32768,    23,   195,   886,  1056,
  1459,-32768,-32768,-32768,    14,    65,   887,    65,-32768,   254,
-32768,  6459,  1063,    35,    58,  1064,   765,  1065,   765,  1066,
  1068,   263,-32768,  1555,-32768,    65,-32768,    65,   765,   765,
   765,-32768,   128,   765,   765,   765,   765,   765,   765,   765,
    65,    65,    65,   893,   -32,   -27,   132,-32768,-32768,  2846,
  2867,  1071,  5976,   -80,  1005,    65,    65,-32768,   909,    17,
   911,  2888,  2909,    67,   912,   919,   914,   922,   917,   924,
   925,   926,   100,   928,   927,   933,   934,   958,   959,   962,
   963,   966,   969,-32768,-32768,-32768,-32768,-32768,   967,   972,
   979,   982,   983,   977,   988,-32768,   989,   150,  1094,  2930,
  2951,  2972,  2993,  3014,  3035,  3056,  3077,  3098,  3119,  3140,
  3161,-32768,-32768,-32768,-32768,   970,-32768,-32768,-32768,   765,
    38,    65,  1096,  1099,    13,-32768,  1107,  4962,  1019,  3182,
    14,-32768,-32768,-32768,-32768,     3,-32768,  1135,-32768,  1136,
-32768,-32768,   935,   277,  6459,  3203,  1139,  1143,  1150,    65,
    65,  1153,  1155,  1160,  1161,  1165,  1166,  1167,  2362,  5999,
  1549,   314,     3,  1168,     3,  1169,     3,     9,    65,    65,
-32768,  1170,   765,   765,  1091,   765,   451,  6022,    65,    17,
  1184,    65,   765,  1182,  1186,  1185,  1040,  1203,   349,  1204,
  1215,    65,  1222,  1226,  1224,  1225,  1229,   349,    65,    65,
    65,   765,  1228,  1232,   349,    65,  1233,  1234,  1235,    65,
   307,-32768,-32768,    65,    65,    65,    65,    65,    65,    65,
    65,    65,    65,    65,    65,  1236,  1248,  1249,  1520,-32768,
  1265,  1250,-32768,  1059,  1095,    65,-32768,    40,-32768,-32768,
-32768,  1097,    65,-32768,-32768,-32768,  1613,  1634,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,  1098,-32768,    65,-32768,  1100,
   145,-32768,   175,-32768,   192,-32768,   141,  3224,  3245,   -80,
   250,-32768,   283,  1103,  1196,    65,-32768,-32768,  3266,    17,
  1104,  3287,  1101,-32768,  1106,-32768,  1110,-32768,  1111,-32768,