Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 147 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	tAtan	273
#define	tAtan2	274
#define	tSinh	275
#define	tCosh	276
#define	tTanh	277
#define	tFabs	278
#define	tFloor	279
#define	tCeil	280
#define	tFmod	281
#define	tModulo	282
#define	tHypot	283
#define	tPoint	284
#define	tCircle	285
#define	tEllipsis	286
#define	tLine	287
#define	tSurface	288
#define	tSpline	289
#define	tVolume	290
#define	tCharacteristic	291
#define	tLength	292
#define	tParametric	293
#define	tElliptic	294
#define	tPlane	295
#define	tRuled	296
#define	tTransfinite	297
#define	tComplex	298
#define	tPhysical	299
#define	tUsing	300
#define	tPower	301
#define	tBump	302
#define	tProgression	303
#define	tAssociation	304
#define	tRotate	305
#define	tTranslate	306
#define	tSymmetry	307
#define	tDilate	308
#define	tExtrude	309
#define	tDuplicata	310
#define	tLoop	311
#define	tInclude	312
#define	tRecombine	313
#define	tDelete	314
#define	tCoherence	315
#define	tView	316
#define	tOffset	317
#define	tAttractor	318
#define	tLayers	319
#define	tScalarTetrahedron	320
#define	tVectorTetrahedron	321
#define	tTensorTetrahedron	322
#define	tScalarTriangle	323
#define	tVectorTriangle	324
#define	tTensorTriangle	325
#define	tScalarLine	326
#define	tVectorLine	327
#define	tTensorLine	328
#define	tScalarPoint	329
#define	tVectorPoint	330
#define	tTensorPoint	331
#define	tBSpline	332
#define	tNurbs	333
#define	tOrder	334
#define	tWith	335
#define	tBounds	336
#define	tKnots	337
#define	tColor	338
#define	tGeneral	339
#define	tGeometry	340
#define	tMesh	341
#define	tB_SPLINE_SURFACE_WITH_KNOTS	342
#define	tB_SPLINE_CURVE_WITH_KNOTS	343
#define	tCARTESIAN_POINT	344
#define	tTRUE	345
#define	tFALSE	346
#define	tUNSPECIFIED	347
#define	tU	348
#define	tV	349
#define	tEDGE_CURVE	350
#define	tVERTEX_POINT	351
#define	tORIENTED_EDGE	352
#define	tPLANE	353
#define	tFACE_OUTER_BOUND	354
#define	tEDGE_LOOP	355
#define	tADVANCED_FACE	356
#define	tVECTOR	357
#define	tDIRECTION	358
#define	tAXIS2_PLACEMENT_3D	359
#define	tISO	360
#define	tENDISO	361
#define	tENDSEC	362
#define	tDATA	363
#define	tHEADER	364
#define	tFILE_DESCRIPTION	365
#define	tFILE_SCHEMA	366
#define	tFILE_NAME	367
#define	tMANIFOLD_SOLID_BREP	368
#define	tCLOSED_SHELL	369
#define	tADVANCED_BREP_SHAPE_REPRESENTATION	370
#define	tFACE_BOUND	371
#define	tCYLINDRICAL_SURFACE	372
#define	tCONICAL_SURFACE	373
#define	tCIRCLE	374
#define	tTRIMMED_CURVE	375
#define	tGEOMETRIC_SET	376
#define	tCOMPOSITE_CURVE_SEGMENT	377
#define	tCONTINUOUS	378
#define	tCOMPOSITE_CURVE	379
#define	tTOROIDAL_SURFACE	380
#define	tPRODUCT_DEFINITION	381
#define	tPRODUCT_DEFINITION_SHAPE	382
#define	tSHAPE_DEFINITION_REPRESENTATION	383
#define	tELLIPSE	384
#define	tTrimmed	385
#define	tSolid	386
#define	tEndSolid	387
#define	tVertex	388
#define	tFacet	389
#define	tNormal	390
#define	tOuter	391
#define	tLoopSTL	392
#define	tEndLoop	393
#define	tEndFacet	394
#define	UMINUS	395
 /* $Id: Gmsh.tab.cpp,v 1.9 2000-11-26 15:43:47 geuzaine Exp $ */

#include <stdarg.h>

#include "Gmsh.h"
#include "Const.h"
#include "Context.h"
#include "Geo.h"
#include "CAD.h"
#include "DataBase.h"
#include "Mesh.h"
#include "Create.h"
#include "Views.h"
#include "StepGeomDatabase.h"
#include "Colors.h"
#include "Parser.h"

#ifdef __DECCXX // bug in bison
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#include <alloca.h>
#endif

int            Force_ViewNumber = 0 ;

extern Mesh     *THEM;
extern Post_View *ActualView;
extern char      ThePathForIncludes[NAME_STR_L];

static FILE          *yyinTab[MAX_OPEN_FILES];
static int            yylinenoTab[MAX_OPEN_FILES];
static char           yynameTab[MAX_OPEN_FILES][NAME_STR_L];
static char           tmpstring[NAME_STR_L];
static Symbol         TheSymbol;
static Surface       *STL_Surf;
static Shape          TheShape;
static unsigned int  *ptr ;
static int            i,j,k,flag,RecursionLevel=0;
static double         d;
static ExtrudeParams  extr;
static StringXPointer *ColorField ;
static List_T         *ListOfDouble_L,*ListOfDouble2_L;
static List_T         *ListOfListOfDouble_L;

void  yyerror (char *s);
void  vyyerror (char *fmt, ...);
int   Get_ColorForString(StringX4Int SX4I[], int alpha, 
			 char * string, int * FlagError);
void  Get_ColorPointerForString(StringXPointer SXP[], char * string,
				int * FlagError, unsigned int **Pointer);


#line 53 "Gmsh.y"
typedef union {
  char    *c;
  int      i;
  double   d;
  double   v[5];
  Shape    s;
  List_T  *l;
} YYSTYPE;
#include <stdio.h>

#ifndef __cplusplus
#ifndef __STDC__
#define const
#endif
#endif



#define	YYFINAL		1339
#define YYTRANSLATE(x) ((unsigned)(x) <= 395 ? yytranslate[x] : 237)

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,     2,     2,     2,     2,   147,     2,     2,   150,
   152,   145,   143,   151,   144,     2,   146,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,   141,
     2,   142,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
   155,     2,   156,   149,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,   153,     2,   154,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     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,   148
};

#if YYDEBUG != 0
static const short yyprhs[] = {     0,
     0,     2,     4,     6,     8,    30,    32,    33,    36,    38,
    40,    42,    45,    48,    51,    54,    57,    60,    68,    74,
    92,   102,   126,   158,   174,   186,   198,   214,   224,   238,
   248,   260,   274,   284,   294,   306,   316,   328,   338,   350,
   364,   378,   390,   404,   422,   432,   444,   456,   470,   482,
   492,   493,   496,   498,   500,   502,   504,   506,   508,   510,
   512,   514,   516,   518,   521,   528,   537,   538,   541,   544,
   547,   550,   553,   556,   559,   562,   565,   568,   571,   574,
   576,   580,   581,   595,   597,   601,   602,   616,   618,   622,
   623,   637,   639,   643,   644,   664,   666,   670,   671,   691,
   693,   697,   698,   718,   720,   724,   725,   751,   753,   757,
   758,   784,   786,   790,   791,   817,   819,   823,   824,   856,
   858,   862,   863,   895,   897,   901,   902,   934,   939,   947,
   956,   969,   976,   982,   990,   998,  1011,  1019,  1029,  1047,
  1055,  1064,  1073,  1079,  1087,  1099,  1108,  1118,  1127,  1150,
  1171,  1180,  1189,  1195,  1204,  1212,  1221,  1229,  1241,  1249,
  1259,  1261,  1263,  1265,  1266,  1269,  1274,  1279,  1283,  1291,
  1300,  1312,  1325,  1338,  1347,  1360,  1369,  1381,  1397,  1399,
  1402,  1412,  1415,  1422,  1432,  1442,  1452,  1461,  1470,  1479,
  1486,  1491,  1494,  1499,  1500,  1503,  1504,  1510,  1511,  1517,
  1518,  1524,  1525,  1528,  1533,  1542,  1547,  1557,  1565,  1567,
  1569,  1571,  1573,  1575,  1577,  1581,  1585,  1589,  1593,  1597,
  1601,  1604,  1607,  1612,  1617,  1622,  1627,  1632,  1637,  1642,
  1647,  1652,  1657,  1664,  1669,  1674,  1679,  1684,  1689,  1694,
  1701,  1708,  1715,  1717,  1719,  1721,  1725,  1732,  1744,  1754,
  1762,  1770,  1771,  1775,  1777,  1781,  1782,  1786,  1790,  1792,
  1796,  1797,  1799,  1803,  1805,  1807,  1811
static const short yyrhs[] = {   159,
     0,   158,     0,   164,     0,   132,     0,   135,   136,   227,
   227,   227,   137,   138,   134,   227,   227,   227,   134,   227,
   227,   227,   134,   227,   227,   227,   139,   140,     0,   133,
     0,     0,   159,   160,     0,   161,     0,   163,     0,   162,
     0,     1,     6,     0,   106,     6,     0,   107,     6,     0,
   109,     6,     0,   108,     6,     0,   110,     6,     0,   111,
   150,   231,   151,     5,   152,     6,     0,   112,   150,   231,
   152,     6,     0,   113,   150,     5,   151,     5,   151,   231,
   151,   231,   151,     5,   151,     5,   151,     5,   152,     6,
     0,     3,     7,    90,   150,     5,   151,   230,   152,     6,
     0,     3,     7,    89,   150,     5,   151,   227,   151,   235,
   151,   226,   151,   226,   151,   226,   151,   235,   151,   235,
   151,   226,   152,     6,     0,     3,     7,    88,   150,     5,
   151,   227,   151,   227,   151,   233,   151,   226,   151,   226,
   151,   226,   151,   226,   151,   235,   151,   235,   151,   235,
   151,   235,   151,   226,   152,     6,     0,     3,     7,    96,
   150,     5,   151,     3,   151,     3,   151,     3,   151,   226,
   152,     6,     0,     3,     7,   100,   150,     5,   151,     3,
   151,   226,   152,     6,     0,     3,     7,   117,   150,     5,
   151,     3,   151,   226,   152,     6,     0,     3,     7,    98,
   150,     5,   151,   145,   151,   145,   151,   227,   151,   226,
   152,     6,     0,     3,     7,   101,   150,     5,   151,   235,
   152,     6,     0,     3,     7,   102,   150,     5,   151,   235,
   151,     3,   151,   226,   152,     6,     0,     3,     7,    97,
   150,     5,   151,     3,   152,     6,     0,     3,     7,   103,
   150,     5,   151,     3,   151,   227,   152,     6,     0,     3,
     7,   105,   150,     5,   151,     3,   151,     3,   151,     3,
   152,     6,     0,     3,     7,   104,   150,     5,   151,   230,
   152,     6,     0,     3,     7,    99,   150,     5,   151,     3,
   152,     6,     0,     3,     7,    33,   150,     5,   151,     3,
   151,     3,   152,     6,     0,     3,     7,   115,   150,     5,
   151,   235,   152,     6,     0,     3,     7,   116,   150,     5,
   151,   235,   151,     3,   152,     6,     0,     3,     7,   114,
   150,     5,   151,     3,   152,     6,     0,     3,     7,   118,
   150,     5,   151,     3,   151,   227,   152,     6,     0,     3,
     7,   119,   150,     5,   151,     3,   151,   227,   151,   227,
   152,     6,     0,     3,     7,   126,   150,     5,   151,     3,
   151,   227,   151,   227,   152,     6,     0,     3,     7,   120,
   150,     5,   151,     3,   151,   227,   152,     6,     0,     3,
     7,   130,   150,     5,   151,     3,   151,   227,   151,   227,
   152,     6,     0,     3,     7,   121,   150,     5,   151,     3,
   151,   235,   151,   235,   151,   226,   151,   226,   152,     6,
     0,     3,     7,   122,   150,     5,   151,   235,   152,     6,
     0,     3,     7,   123,   150,   124,   151,   226,   151,     3,
   152,     6,     0,     3,     7,   125,   150,     5,   151,   235,
   151,   226,   152,     6,     0,     3,     7,   127,   150,     5,
   151,     5,   151,     3,   151,     3,   152,     6,     0,     3,
     7,   128,   150,     5,   151,     5,   151,     3,   152,     6,
     0,     3,     7,   129,   150,     3,   151,     3,   152,     6,
     0,     0,   164,   165,     0,   166,     0,   204,     0,   205,
     0,   206,     0,   209,     0,   210,     0,   212,     0,   215,
     0,   216,     0,   211,     0,   217,     0,     1,     6,     0,
    62,     5,   153,   167,   154,     6,     0,    62,     5,    63,
   230,   153,   167,   154,     6,     0,     0,   167,   169,     0,
   167,   172,     0,   167,   175,     0,   167,   178,     0,   167,
   181,     0,   167,   184,     0,   167,   187,     0,   167,   190,
     0,   167,   193,     0,   167,   196,     0,   167,   199,     0,
   167,   202,     0,   227,     0,   168,   151,   227,     0,     0,
    75,   150,   227,   151,   227,   151,   227,   152,   170,   153,
   168,   154,     6,     0,   227,     0,   171,   151,   227,     0,
     0,    76,   150,   227,   151,   227,   151,   227,   152,   173,
   153,   171,   154,     6,     0,   227,     0,   174,   151,   227,
     0,     0,    77,   150,   227,   151,   227,   151,   227,   152,
   176,   153,   174,   154,     6,     0,   227,     0,   177,   151,
   227,     0,     0,    72,   150,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   152,   179,   153,   177,
   154,     6,     0,   227,     0,   180,   151,   227,     0,     0,
    73,   150,   227,   151,   227,   151,   227,   151,   227,   151,
   227,   151,   227,   152,   182,   153,   180,   154,     6,     0,
   227,     0,   183,   151,   227,     0,     0,    74,   150,   227,
   151,   227,   151,   227,   151,   227,   151,   227,   151,   227,
   152,   185,   153,   183,   154,     6,     0,   227,     0,   186,
   151,   227,     0,     0,    69,   150,   227,   151,   227,   151,
   227,   151,   227,   151,   227,   151,   227,   151,   227,   151,
   227,   151,   227,   152,   188,   153,   186,   154,     6,     0,
   227,     0,   189,   151,   227,     0,     0,    70,   150,   227,
   151,   227,   151,   227,   151,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   152,   191,   153,   189,
   154,     6,     0,   227,     0,   192,   151,   227,     0,     0,
    71,   150,   227,   151,   227,   151,   227,   151,   227,   151,
   227,   151,   227,   151,   227,   151,   227,   151,   227,   152,
   194,   153,   192,   154,     6,     0,   227,     0,   195,   151,
   227,     0,     0,    66,   150,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   151,   227,   152,   197,
   153,   195,   154,     6,     0,   227,     0,   198,   151,   227,
     0,     0,    67,   150,   227,   151,   227,   151,   227,   151,
   227,   151,   227,   151,   227,   151,   227,   151,   227,   151,
   227,   151,   227,   151,   227,   151,   227,   152,   200,   153,
   198,   154,     6,     0,   227,     0,   201,   151,   227,     0,
     0,    68,   150,   227,   151,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   151,   227,   151,   227,
   151,   227,   151,   227,   151,   227,   152,   203,   153,   201,
   154,     6,     0,     4,     7,   227,     6,     0,    30,   150,
   227,   152,     7,   230,     6,     0,    45,    30,   150,   227,
   152,     7,   235,     6,     0,    64,    30,   150,   227,   151,
   227,   151,   227,   152,     7,   235,     6,     0,    37,    38,
   235,     7,   227,     6,     0,    30,   150,   227,   152,     6,
     0,    33,   150,   227,   152,     7,   235,     6,     0,    35,
   150,   227,   152,     7,   235,     6,     0,    64,    33,   150,
   227,   151,   227,   151,   227,   152,     7,   235,     6,     0,
    31,   150,   227,   152,     7,   235,     6,     0,    31,   150,
   227,   152,     7,   235,    41,   230,     6,     0,    39,   150,
   227,   152,     7,   150,   227,   151,   227,   151,     5,   151,
     5,   151,     5,   152,     6,     0,    32,   150,   227,   152,
     7,   235,     6,     0,    45,    33,   150,   227,   152,     7,
   235,     6,     0,    33,    57,   150,   227,   152,     7,   235,
     6,     0,    33,   150,   227,   152,     6,     0,    78,   150,
   227,   152,     7,   235,     6,     0,    79,   150,   227,   152,
     7,   235,    83,   235,    80,   227,     6,     0,    41,    34,
   150,   227,   152,     7,   235,     6,     0,   131,    34,   150,
   227,   152,     7,   227,   235,     6,     0,    42,    34,   150,
   227,   152,     7,   235,     6,     0,    79,    34,    81,    82,
   150,   227,   152,     7,   233,    83,   153,   235,   151,   235,
   154,    80,   153,   227,   151,   227,   154,     6,     0,    79,
    34,   150,   227,   152,     7,   233,    83,   153,   235,   151,
   235,   154,    80,   153,   227,   151,   227,   154,     6,     0,
    45,    34,   150,   227,   152,     7,   235,     6,     0,    34,
    57,   150,   227,   152,     7,   235,     6,     0,    34,   150,
   227,   152,     6,     0,    44,    36,   150,   227,   152,     7,
   235,     6,     0,    36,   150,   227,   152,     7,   235,     6,
     0,    45,    36,   150,   227,   152,     7,   235,     6,     0,
    52,   150,   230,   152,   153,   207,   154,     0,    51,   150,
   230,   151,   230,   151,   227,   152,   153,   207,   154,     0,
    53,   150,   230,   152,   153,   207,   154,     0,    54,   150,
   230,   151,   227,   152,   153,   207,   154,     0,   209,     0,
   208,     0,   206,     0,     0,   208,   205,     0,    56,   153,
   208,   154,     0,    60,   153,   208,   154,     0,    58,     5,
     6,     0,    55,   150,   227,   151,   230,   152,     6,     0,
    55,    34,   150,   227,   151,   230,   152,     6,     0,    55,
   150,   227,   151,   230,   151,   230,   151,   227,   152,     6,
     0,    55,    34,   150,   227,   151,   230,   151,   230,   151,
   227,   152,     6,     0,    55,    30,   150,   227,   151,   230,
   151,   230,   151,   227,   152,     6,     0,    55,    30,   150,
   227,   151,   230,   152,     6,     0,    55,    33,   150,   227,
   151,   230,   151,   230,   151,   227,   152,     6,     0,    55,
    33,   150,   227,   151,   230,   152,     6,     0,    55,    34,
   150,   227,   151,   230,   152,   153,   213,   154,     6,     0,
    55,    34,   150,   227,   151,   230,   151,   230,   151,   227,
   152,   153,   213,   154,     6,     0,   214,     0,   213,   214,
     0,    65,   153,   235,   151,   235,   151,   235,   154,     6,
     0,    59,     6,     0,    43,    33,   235,     7,   227,     6,
     0,    43,    33,   235,     7,   227,    46,    47,   227,     6,
     0,    43,    33,   235,     7,   227,    46,    48,   227,     6,
     0,    43,    33,   235,     7,   227,    46,    49,   227,     6,
     0,    43,    34,   153,   227,   154,     7,   235,     6,     0,
    40,    34,   153,   227,   154,     7,   235,     6,     0,    43,
    36,   153,   227,   154,     7,   235,     6,     0,    59,    34,
   235,     7,   227,     6,     0,    59,    34,   235,     6,     0,
    61,     6,     0,    84,   153,   218,   154,     0,     0,   218,
   219,     0,     0,    85,   220,   153,   223,   154,     0,     0,
    86,   221,   153,   223,   154,     0,     0,    87,   222,   153,
   223,   154,     0,     0,   224,   223,     0,     4,     7,     4,
     6,     0,     4,     7,   153,     4,   151,   227,   154,     6,
     0,     4,     7,   225,     6,     0,   153,   227,   151,   227,
   151,   227,   151,   227,   154,     0,   153,   227,   151,   227,
   151,   227,   154,     0,    91,     0,    92,     0,    93,     0,
    94,     0,    95,     0,   228,     0,   150,   227,   152,     0,
   227,   144,   227,     0,   227,   143,   227,     0,   227,   145,
   227,     0,   227,   146,   227,     0,   227,   149,   227,     0,
   144,   227,     0,   143,   227,     0,    10,   150,   227,   152,
     0,    11,   150,   227,   152,     0,    12,   150,   227,   152,
     0,    13,   150,   227,   152,     0,    14,   150,   227,   152,
     0,    15,   150,   227,   152,     0,    16,   150,   227,   152,
     0,    17,   150,   227,   152,     0,    18,   150,   227,   152,
     0,    19,   150,   227,   152,     0,    20,   150,   227,   151,
   227,   152,     0,    21,   150,   227,   152,     0,    22,   150,
   227,   152,     0,    23,   150,   227,   152,     0,    24,   150,
   227,   152,     0,    25,   150,   227,   152,     0,    26,   150,
   227,   152,     0,    27,   150,   227,   151,   227,   152,     0,
    28,   150,   227,   151,   227,   152,     0,    29,   150,   227,
   151,   227,   152,     0,     3,     0,     9,     0,     4,     0,
   227,     8,   227,     0,   227,     8,   155,   227,   156,   227,
     0,   153,   227,   151,   227,   151,   227,   151,   227,   151,
   227,   154,     0,   153,   227,   151,   227,   151,   227,   151,
   227,   154,     0,   153,   227,   151,   227,   151,   227,   154,
     0,   150,   227,   151,   227,   151,   227,   152,     0,     0,
   150,   232,   152,     0,     5,     0,   232,   151,     5,     0,
     0,   153,   234,   154,     0,   150,   234,   152,     0,   235,
     0,   234,   151,   235,     0,     0,   227,     0,   153,   236,
   154,     0,   227,     0,   229,     0,   236,   151,   227,     0,
   236,   151,   229,     0
};

#endif

#if YYDEBUG != 0
static const short yyrline[] = { 0,
   114,   116,   117,   124,   132,   146,   158,   160,   163,   165,
   166,   167,   170,   176,   181,   182,   183,   186,   190,   193,
   199,   204,   210,   218,   223,   227,   233,   238,   242,   247,
   251,   254,   259,   263,   267,   271,   276,   280,   283,   287,
   291,   295,   299,   303,   307,   310,   314,   317,   321,   324,
   333,   335,   341,   343,   344,   345,   346,   347,   348,   349,
   350,   351,   352,   353,   360,   365,   371,   376,   377,   378,
   379,   380,   381,   382,   383,   384,   385,   386,   387,   390,
   393,   397,   403,   409,   412,   416,   422,   428,   431,   435,
   441,   447,   450,   454,   462,   468,   471,   475,   483,   489,
   492,   496,   504,   510,   513,   517,   529,   535,   538,   542,
   554,   560,   563,   567,   579,   585,   588,   592,   605,   611,
   614,   618,   631,   637,   640,   644,   657,   669,   683,   694,
   700,   719,   730,   738,   744,   750,   769,   775,   791,   798,
   804,   810,   816,   825,   831,   853,   859,   878,   899,   907,
   913,   919,   925,   937,   943,   949,   961,   967,   972,   977,
   984,   986,   987,   990,   995,  1006,  1024,  1039,  1070,  1075,
  1079,  1083,  1087,  1093,  1098,  1102,  1106,  1111,  1119,  1123,
  1128,  1146,  1156,  1174,  1191,  1208,  1225,  1246,  1266,  1286,
  1301,  1323,  1334,  1338,  1340,  1343,  1346,  1347,  1349,  1350,
  1352,  1355,  1357,  1360,  1371,  1381,  1391,  1399,  1475,  1477,
  1478,  1479,  1480,  1483,  1485,  1486,  1487,  1488,  1489,  1490,
  1491,  1492,  1493,  1494,  1495,  1496,  1497,  1498,  1499,  1500,
  1501,  1502,  1503,  1504,  1505,  1506,  1507,  1508,  1509,  1510,
  1511,  1512,  1515,  1517,  1518,  1529,  1536,  1549,  1558,  1566,
  1574,  1584,  1588,  1593,  1597,  1602,  1606,  1610,  1616,  1622,
  1628,  1632,  1638,  1651,  1657,  1666,  1670
};
#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",
"tSin","tAsin","tCos","tAcos","tTan","tAtan","tAtan2","tSinh","tCosh","tTanh",
"tFabs","tFloor","tCeil","tFmod","tModulo","tHypot","tPoint","tCircle","tEllipsis",
"tLine","tSurface","tSpline","tVolume","tCharacteristic","tLength","tParametric",
"tElliptic","tPlane","tRuled","tTransfinite","tComplex","tPhysical","tUsing",
Christophe Geuzaine's avatar
Christophe Geuzaine committed
"tPower","tBump","tProgression","tAssociation","tRotate","tTranslate","tSymmetry",
"tDilate","tExtrude","tDuplicata","tLoop","tInclude","tRecombine","tDelete",
"tCoherence","tView","tOffset","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron",
"tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine",
"tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline",
"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tGeneral","tGeometry",
"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","'<'","'>'","'+'","'-'","'*'","'/'","'%'",
"UMINUS","'^'","'('","','","')'","'{'","'}'","'['","']'","All","STLFormatItem",
"StepFormatItems","StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem",
"GeomFormatList","GeomFormat","View","Views","ScalarPointValues","ScalarPoint",
"@1","VectorPointValues","VectorPoint","@2","TensorPointValues","TensorPoint",
"@3","ScalarLineValues","ScalarLine","@4","VectorLineValues","VectorLine","@5",
"TensorLineValues","TensorLine","@6","ScalarTriangleValues","ScalarTriangle",
"@7","VectorTriangleValues","VectorTriangle","@8","TensorTriangleValues","TensorTriangle",
"@9","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues",
"VectorTetrahedron","@11","TensorTetrahedronValues","TensorTetrahedron","@12",
"Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata",
"Delete","Macro","Extrude","ExtrudeParameters","ExtrudeParameter","Transfini",
"Coherence","Colors","ColorSections","ColorSection","@13","@14","@15","ColorAffects",
"ColorAffect","RGBAExpr","BoolExpr","FExpr","FExpr_Single","FExpr_Range","VExpr",
"ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble",
"ListOfDouble","RecursiveListOfDouble", NULL
};
#endif

static const short yyr1[] = {     0,
   157,   157,   157,   158,   158,   158,   159,   159,   160,   160,
   160,   160,   161,   161,   161,   161,   161,   162,   162,   162,
   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
   164,   164,   165,   165,   165,   165,   165,   165,   165,   165,
   165,   165,   165,   165,   166,   166,   167,   167,   167,   167,
   167,   167,   167,   167,   167,   167,   167,   167,   167,   168,
   168,   170,   169,   171,   171,   173,   172,   174,   174,   176,
   175,   177,   177,   179,   178,   180,   180,   182,   181,   183,
   183,   185,   184,   186,   186,   188,   187,   189,   189,   191,
   190,   192,   192,   194,   193,   195,   195,   197,   196,   198,
   198,   200,   199,   201,   201,   203,   202,   204,   205,   205,
   205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
   205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
   205,   205,   205,   205,   205,   205,   206,   206,   206,   206,
   207,   207,   207,   208,   208,   209,   210,   211,   212,   212,
   212,   212,   212,   212,   212,   212,   212,   212,   213,   213,
   214,   214,   215,   215,   215,   215,   215,   215,   215,   215,
   215,   216,   217,   218,   218,   220,   219,   221,   219,   222,
   219,   223,   223,   224,   224,   224,   225,   225,   226,   226,
   226,   226,   226,   227,   227,   227,   227,   227,   227,   227,
   227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
   227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
   227,   227,   228,   228,   228,   229,   229,   230,   230,   230,
   230,   231,   231,   232,   232,   233,   233,   233,   234,   234,
   235,   235,   235,   236,   236,   236,   236
};

static const short yyr2[] = {     0,
     1,     1,     1,     1,    21,     1,     0,     2,     1,     1,
     1,     2,     2,     2,     2,     2,     2,     7,     5,    17,
     9,    23,    31,    15,    11,    11,    15,     9,    13,     9,
    11,    13,     9,     9,    11,     9,    11,     9,    11,    13,
    13,    11,    13,    17,     9,    11,    11,    13,    11,     9,
     0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
     1,     1,     1,     2,     6,     8,     0,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
     3,     0,    13,     1,     3,     0,    13,     1,     3,     0,
    13,     1,     3,     0,    19,     1,     3,     0,    19,     1,
     3,     0,    19,     1,     3,     0,    25,     1,     3,     0,
    25,     1,     3,     0,    25,     1,     3,     0,    31,     1,
     3,     0,    31,     1,     3,     0,    31,     4,     7,     8,
    12,     6,     5,     7,     7,    12,     7,     9,    17,     7,
     8,     8,     5,     7,    11,     8,     9,     8,    22,    20,
     8,     8,     5,     8,     7,     8,     7,    11,     7,     9,
     1,     1,     1,     0,     2,     4,     4,     3,     7,     8,
    11,    12,    12,     8,    12,     8,    11,    15,     1,     2,
     9,     2,     6,     9,     9,     9,     8,     8,     8,     6,
     4,     2,     4,     0,     2,     0,     5,     0,     5,     0,
     5,     0,     2,     4,     8,     4,     9,     7,     1,     1,
     1,     1,     1,     1,     3,     3,     3,     3,     3,     3,
     2,     2,     4,     4,     4,     4,     4,     4,     4,     4,
     4,     4,     6,     4,     4,     4,     4,     4,     4,     6,
     6,     6,     1,     1,     1,     3,     6,    11,     9,     7,
     7,     0,     3,     1,     3,     0,     3,     3,     1,     3,
     0,     1,     3,     1,     1,     3,     3
     4,     6,     0,     2,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     8,     9,    11,
    10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    52,    53,    54,    55,    56,    57,
    58,    62,    59,    60,    61,    63,   243,   245,   244,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   214,    12,     0,    13,    14,    16,    15,
    17,   252,   252,     0,    64,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   261,     0,     0,     0,     0,
   261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   164,     0,   261,   164,
   192,     0,     0,     0,     0,     0,     0,   194,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   222,
   221,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   262,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   168,     0,
     0,     0,    67,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   215,   217,   216,   218,   219,   220,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   254,     0,     0,     0,     0,   128,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   264,   265,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   166,   165,   191,     0,   167,     0,     0,     0,     0,
     0,     0,     0,     0,   196,   198,   200,   193,   195,     0,
   223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     0,   234,   235,   236,   237,   238,   239,     0,     0,     0,
   217,   216,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   253,     0,    19,     0,   133,     0,
   261,   261,     0,   143,   261,     0,   153,   261,   261,     0,
     0,   263,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,   164,   164,
     0,     0,     0,     0,     0,     0,    67,     0,     0,     0,
    68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
    78,    79,     0,     0,   261,     0,     0,   261,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,   261,   261,     0,     0,
     0,     0,   261,   261,     0,     0,     0,     0,     0,   261,
     0,   261,     0,     0,     0,     0,     0,   255,     0,   252,
     0,     0,     0,   261,     0,   261,     0,     0,     0,   246,
   266,   267,   132,     0,   261,   261,   261,   183,     0,   261,
   261,   261,   261,   261,   261,   261,     0,     0,     0,   163,
     0,   162,   161,     0,     0,     0,     0,     0,     0,     0,
   190,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    65,     0,     0,     0,     0,   256,
     0,   202,   202,   202,     0,   233,   240,   241,   242,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,   209,   210,   211,   212,   213,     0,     0,
     0,     0,     0,     0,     0,    18,     0,   129,   137,     0,
   140,     0,   134,     0,   135,   155,     0,     0,     0,     0,
     0,     0,     0,     0,   157,   159,   164,     0,     0,     0,
     0,     0,     0,     0,   169,     0,     0,     0,     0,     0,
   144,     0,   261,   261,     0,   261,     0,     0,   202,     0,
     0,   261,     0,     0,     0,   261,     0,     0,     0,     0,
     0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
     0,     0,     0,   252,     0,   142,   152,     0,     0,   188,
   146,   148,     0,     0,     0,   187,   189,   154,   130,   141,
   151,   156,     0,     0,     0,     0,     0,   174,     0,   176,
     0,   170,     0,     0,    66,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   256,
     0,   259,     0,     0,     0,     0,   197,   203,   199,   201,
     0,     0,     0,     0,     0,    21,     0,    30,     0,    34,
     0,    28,     0,     0,    33,     0,    38,    36,     0,     0,
     0,     0,     0,     0,    45,     0,     0,     0,     0,     0,
    50,     0,     0,   138,   247,     0,   184,   185,   186,   251,
     0,   250,   164,   160,     0,     0,     0,     0,     0,     0,
   179,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,   261,   258,   257,
   261,     0,     0,     0,     0,   147,     0,     0,   256,     0,
     0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,   182,   261,     0,   180,     0,
     0,     0,   261,   261,     0,   260,     0,     0,   204,   245,
     0,   206,     0,    35,     0,     0,     0,     0,    25,     0,
    31,     0,    37,    26,    39,     0,    42,     0,    46,    47,
     0,     0,    49,     0,     0,     0,     0,   249,   158,     0,
     0,     0,     0,   177,   171,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   261,
   261,   145,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   173,
   175,   172,     0,   261,     0,     0,     0,     0,     0,     0,
     0,     0,     0,    82,    86,    90,   131,   136,     0,     0,
     0,     0,     0,     0,     0,     0,     0,    29,    32,    40,
     0,    41,    48,    43,     0,     0,   248,     0,     0,     0,
     0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,   261,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
     0,     0,     0,     0,    24,    27,     0,     0,     0,   178,
     0,    80,     0,    84,     0,    88,     0,     0,     0,   208,
     0,     0,   261,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,    44,    20,
   139,   181,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    81,    83,    85,    87,    89,    91,     0,     0,   207,
     0,     0,   261,     0,     0,     0,     0,     0,     0,    94,
    98,   102,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     5,   261,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
     0,    92,     0,    96,     0,   100,     0,   261,     0,     0,
     0,   149,     0,    22,     0,     0,     0,     0,     0,     0,
    93,    95,    97,    99,   101,   103,   261,     0,     0,     0,
   106,   110,   114,     0,     0,     0,     0,     0,     0,     0,
   261,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,   104,     0,   108,     0,   112,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,   105,   107,   109,   111,   113,   115,     0,   118,   122,
   126,    23,     0,     0,     0,     0,     0,     0,     0,   116,
     0,   120,     0,   124,     0,     0,     0,     0,     0,     0,
   117,   119,   121,   123,   125,   127,     0,     0,     0
static const short yydefgoto[] = {  1337,
     4,     5,    18,    19,    20,    21,     6,    55,    56,   368,
  1111,   491,  1059,  1113,   492,  1060,  1115,   493,  1061,  1221,
   494,  1194,  1223,   495,  1195,  1225,   496,  1196,  1282,   497,
  1268,  1284,   498,  1269,  1286,   499,  1270,  1319,   500,  1313,
  1321,   501,  1314,  1323,   502,  1315,    57,   363,   580,   581,
   582,   583,    61,    62,    63,   860,   861,    64,    65,    66,
   260,   379,   509,   510,   511,   718,   719,   885,   649,   224,
    94,   337,   240,   210,   322,   715,   801,   802,   338
static const short yypact[] = {   266,
-32768,-32768,  -100,-32768,   343,  1294,   611,     9,    68,    74,
    91,   106,   121,   203,   -80,   -13,    22,-32768,-32768,-32768,
-32768,   207,   183,    73,   102,   120,   -45,   -41,   143,   168,
   164,   197,   315,   321,   327,    33,   280,    86,   238,   287,
   288,   290,   -26,   289,   436,   411,   293,   441,   452,     2,
   308,   -29,   309,   431,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   316,
   317,   341,   356,   361,   386,   387,   391,   408,   412,   413,
   415,   416,   418,   420,   430,   432,   433,   435,   448,   611,
   611,   611,   460,-32768,-32768,  1286,-32768,-32768,-32768,-32768,
-32768,   449,   449,   544,-32768,   611,   611,   611,   611,   450,
   611,   451,   611,   611,   611,   505,   611,   407,   457,   461,
   505,   428,   459,   466,   467,   468,   469,   495,   -27,   -27,
   -27,   -27,   496,   501,   503,   611,-32768,   648,   505,-32768,
-32768,   -57,   506,   507,   611,   -68,   611,-32768,   509,   611,
   611,   611,   611,   611,   611,   611,   611,   611,   611,   611,
   611,   611,   611,   611,   611,   611,   611,   611,   611,   511,
   511,   196,   611,   611,   611,   611,   611,   460,   512,   513,
   514,   518,   519,   520,   523,   524,   548,   549,   550,   551,
   567,   573,   574,   579,   581,   582,   583,   584,   593,   597,
   598,   600,   603,   610,   615,   616,   618,   623,   656,   575,
   622,   594,    54,   237,   358,   399,   611,   498,   611,   626,
   657,   751,   611,   878,   756,   796,   611,   611,   611,   769,
   611,   611,   611,   611,   611,   611,   611,   611,   611,   640,
   645,   646,   659,   611,   611,   611,   259,   795,-32768,    83,
  1020,   -27,-32768,   611,   611,   807,   725,   611,   818,   -24,
   611,   829,   849,   897,   943,   957,  1061,  1091,  1111,  1128,
  1147,  1037,  1217,  1274,  1284,  1295,  1306,  1316,  1071,  1157,
  1763,   611,   611,-32768,   -58,   401,   511,   511,   511,   -72,
   803,   812,   815,   816,   817,   828,   830,   833,   836,   837,
   838,   840,   841,   842,   850,   851,   853,   855,   856,   858,
   859,   864,   865,   699,   867,   877,   881,   882,   880,   883,
-32768,    84,   885,   886,   894,-32768,   235,   884,   895,  1326,
   253,  1336,   900,   902,   903,   185,-32768,   -19,   611,   906,
   -51,  1346,  1356,   611,   595,   650,  1366,  1377,  1387,  1397,
  1407,  1772,  1781,   -27,   754,   778,   611,  1790,  1799,  1808,
   -27,-32768,-32768,-32768,   611,-32768,   779,   346,  1817,  1826,
   927,   785,  1417,   930,-32768,-32768,-32768,-32768,-32768,  1427,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
   611,-32768,-32768,-32768,-32768,-32768,-32768,   611,   611,   611,
  -118,  -118,   805,   793,   804,   806,   814,   825,   826,   831,
   832,   834,   848,   869,   874,   893,   896,   909,   912,   915,
   916,   917,   931,   932,   939,   940,   942,   945,   946,   953,
   954,   956,   959,   941,-32768,   802,-32768,   962,-32768,   -27,
   505,   505,   951,-32768,   505,   972,-32768,   505,   505,    30,
   611,-32768,    62,   797,   973,   977,   982,    32,   993,   995,
   997,   999,  1000,  1011,  1024,   611,   611,   964,   522,   522,
  1438,   -27,   -27,   -27,   131,   112,-32768,   819,   898,   944,
   958,   966,   967,   968,   969,   970,   981,   983,   985,   960,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,   611,   611,   505,   611,  1025,   505,   892,   928,
   984,  1129,  1448,  1458,  1468,  1478,  1004,  1137,   611,   611,
   -27,  1138,  1139,  1008,  1153,  1156,   505,   505,  1160,   -27,
  1161,  1162,   505,   505,  1163,  1170,  1172,  1173,  1175,   505,
   333,   505,  1181,  1155,  1182,  1190,  1191,-32768,  1203,   449,
  1205,    23,  1206,   505,  1212,   505,  1213,  1215,   611,   878,
   185,-32768,-32768,   611,   505,   505,   505,-32768,   147,   505,
   505,   505,   505,   505,   505,   505,  1835,  1844,   611,-32768,
  1076,  1113,-32768,  1078,  1085,   174,   244,   255,   -27,  1233,
-32768,   638,   611,   611,   611,   611,   611,   611,   611,   611,
   611,   611,   611,   611,-32768,  1853,  1862,  1235,  1488,   -17,
  1159,  1241,  1241,  1241,   611,-32768,-32768,-32768,-32768,   611,
  1095,  1871,  1880,  1096,  1098,  1106,  1099,  1107,  1110,  1112,
  1124,  1125,  1126,  1130,  1127,  1134,  1146,  1154,  1164,  1165,
  1166,  1189,  1136,-32768,-32768,-32768,-32768,-32768,  1192,  1200,
  1208,  1216,  1219,  1152,  1220,-32768,  1226,-32768,-32768,   -27,
-32768,  1256,-32768,  1301,-32768,-32768,   349,  1889,  1307,  1308,
  1315,   611,   611,   611,  1317,  1351,  1358,  1362,  1373,  1375,
  1386,   611,   611,  1498,-32768,-32768,   522,   -27,  1388,   -27,
  1389,   -27,    11,  1242,-32768,  1392,  1898,  1907,  1916,  1925,
  1934,  1943,  1952,  1961,  1970,  1979,  1988,  1997,   611,   611,
-32768,  1240,   505,   505,  1229,   505,  1325,  1188,  1241,  1245,
  1267,   286,   460,  1419,   611,   505,  1404,  1421,  1425,  1287,
  1428,   333,  1429,  1434,   611,  1436,  1440,  1439,  1442,  1443,
   333,   611,   611,   611,   505,  1450,  1454,   333,   611,  1460,
  1461,  1467,   611,   449,  1470,-32768,-32768,   611,   611,-32768,
-32768,-32768,   119,   128,   135,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,  1508,   410,  1313,  1320,  1332,-32768,  1333,-32768,
  1335,-32768,    52,   611,-32768,   611,   611,   611,   611,   611,
   611,   611,   611,   611,   611,   611,   611,  1521,  1531,   -17,
   282,-32768,   -12,  1314,  1413,    10,-32768,-32768,-32768,-32768,
  1481,   460,  1342,  2006,  1345,-32768,  1352,-32768,  1353,-32768,
  1354,-32768,  1363,  1541,-32768,  1365,-32768,-32768,  1355,  1361,
  1551,  2015,  1561,  1368,-32768,  1372,  1376,  2024,  1383,  1385,
-32768,  2033,  1384,-32768,   878,  2042,-32768,-32768,-32768,-32768,
   611,-32768,   522,-32768,   611,   611,   611,  1491,  1364,   -40,
-32768,  1572,  2051,  2060,  2069,  2078,  2087,  2096,  2105,  2114,
  2123,  2132,  2141,  2150,  1520,  1537,  1462,   505,-32768,-32768,
   505,   611,  1542,   668,  1548,-32768,   100,  1549,   -17,   333,
  1544,   611,  1552,   333,  1558,  1554,  1559,  1562,  1568,   611,
  1569,   505,  1571,  1574,   611,  1564,  1579,   611,  1573,  1584,
   576,  1441,  1583,  1593,  1603,-32768,   505,  1582,-32768,  1590,
   611,   611,   611,   611,   611,   611,   611,   611,   611,   611,
   611,   611,   505,   505,  1445,-32768,  1455,   178,-32768,  1457,
  2159,-32768,   611,-32768,  1464,  1465,  1474,  2168,-32768,  1447,
-32768,  1453,-32768,-32768,-32768,  1613,-32768,  1475,-32768,-32768,
  1623,  1466,-32768,  1633,  1477,  1484,   611,-32768,-32768,  1632,
  1639,    12,  1495,-32768,-32768,  2177,  2186,  2195,  2204,  2213,
  2222,  2231,  2240,  2249,  1643,  1653,  1663,  1642,  1649,   505,
   505,-32768,   611,   611,   460,   333,   333,   333,   333,  1650,
  1652,  1655,   333,  1656,  1662,  1665,  1604,  1614,   670,-32768,
-32768,-32768,    52,   505,   611,   611,   611,   611,   611,   611,
   611,   611,   611,-32768,-32768,-32768,-32768,-32768,  1518,  1485,
   708,  2258,   460,  1527,  1528,  1497,  1507,-32768,-32768,-32768,
  1530,-32768,-32768,-32768,  1538,  1547,-32768,   -39,  1550,  2267,
  2276,  2285,  2294,  2303,  2312,  2321,  2330,  2339,  1476,  1519,
  1529,   505,  1608,  1686,   611,   220,   333,   333,  1696,  1702,
   333,  1694,  1704,  1705,   505,   611,   611,   611,   611,   611,
   611,   611,   611,   611,   611,   611,   611,  1560,  1566,-32768,
   613,   611,  1580,  1589,-32768,-32768,  1570,  1578,  1581,-32768,
  1587,  2348,  2357,  2366,  2375,  2384,  2393,  2402,  2411,  2420,
    50,   878,    63,   878,    64,   878,  1645,   611,   611,-32768,
   460,   333,   505,  1706,  1717,  1737,  1738,   611,   611,   611,
   611,   611,   611,   611,   611,   611,   611,  1744,   611,  1745,
   611,  1747,  1601,  2429,   722,   460,  1609,  1610,-32768,-32768,
-32768,-32768,  2438,  2447,  2456,  2465,  2474,  2483,  1673,  1683,
  1693,   878,-32768,   878,-32768,   878,-32768,   611,   611,-32768,
    43,   333,   505,   611,   611,   611,   611,   611,   611,-32768,
-32768,-32768,  2492,   735,  1624,  1612,  1619,  2501,  2510,  2519,
  2528,  2537,  2546,  1618,  1620,  1621,   611,  1774,-32768,   505,
   333,   611,   611,   611,   611,   611,   611,   611,   611,   611,
   784,-32768,  1630,  1631,  2555,  2564,  2573,  2582,  2591,  2600,
    99,   878,   140,   878,   166,   878,  1778,   505,  1784,   611,
   611,   611,   611,   611,   611,   611,  1785,   611,  1787,   611,
  1788,-32768,  1659,-32768,  2609,  2618,  2627,  1703,  1713,  1723,
   878,-32768,   878,-32768,   878,-32768,   505,   611,   611,   611,
-32768,-32768,-32768,  1660,  2636,  2645,  2654,  1647,  1648,  1651,
   505,   611,   611,   611,   611,   611,   611,  1669,  2663,  2672,
  2681,   182,   878,   184,   878,   208,   878,   333,   611,   611,
   611,   611,  1797,   611,  1807,   611,  1815,  1671,  1733,  1743,
  1753,   878,-32768,   878,-32768,   878,-32768,  1818,-32768,-32768,
-32768,-32768,  1661,  1677,  1678,   611,   611,   611,   216,   878,
   217,   878,   236,   878,   611,  1827,   611,  1828,   611,  1834,
   878,-32768,   878,-32768,   878,-32768,  1841,  1843,-32768
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1367,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1845,  1847,  -468,
   257,  1848,-32768,-32768,-32768,   847,  -857,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,  -591,-32768,-32768,  -711,    -7,
-32768,  1399,  -121,  -102,-32768,  -776,  1149,   463,-32768
#define	YYLAST		2832


static const short yytable[] = {    93,
   211,   584,   919,   133,   146,   252,   134,   135,   241,   242,
   243,   110,   257,   883,    95,   112,   782,  1012,   858,   858,
   821,   720,   721,   877,   859,   859,   175,   176,   659,   830,
   177,   143,    67,    68,   144,     7,   837,   568,    69,    70,
    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    81,    82,    83,    84,    85,    86,    87,    88,    89,   326,
   375,   376,   377,   660,   403,   121,   122,   563,   123,   102,
   282,   283,   175,   176,    96,  -222,   177,   569,  -222,    97,
  -222,   258,   170,   171,   172,   178,  -222,  -222,   364,   365,
   177,   282,   283,   175,   176,   253,    98,   177,   213,   214,
   215,   216,   455,   218,   111,   220,   221,   222,   113,   226,
   858,    99,   945,   918,  1074,   125,   859,   591,   126,   127,
   147,   128,   238,   136,   847,   239,   100,   808,   247,   378,
   367,   451,   713,   848,   452,   714,   103,   256,   878,   259,
   849,   880,   262,   263,   264,   265,   266,   267,   268,   269,
   270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   280,   281,   884,   783,  1013,   285,   286,   287,   288,   289,
   290,   104,    90,    91,   282,   283,   175,   176,   946,    92,
   177,  1185,   950,   992,   559,   282,   283,   175,   176,   106,
   919,   177,   450,   672,   673,   674,   282,   283,   175,   176,
  1137,   116,   177,  1138,   282,   283,   175,   176,   101,   330,
   177,   332,   105,  1139,  1141,   336,  1140,  1142,   776,   341,
   342,   343,   107,   345,   346,   347,   348,   349,   350,   351,
   352,   353,   468,   943,   434,   435,   358,   359,   360,   475,
   439,   440,   282,   283,   175,   176,   369,   370,   177,  1236,
   373,   108,  1237,   380,   282,   283,   175,   176,   444,   445,
   177,   282,   283,   175,   176,    -7,    -7,   177,    -7,   109,
   282,   283,   175,   176,   401,   402,   177,   282,   283,   175,
   176,   589,   590,   177,  1034,  1035,  1036,  1037,    67,    68,
  1238,  1041,   114,  1239,    69,    70,    71,    72,    73,    74,
    75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    85,    86,    87,    88,    89,   124,  1240,   115,   551,  1241,
   282,   283,   175,   176,   688,   689,   177,   282,   283,   175,
   176,   453,  1292,   177,  1294,  1293,   458,  1295,   282,   283,
   175,   176,    -1,     8,   177,     9,   117,   284,   118,   471,
   586,   587,   588,  1092,   119,  1093,  1094,   476,  1296,  1097,
   120,  1297,   282,   283,   175,   176,  1325,  1327,   177,  1326,
  1328,    -7,    -7,    -7,    -7,    -7,    -7,    -7,    -7,   282,
   283,   175,   176,   513,   912,   177,  1329,   129,   327,  1330,
   514,   515,   516,   248,   690,   691,   251,     1,     2,   624,
     3,   282,   283,   175,   176,   692,   693,   177,   633,   361,
  1147,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   487,   488,   489,   644,   645,   646,   647,   648,   173,   174,
   175,   176,   878,   879,   177,    92,   130,   131,   223,   132,
   138,   137,   560,   561,   139,   140,   141,   657,    10,    11,
    12,    13,    14,    15,    16,    17,   142,   145,   577,   578,
  1186,   148,    67,    68,   149,   150,   151,   694,    69,    70,
    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    81,    82,    83,    84,    85,    86,    87,    88,    89,  1214,
   152,   282,   283,   175,   176,   606,   607,   177,   609,   490,
   282,   283,   175,   176,   758,   153,   177,    67,    68,   328,
   154,   622,   623,    69,    70,    71,    72,    73,    74,    75,
    76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
    86,    87,    88,    89,  -221,   155,   156,  -221,   755,  -221,
   157,   282,   283,   175,   176,  -221,  -221,   177,   212,   177,
   329,   667,   282,   283,   175,   176,   668,   158,   177,   227,
   851,   159,   160,   852,   161,   162,   777,   163,   779,   164,
   781,   684,    39,    40,    41,    42,  1298,    44,   225,   165,
   231,   166,   167,   230,   168,   697,   698,   699,   700,   701,
   702,   703,   704,   705,   706,   707,   708,   169,   209,   217,
   219,   250,   173,   174,   175,   176,   228,   722,   177,    92,
   229,   232,   723,    67,    68,   233,   234,   235,   236,    69,
    70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   282,   283,   175,   176,   237,   244,   177,    90,    91,   331,
   245,   843,   246,   249,    92,   254,   255,   223,   261,   177,
   321,   291,   292,   293,   763,   764,   765,   294,   295,   296,
    67,   940,   297,   298,   773,   774,    69,    70,    71,    72,
    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    83,    84,    85,    86,    87,    88,    89,   299,   300,   301,
   302,   798,   799,   478,   479,   480,   481,   482,   483,   484,
   485,   486,   487,   488,   489,   812,   303,   814,   282,   283,
   175,   176,   304,   305,   177,   323,   967,   824,   306,   968,
   307,   308,   309,   310,   831,   832,   833,   282,   283,   175,
   176,   838,   311,   177,   325,   842,   312,   313,   459,   314,
   845,   846,   315,    90,    91,   282,   283,   175,   176,   316,
    92,   177,   339,  1119,   317,   318,  1120,   319,   282,   283,
   175,   176,   320,   324,   177,   344,   862,   333,   863,   864,
   865,   866,   867,   868,   869,   870,   871,   872,   873,   874,
   354,   696,   282,   283,   175,   176,   355,   356,   177,   282,