diff --git a/Common/Context.cpp b/Common/Context.cpp index 0cd885adeb28aa6de33740e489b9c7e69ed03630..023b6080a9a00f708db7e3811b5e3bcef147c09f 100644 --- a/Common/Context.cpp +++ b/Common/Context.cpp @@ -1,4 +1,4 @@ -/* $Id: Context.cpp,v 1.12 2000-12-05 18:38:08 geuzaine Exp $ */ +/* $Id: Context.cpp,v 1.13 2000-12-06 18:28:30 remacle Exp $ */ #include "Gmsh.h" #include "Const.h" @@ -292,8 +292,8 @@ void Init_Colors(int num){ void Init_Context(void){ - // Cannot be set by the user - CTX.interactive = 0 ; + // Cannot be set by the user + CTX.script = 0 ; CTX.expose = 0 ; CTX.db = 1 ; CTX.overlay = 1 ; diff --git a/Common/Context.h b/Common/Context.h index fa6a3372497752d15002bc2289f1a9e9ca948770..90b35a1e1cfb06f27c23a747e3b064414179ec3e 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -1,4 +1,4 @@ -/* $Id: Context.h,v 1.14 2000-12-05 20:02:12 geuzaine Exp $ */ +/* $Id: Context.h,v 1.15 2000-12-06 18:28:30 remacle Exp $ */ #ifndef _CONTEXT_H_ #define _CONTEXT_H_ @@ -55,6 +55,7 @@ typedef struct{ class Context_T { public : + int script; /* gmsh in script mode */ int interactive; /* 0=full gfx; -1=just parse; 1,2,3=batch mesh */ int verbosity; /* 0=silent -> 3=debug */ int expose; /* 1 if everything is ready to expose and draw */ diff --git a/Makefile b/Makefile index 1a507edd9a421875b6db491e1ddc93b5b099c605..971e86e023012f87add9d2253b26ced9f0f28145 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.11 2000-12-05 19:38:11 geuzaine Exp $ +# $Id: Makefile,v 1.12 2000-12-06 18:28:30 remacle Exp $ # ---------------------------------------------------------------------- # Makefile for Gmsh # ---------------------------------------------------------------------- @@ -21,7 +21,8 @@ MESA_STATIC_LIB = $(HOME)/SOURCES/Mesa-3.0-static/lib/libGLw.a\ $(HOME)/SOURCES/Mesa-3.0-static/lib/libGLU.a\ $(HOME)/SOURCES/Mesa-3.0-static/lib/libGL.a - MOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm + MOTIF_LIB = /usr/local/lib/libXm.so.2 +// MOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm X_LIB = -L/usr/X11R6/lib -lXt -lX11 -lXext THREAD_LIB = -L/usr/lib -lpthread diff --git a/Mesh/1D_Mesh.cpp b/Mesh/1D_Mesh.cpp index f24a89a487baadce7639294fb6ed8e1d6bd8f37b..02da012d3035335e44e14239d6d90a2aa5a652d5 100644 --- a/Mesh/1D_Mesh.cpp +++ b/Mesh/1D_Mesh.cpp @@ -1,4 +1,4 @@ -/* $Id: 1D_Mesh.cpp,v 1.8 2000-12-05 20:02:16 geuzaine Exp $ */ +/* $Id: 1D_Mesh.cpp,v 1.9 2000-12-06 18:28:30 remacle Exp $ */ #include "Gmsh.h" #include "Const.h" @@ -100,7 +100,7 @@ void Maillage_Curve (void *data, void *dummy){ Msg(STATUS, "Meshing Curve %d", c->Num); Points = List_Create (10, 10, sizeof (IntPoint)); - c->l = Integration (c->ubeg, c->uend, F_One, Points, 1.e-5); + c->l = Integration (c->ubeg, c->uend, F_One, Points, 1.e-4); List_Delete (Points); if (c->Method == TRANSFINI || !Extrude_Mesh (c)){ @@ -111,7 +111,7 @@ void Maillage_Curve (void *data, void *dummy){ } else{ Points = List_Create (10, 10, sizeof (IntPoint)); - a = Integration (c->ubeg, c->uend, F_Lc, Points, 1.e-5); + a = Integration (c->ubeg, c->uend, F_Lc, Points, 1.e-4); N = IMAX (2, (int) (a + 1.)); if (c->Typ == MSH_SEGM_CIRC || diff --git a/Mesh/2D_Mesh.cpp b/Mesh/2D_Mesh.cpp index 0544552ddba4fe37c91b437f307c5e832bd973cf..67bbc35783b9df143fe1ebccbadbf1757358f7c3 100644 --- a/Mesh/2D_Mesh.cpp +++ b/Mesh/2D_Mesh.cpp @@ -1,4 +1,4 @@ -/* $Id: 2D_Mesh.cpp,v 1.9 2000-11-28 17:18:33 geuzaine Exp $ */ +/* $Id: 2D_Mesh.cpp,v 1.10 2000-12-06 18:28:30 remacle Exp $ */ /* Maillage Delaunay d'une surface (Point insertion Technique) @@ -1081,8 +1081,10 @@ void Maillage_Surface (void *data, void *dum){ if (CTX.mesh.algo == DELAUNAY_OLDALGO) Maillage_Automatique_VieuxCode (s, THEM, ori); else - AlgorithmeMaillage2DAnisotropeModeJF (s); - + { + printf("coucou\n"); + AlgorithmeMaillage2DAnisotropeModeJF (s); + } if(CTX.mesh.nb_smoothing){ Msg(STATUS, "Mesh Smoothing"); tnxe = Tree_Create (sizeof (NXE), compareNXE); diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 18ff550fd74e1367546854424db5455719b6f5fe..43f24a5e775dba3d50cf6c80ca33d3856ae5d790 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.l,v 1.7 2000-12-05 15:23:57 geuzaine Exp $ */ +%{ /* $Id: Gmsh.l,v 1.8 2000-12-06 18:28:30 remacle Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -171,6 +171,11 @@ Volume return tVolume; With return tWith; +For return tFor; +EndFor return tEndFor; +Script return tScript; +Exit return tExit; +Merge return tMerge; SS return tScalarTetrahedron; VS return tVectorTetrahedron; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 7c918d1ca1ffccf03c29c462ffefc85490c7c35f..2e1e869e33bf5f6456b5a65fd9734ae22c3d0e79 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,155 +1,159 @@ /* A Bison parser, made from Gmsh.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tExp 265 -#define tLog 266 -#define tLog10 267 -#define tSqrt 268 -#define tSin 269 -#define tAsin 270 -#define tCos 271 -#define tAcos 272 -#define tTan 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 tPoint 285 -#define tCircle 286 -#define tEllipsis 287 -#define tLine 288 -#define tSurface 289 -#define tSpline 290 -#define tVolume 291 -#define tCharacteristic 292 -#define tLength 293 -#define tParametric 294 -#define tElliptic 295 -#define tPlane 296 -#define tRuled 297 -#define tTransfinite 298 -#define tComplex 299 -#define tPhysical 300 -#define tUsing 301 -#define tPower 302 -#define tBump 303 -#define tProgression 304 -#define tAssociation 305 -#define tRotate 306 -#define tTranslate 307 -#define tSymmetry 308 -#define tDilate 309 -#define tExtrude 310 -#define tDuplicata 311 -#define tLoop 312 -#define tInclude 313 -#define tRecombine 314 -#define tDelete 315 -#define tCoherence 316 -#define tView 317 -#define tOffset 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tOptions 340 -#define tGeneral 341 -#define tGeometry 342 -#define tMesh 343 -#define tPostProcessing 344 -#define tPrint 345 -#define tB_SPLINE_SURFACE_WITH_KNOTS 346 -#define tB_SPLINE_CURVE_WITH_KNOTS 347 -#define tCARTESIAN_POINT 348 -#define tTRUE 349 -#define tFALSE 350 -#define tUNSPECIFIED 351 -#define tU 352 -#define tV 353 -#define tEDGE_CURVE 354 -#define tVERTEX_POINT 355 -#define tORIENTED_EDGE 356 -#define tPLANE 357 -#define tFACE_OUTER_BOUND 358 -#define tEDGE_LOOP 359 -#define tADVANCED_FACE 360 -#define tVECTOR 361 -#define tDIRECTION 362 -#define tAXIS2_PLACEMENT_3D 363 -#define tISO 364 -#define tENDISO 365 -#define tENDSEC 366 -#define tDATA 367 -#define tHEADER 368 -#define tFILE_DESCRIPTION 369 -#define tFILE_SCHEMA 370 -#define tFILE_NAME 371 -#define tMANIFOLD_SOLID_BREP 372 -#define tCLOSED_SHELL 373 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 374 -#define tFACE_BOUND 375 -#define tCYLINDRICAL_SURFACE 376 -#define tCONICAL_SURFACE 377 -#define tCIRCLE 378 -#define tTRIMMED_CURVE 379 -#define tGEOMETRIC_SET 380 -#define tCOMPOSITE_CURVE_SEGMENT 381 -#define tCONTINUOUS 382 -#define tCOMPOSITE_CURVE 383 -#define tTOROIDAL_SURFACE 384 -#define tPRODUCT_DEFINITION 385 -#define tPRODUCT_DEFINITION_SHAPE 386 -#define tSHAPE_DEFINITION_REPRESENTATION 387 -#define tELLIPSE 388 -#define tTrimmed 389 -#define tSolid 390 -#define tEndSolid 391 -#define tVertex 392 -#define tFacet 393 -#define tNormal 394 -#define tOuter 395 -#define tLoopSTL 396 -#define tEndLoop 397 -#define tEndFacet 398 -#define UMINUS 399 +#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 tOptions 339 +#define tFor 340 +#define tEndFor 341 +#define tScript 342 +#define tExit 343 +#define tMerge 344 +#define tGeneral 345 +#define tGeometry 346 +#define tMesh 347 +#define tPostProcessing 348 +#define tPrint 349 +#define tB_SPLINE_SURFACE_WITH_KNOTS 350 +#define tB_SPLINE_CURVE_WITH_KNOTS 351 +#define tCARTESIAN_POINT 352 +#define tTRUE 353 +#define tFALSE 354 +#define tUNSPECIFIED 355 +#define tU 356 +#define tV 357 +#define tEDGE_CURVE 358 +#define tVERTEX_POINT 359 +#define tORIENTED_EDGE 360 +#define tPLANE 361 +#define tFACE_OUTER_BOUND 362 +#define tEDGE_LOOP 363 +#define tADVANCED_FACE 364 +#define tVECTOR 365 +#define tDIRECTION 366 +#define tAXIS2_PLACEMENT_3D 367 +#define tISO 368 +#define tENDISO 369 +#define tENDSEC 370 +#define tDATA 371 +#define tHEADER 372 +#define tFILE_DESCRIPTION 373 +#define tFILE_SCHEMA 374 +#define tFILE_NAME 375 +#define tMANIFOLD_SOLID_BREP 376 +#define tCLOSED_SHELL 377 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 378 +#define tFACE_BOUND 379 +#define tCYLINDRICAL_SURFACE 380 +#define tCONICAL_SURFACE 381 +#define tCIRCLE 382 +#define tTRIMMED_CURVE 383 +#define tGEOMETRIC_SET 384 +#define tCOMPOSITE_CURVE_SEGMENT 385 +#define tCONTINUOUS 386 +#define tCOMPOSITE_CURVE 387 +#define tTOROIDAL_SURFACE 388 +#define tPRODUCT_DEFINITION 389 +#define tPRODUCT_DEFINITION_SHAPE 390 +#define tSHAPE_DEFINITION_REPRESENTATION 391 +#define tELLIPSE 392 +#define tTrimmed 393 +#define tSolid 394 +#define tEndSolid 395 +#define tVertex 396 +#define tFacet 397 +#define tNormal 398 +#define tOuter 399 +#define tLoopSTL 400 +#define tEndLoop 401 +#define tEndFacet 402 +#define UMINUS 403 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.16 2000-12-05 19:19:54 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.17 2000-12-06 18:28:30 remacle Exp $ */ #include <stdarg.h> @@ -166,6 +170,7 @@ #include "Options.h" #include "Colors.h" #include "Parser.h" +#include "Main.h" #ifdef __DECCXX // bug in bison #include <alloca.h> @@ -180,12 +185,14 @@ extern char ThePathForIncludes[NAME_STR_L]; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; +static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; +static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; 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 int i,j,k,flag,RecursionLevel=0; +static int i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0; static double d; static ExtrudeParams extr; static StringXColor *ColorField ; @@ -195,7 +202,7 @@ static List_T *ListOfListOfDouble_L; void yyerror (char *s); void vyyerror (char *fmt, ...); -#line 48 "Gmsh.y" +#line 51 "Gmsh.y" typedef union { char *c; int i; @@ -214,26 +221,26 @@ typedef union { -#define YYFINAL 1402 +#define YYFINAL 1422 #define YYFLAG -32768 -#define YYNTBASE 160 +#define YYNTBASE 166 -#define YYTRANSLATE(x) ((unsigned)(x) <= 399 ? yytranslate[x] : 251) +#define YYTRANSLATE(x) ((unsigned)(x) <= 403 ? yytranslate[x] : 259) 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, 150, 2, 2, 153, - 155, 148, 146, 154, 147, 2, 149, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 144, - 2, 145, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 155, 2, 2, 158, + 160, 153, 151, 159, 152, 2, 154, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 163, 2, 149, + 2, 150, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 158, 2, 159, 152, 2, 2, 2, 2, 2, 2, + 164, 2, 165, 157, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 156, 2, 157, 2, 2, 2, 2, 2, + 2, 2, 161, 2, 162, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -246,21 +253,22 @@ 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, 1, 2, 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, 151 + 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, 156 }; #if YYDEBUG != 0 @@ -271,261 +279,266 @@ static const short yyprhs[] = { 0, 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, 521, 524, 531, 540, 541, 544, 547, - 550, 553, 556, 559, 562, 565, 568, 571, 574, 577, - 579, 583, 584, 598, 600, 604, 605, 619, 621, 625, - 626, 640, 642, 646, 647, 667, 669, 673, 674, 694, - 696, 700, 701, 721, 723, 727, 728, 754, 756, 760, - 761, 787, 789, 793, 794, 820, 822, 826, 827, 859, - 861, 865, 866, 898, 900, 904, 905, 937, 942, 950, - 959, 972, 979, 985, 993, 1001, 1014, 1022, 1032, 1050, - 1058, 1067, 1076, 1084, 1096, 1102, 1111, 1121, 1130, 1153, - 1174, 1183, 1192, 1198, 1207, 1215, 1224, 1230, 1242, 1248, - 1258, 1260, 1262, 1264, 1265, 1268, 1273, 1278, 1282, 1291, - 1304, 1313, 1326, 1335, 1348, 1360, 1376, 1378, 1381, 1391, - 1394, 1401, 1411, 1421, 1430, 1439, 1448, 1455, 1460, 1463, - 1464, 1467, 1472, 1477, 1482, 1487, 1492, 1493, 1496, 1501, - 1506, 1511, 1512, 1518, 1519, 1522, 1527, 1532, 1537, 1538, - 1544, 1545, 1548, 1553, 1558, 1563, 1564, 1570, 1571, 1574, - 1579, 1584, 1589, 1590, 1596, 1597, 1600, 1605, 1610, 1615, - 1616, 1622, 1623, 1626, 1631, 1640, 1645, 1655, 1663, 1665, - 1667, 1669, 1671, 1673, 1675, 1679, 1683, 1687, 1691, 1695, - 1699, 1702, 1705, 1710, 1715, 1720, 1725, 1730, 1735, 1740, - 1745, 1750, 1755, 1762, 1767, 1772, 1777, 1782, 1787, 1792, - 1799, 1806, 1813, 1815, 1817, 1819, 1823, 1830, 1842, 1852, - 1860, 1868, 1869, 1873, 1875, 1879, 1880, 1884, 1888, 1890, - 1894, 1895, 1897, 1901, 1903, 1905, 1909 + 512, 514, 516, 518, 520, 525, 528, 535, 544, 545, + 548, 551, 554, 557, 560, 563, 566, 569, 572, 575, + 578, 581, 583, 587, 588, 602, 604, 608, 609, 623, + 625, 629, 630, 644, 646, 650, 651, 671, 673, 677, + 678, 698, 700, 704, 705, 725, 727, 731, 732, 758, + 760, 764, 765, 791, 793, 797, 798, 824, 826, 830, + 831, 863, 865, 869, 870, 902, 904, 908, 909, 941, + 946, 954, 963, 976, 983, 989, 997, 1005, 1018, 1026, + 1036, 1054, 1062, 1071, 1080, 1088, 1100, 1106, 1115, 1125, + 1134, 1157, 1178, 1187, 1196, 1202, 1211, 1219, 1228, 1234, + 1246, 1252, 1262, 1264, 1266, 1268, 1269, 1272, 1277, 1282, + 1286, 1290, 1293, 1297, 1304, 1313, 1315, 1324, 1337, 1346, + 1359, 1368, 1381, 1393, 1409, 1411, 1414, 1424, 1427, 1434, + 1444, 1454, 1463, 1472, 1481, 1488, 1493, 1496, 1497, 1500, + 1505, 1510, 1515, 1520, 1525, 1526, 1529, 1534, 1539, 1544, + 1545, 1551, 1552, 1555, 1560, 1565, 1570, 1571, 1577, 1578, + 1581, 1586, 1591, 1596, 1597, 1603, 1604, 1607, 1612, 1617, + 1622, 1623, 1629, 1630, 1633, 1638, 1643, 1648, 1649, 1655, + 1656, 1659, 1664, 1673, 1678, 1688, 1696, 1698, 1700, 1702, + 1704, 1706, 1708, 1712, 1716, 1720, 1724, 1728, 1732, 1735, + 1738, 1743, 1748, 1753, 1758, 1763, 1768, 1773, 1778, 1783, + 1788, 1795, 1800, 1805, 1810, 1815, 1820, 1825, 1832, 1839, + 1846, 1848, 1850, 1852, 1856, 1863, 1875, 1885, 1893, 1901, + 1902, 1906, 1908, 1912, 1913, 1917, 1921, 1923, 1927, 1928, + 1930, 1934, 1936, 1938, 1942 }; -static const short yyrhs[] = { 162, - 0, 161, 0, 167, 0, 135, 0, 138, 139, 241, - 241, 241, 140, 141, 137, 241, 241, 241, 137, 241, - 241, 241, 137, 241, 241, 241, 142, 143, 0, 136, - 0, 0, 162, 163, 0, 164, 0, 166, 0, 165, - 0, 1, 6, 0, 109, 6, 0, 110, 6, 0, - 112, 6, 0, 111, 6, 0, 113, 6, 0, 114, - 153, 245, 154, 5, 155, 6, 0, 115, 153, 245, - 155, 6, 0, 116, 153, 5, 154, 5, 154, 245, - 154, 245, 154, 5, 154, 5, 154, 5, 155, 6, - 0, 3, 7, 93, 153, 5, 154, 244, 155, 6, - 0, 3, 7, 92, 153, 5, 154, 241, 154, 249, - 154, 240, 154, 240, 154, 240, 154, 249, 154, 249, - 154, 240, 155, 6, 0, 3, 7, 91, 153, 5, - 154, 241, 154, 241, 154, 247, 154, 240, 154, 240, - 154, 240, 154, 240, 154, 249, 154, 249, 154, 249, - 154, 249, 154, 240, 155, 6, 0, 3, 7, 99, - 153, 5, 154, 3, 154, 3, 154, 3, 154, 240, - 155, 6, 0, 3, 7, 103, 153, 5, 154, 3, - 154, 240, 155, 6, 0, 3, 7, 120, 153, 5, - 154, 3, 154, 240, 155, 6, 0, 3, 7, 101, - 153, 5, 154, 148, 154, 148, 154, 241, 154, 240, - 155, 6, 0, 3, 7, 104, 153, 5, 154, 249, - 155, 6, 0, 3, 7, 105, 153, 5, 154, 249, - 154, 3, 154, 240, 155, 6, 0, 3, 7, 100, - 153, 5, 154, 3, 155, 6, 0, 3, 7, 106, - 153, 5, 154, 3, 154, 241, 155, 6, 0, 3, - 7, 108, 153, 5, 154, 3, 154, 3, 154, 3, - 155, 6, 0, 3, 7, 107, 153, 5, 154, 244, - 155, 6, 0, 3, 7, 102, 153, 5, 154, 3, - 155, 6, 0, 3, 7, 33, 153, 5, 154, 3, - 154, 3, 155, 6, 0, 3, 7, 118, 153, 5, - 154, 249, 155, 6, 0, 3, 7, 119, 153, 5, - 154, 249, 154, 3, 155, 6, 0, 3, 7, 117, - 153, 5, 154, 3, 155, 6, 0, 3, 7, 121, - 153, 5, 154, 3, 154, 241, 155, 6, 0, 3, - 7, 122, 153, 5, 154, 3, 154, 241, 154, 241, - 155, 6, 0, 3, 7, 129, 153, 5, 154, 3, - 154, 241, 154, 241, 155, 6, 0, 3, 7, 123, - 153, 5, 154, 3, 154, 241, 155, 6, 0, 3, - 7, 133, 153, 5, 154, 3, 154, 241, 154, 241, - 155, 6, 0, 3, 7, 124, 153, 5, 154, 3, - 154, 249, 154, 249, 154, 240, 154, 240, 155, 6, - 0, 3, 7, 125, 153, 5, 154, 249, 155, 6, - 0, 3, 7, 126, 153, 127, 154, 240, 154, 3, - 155, 6, 0, 3, 7, 128, 153, 5, 154, 249, - 154, 240, 155, 6, 0, 3, 7, 130, 153, 5, - 154, 5, 154, 3, 154, 3, 155, 6, 0, 3, - 7, 131, 153, 5, 154, 5, 154, 3, 155, 6, - 0, 3, 7, 132, 153, 3, 154, 3, 155, 6, - 0, 0, 167, 168, 0, 169, 0, 207, 0, 208, - 0, 209, 0, 212, 0, 213, 0, 215, 0, 218, - 0, 219, 0, 214, 0, 85, 156, 220, 157, 0, - 1, 6, 0, 62, 5, 156, 170, 157, 6, 0, - 62, 5, 63, 244, 156, 170, 157, 6, 0, 0, - 170, 172, 0, 170, 175, 0, 170, 178, 0, 170, - 181, 0, 170, 184, 0, 170, 187, 0, 170, 190, - 0, 170, 193, 0, 170, 196, 0, 170, 199, 0, - 170, 202, 0, 170, 205, 0, 241, 0, 171, 154, - 241, 0, 0, 75, 153, 241, 154, 241, 154, 241, - 155, 173, 156, 171, 157, 6, 0, 241, 0, 174, - 154, 241, 0, 0, 76, 153, 241, 154, 241, 154, - 241, 155, 176, 156, 174, 157, 6, 0, 241, 0, - 177, 154, 241, 0, 0, 77, 153, 241, 154, 241, - 154, 241, 155, 179, 156, 177, 157, 6, 0, 241, - 0, 180, 154, 241, 0, 0, 72, 153, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 155, - 182, 156, 180, 157, 6, 0, 241, 0, 183, 154, - 241, 0, 0, 73, 153, 241, 154, 241, 154, 241, - 154, 241, 154, 241, 154, 241, 155, 185, 156, 183, - 157, 6, 0, 241, 0, 186, 154, 241, 0, 0, - 74, 153, 241, 154, 241, 154, 241, 154, 241, 154, - 241, 154, 241, 155, 188, 156, 186, 157, 6, 0, - 241, 0, 189, 154, 241, 0, 0, 69, 153, 241, - 154, 241, 154, 241, 154, 241, 154, 241, 154, 241, - 154, 241, 154, 241, 154, 241, 155, 191, 156, 189, - 157, 6, 0, 241, 0, 192, 154, 241, 0, 0, - 70, 153, 241, 154, 241, 154, 241, 154, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 155, - 194, 156, 192, 157, 6, 0, 241, 0, 195, 154, - 241, 0, 0, 71, 153, 241, 154, 241, 154, 241, - 154, 241, 154, 241, 154, 241, 154, 241, 154, 241, - 154, 241, 155, 197, 156, 195, 157, 6, 0, 241, - 0, 198, 154, 241, 0, 0, 66, 153, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 154, - 241, 155, 200, 156, 198, 157, 6, 0, 241, 0, - 201, 154, 241, 0, 0, 67, 153, 241, 154, 241, - 154, 241, 154, 241, 154, 241, 154, 241, 154, 241, - 154, 241, 154, 241, 154, 241, 154, 241, 154, 241, - 155, 203, 156, 201, 157, 6, 0, 241, 0, 204, - 154, 241, 0, 0, 68, 153, 241, 154, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 154, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 155, - 206, 156, 204, 157, 6, 0, 4, 7, 241, 6, - 0, 30, 153, 241, 155, 7, 244, 6, 0, 45, - 30, 153, 241, 155, 7, 249, 6, 0, 64, 30, - 249, 7, 156, 241, 154, 241, 154, 241, 157, 6, - 0, 37, 38, 249, 7, 241, 6, 0, 30, 156, - 241, 157, 6, 0, 33, 153, 241, 155, 7, 249, - 6, 0, 35, 153, 241, 155, 7, 249, 6, 0, - 64, 33, 249, 7, 156, 241, 154, 241, 154, 241, - 157, 6, 0, 31, 153, 241, 155, 7, 249, 6, - 0, 31, 153, 241, 155, 7, 249, 41, 244, 6, - 0, 39, 153, 241, 155, 7, 156, 241, 154, 241, - 154, 5, 154, 5, 154, 5, 157, 6, 0, 32, - 153, 241, 155, 7, 249, 6, 0, 45, 33, 153, - 241, 155, 7, 249, 6, 0, 33, 57, 153, 241, - 155, 7, 249, 6, 0, 78, 153, 241, 155, 7, - 249, 6, 0, 79, 153, 241, 155, 7, 249, 83, - 249, 80, 241, 6, 0, 33, 156, 241, 157, 6, - 0, 41, 34, 153, 241, 155, 7, 249, 6, 0, - 134, 34, 153, 241, 155, 7, 241, 249, 6, 0, - 42, 34, 153, 241, 155, 7, 249, 6, 0, 79, - 34, 81, 82, 153, 241, 155, 7, 247, 83, 156, - 249, 154, 249, 157, 80, 156, 241, 154, 241, 157, - 6, 0, 79, 34, 153, 241, 155, 7, 247, 83, - 156, 249, 154, 249, 157, 80, 156, 241, 154, 241, - 157, 6, 0, 45, 34, 153, 241, 155, 7, 249, - 6, 0, 34, 57, 153, 241, 155, 7, 249, 6, - 0, 34, 156, 241, 157, 6, 0, 44, 36, 153, - 241, 155, 7, 249, 6, 0, 36, 153, 241, 155, - 7, 249, 6, 0, 45, 36, 153, 241, 155, 7, - 249, 6, 0, 52, 244, 156, 210, 157, 0, 51, - 156, 244, 154, 244, 154, 241, 157, 156, 210, 157, - 0, 53, 244, 156, 210, 157, 0, 54, 156, 244, - 154, 241, 157, 156, 210, 157, 0, 212, 0, 211, - 0, 209, 0, 0, 211, 208, 0, 56, 156, 211, - 157, 0, 60, 156, 211, 157, 0, 58, 5, 6, - 0, 55, 30, 156, 241, 154, 244, 157, 6, 0, - 55, 30, 156, 241, 154, 244, 154, 244, 154, 241, - 157, 6, 0, 55, 33, 156, 241, 154, 244, 157, - 6, 0, 55, 33, 156, 241, 154, 244, 154, 244, - 154, 241, 157, 6, 0, 55, 34, 156, 241, 154, - 244, 157, 6, 0, 55, 34, 156, 241, 154, 244, - 154, 244, 154, 241, 157, 6, 0, 55, 34, 156, - 241, 154, 244, 157, 156, 216, 157, 6, 0, 55, - 34, 156, 241, 154, 244, 154, 244, 154, 241, 157, - 156, 216, 157, 6, 0, 217, 0, 216, 217, 0, - 65, 156, 249, 154, 249, 154, 249, 157, 6, 0, - 59, 6, 0, 43, 33, 249, 7, 241, 6, 0, - 43, 33, 249, 7, 241, 46, 49, 241, 6, 0, - 43, 33, 249, 7, 241, 46, 48, 241, 6, 0, - 43, 34, 156, 241, 157, 7, 249, 6, 0, 40, - 34, 156, 241, 157, 7, 249, 6, 0, 43, 36, - 156, 241, 157, 7, 249, 6, 0, 59, 34, 249, - 7, 241, 6, 0, 59, 34, 249, 6, 0, 61, - 6, 0, 0, 220, 221, 0, 86, 156, 222, 157, - 0, 87, 156, 225, 157, 0, 88, 156, 228, 157, - 0, 89, 156, 231, 157, 0, 90, 156, 234, 157, - 0, 0, 222, 223, 0, 4, 7, 5, 6, 0, - 4, 7, 241, 6, 0, 4, 7, 244, 6, 0, - 0, 84, 224, 156, 237, 157, 0, 0, 225, 226, - 0, 4, 7, 5, 6, 0, 4, 7, 241, 6, - 0, 4, 7, 244, 6, 0, 0, 84, 227, 156, - 237, 157, 0, 0, 228, 229, 0, 4, 7, 5, - 6, 0, 4, 7, 241, 6, 0, 4, 7, 244, - 6, 0, 0, 84, 230, 156, 237, 157, 0, 0, - 231, 232, 0, 4, 7, 5, 6, 0, 4, 7, - 241, 6, 0, 4, 7, 244, 6, 0, 0, 84, - 233, 156, 237, 157, 0, 0, 234, 235, 0, 4, - 7, 5, 6, 0, 4, 7, 241, 6, 0, 4, - 7, 244, 6, 0, 0, 84, 236, 156, 237, 157, - 0, 0, 238, 237, 0, 4, 7, 4, 6, 0, - 4, 7, 156, 4, 154, 241, 157, 6, 0, 4, - 7, 239, 6, 0, 156, 241, 154, 241, 154, 241, - 154, 241, 157, 0, 156, 241, 154, 241, 154, 241, - 157, 0, 94, 0, 95, 0, 96, 0, 97, 0, - 98, 0, 242, 0, 153, 241, 155, 0, 241, 147, - 241, 0, 241, 146, 241, 0, 241, 148, 241, 0, - 241, 149, 241, 0, 241, 152, 241, 0, 147, 241, - 0, 146, 241, 0, 10, 153, 241, 155, 0, 11, - 153, 241, 155, 0, 12, 153, 241, 155, 0, 13, - 153, 241, 155, 0, 14, 153, 241, 155, 0, 15, - 153, 241, 155, 0, 16, 153, 241, 155, 0, 17, - 153, 241, 155, 0, 18, 153, 241, 155, 0, 19, - 153, 241, 155, 0, 20, 153, 241, 154, 241, 155, - 0, 21, 153, 241, 155, 0, 22, 153, 241, 155, - 0, 23, 153, 241, 155, 0, 24, 153, 241, 155, - 0, 25, 153, 241, 155, 0, 26, 153, 241, 155, - 0, 27, 153, 241, 154, 241, 155, 0, 28, 153, - 241, 154, 241, 155, 0, 29, 153, 241, 154, 241, - 155, 0, 3, 0, 9, 0, 4, 0, 241, 8, - 241, 0, 241, 8, 158, 241, 159, 241, 0, 156, - 241, 154, 241, 154, 241, 154, 241, 154, 241, 157, - 0, 156, 241, 154, 241, 154, 241, 154, 241, 157, - 0, 156, 241, 154, 241, 154, 241, 157, 0, 153, - 241, 154, 241, 154, 241, 155, 0, 0, 153, 246, - 155, 0, 5, 0, 246, 154, 5, 0, 0, 156, - 248, 157, 0, 153, 248, 155, 0, 249, 0, 248, - 154, 249, 0, 0, 241, 0, 156, 250, 157, 0, - 241, 0, 243, 0, 250, 154, 241, 0, 250, 154, - 243, 0 +static const short yyrhs[] = { 168, + 0, 167, 0, 173, 0, 140, 0, 143, 144, 249, + 249, 249, 145, 146, 142, 249, 249, 249, 142, 249, + 249, 249, 142, 249, 249, 249, 147, 148, 0, 141, + 0, 0, 168, 169, 0, 170, 0, 172, 0, 171, + 0, 1, 6, 0, 114, 6, 0, 115, 6, 0, + 117, 6, 0, 116, 6, 0, 118, 6, 0, 119, + 158, 253, 159, 5, 160, 6, 0, 120, 158, 253, + 160, 6, 0, 121, 158, 5, 159, 5, 159, 253, + 159, 253, 159, 5, 159, 5, 159, 5, 160, 6, + 0, 3, 7, 98, 158, 5, 159, 252, 160, 6, + 0, 3, 7, 97, 158, 5, 159, 249, 159, 257, + 159, 248, 159, 248, 159, 248, 159, 257, 159, 257, + 159, 248, 160, 6, 0, 3, 7, 96, 158, 5, + 159, 249, 159, 249, 159, 255, 159, 248, 159, 248, + 159, 248, 159, 248, 159, 257, 159, 257, 159, 257, + 159, 257, 159, 248, 160, 6, 0, 3, 7, 104, + 158, 5, 159, 3, 159, 3, 159, 3, 159, 248, + 160, 6, 0, 3, 7, 108, 158, 5, 159, 3, + 159, 248, 160, 6, 0, 3, 7, 125, 158, 5, + 159, 3, 159, 248, 160, 6, 0, 3, 7, 106, + 158, 5, 159, 153, 159, 153, 159, 249, 159, 248, + 160, 6, 0, 3, 7, 109, 158, 5, 159, 257, + 160, 6, 0, 3, 7, 110, 158, 5, 159, 257, + 159, 3, 159, 248, 160, 6, 0, 3, 7, 105, + 158, 5, 159, 3, 160, 6, 0, 3, 7, 111, + 158, 5, 159, 3, 159, 249, 160, 6, 0, 3, + 7, 113, 158, 5, 159, 3, 159, 3, 159, 3, + 160, 6, 0, 3, 7, 112, 158, 5, 159, 252, + 160, 6, 0, 3, 7, 107, 158, 5, 159, 3, + 160, 6, 0, 3, 7, 33, 158, 5, 159, 3, + 159, 3, 160, 6, 0, 3, 7, 123, 158, 5, + 159, 257, 160, 6, 0, 3, 7, 124, 158, 5, + 159, 257, 159, 3, 160, 6, 0, 3, 7, 122, + 158, 5, 159, 3, 160, 6, 0, 3, 7, 126, + 158, 5, 159, 3, 159, 249, 160, 6, 0, 3, + 7, 127, 158, 5, 159, 3, 159, 249, 159, 249, + 160, 6, 0, 3, 7, 134, 158, 5, 159, 3, + 159, 249, 159, 249, 160, 6, 0, 3, 7, 128, + 158, 5, 159, 3, 159, 249, 160, 6, 0, 3, + 7, 138, 158, 5, 159, 3, 159, 249, 159, 249, + 160, 6, 0, 3, 7, 129, 158, 5, 159, 3, + 159, 257, 159, 257, 159, 248, 159, 248, 160, 6, + 0, 3, 7, 130, 158, 5, 159, 257, 160, 6, + 0, 3, 7, 131, 158, 132, 159, 248, 159, 3, + 160, 6, 0, 3, 7, 133, 158, 5, 159, 257, + 159, 248, 160, 6, 0, 3, 7, 135, 158, 5, + 159, 5, 159, 3, 159, 3, 160, 6, 0, 3, + 7, 136, 158, 5, 159, 5, 159, 3, 160, 6, + 0, 3, 7, 137, 158, 3, 159, 3, 160, 6, + 0, 0, 173, 174, 0, 175, 0, 213, 0, 214, + 0, 215, 0, 218, 0, 219, 0, 223, 0, 226, + 0, 227, 0, 220, 0, 222, 0, 221, 0, 85, + 161, 228, 162, 0, 1, 6, 0, 62, 5, 161, + 176, 162, 6, 0, 62, 5, 63, 252, 161, 176, + 162, 6, 0, 0, 176, 178, 0, 176, 181, 0, + 176, 184, 0, 176, 187, 0, 176, 190, 0, 176, + 193, 0, 176, 196, 0, 176, 199, 0, 176, 202, + 0, 176, 205, 0, 176, 208, 0, 176, 211, 0, + 249, 0, 177, 159, 249, 0, 0, 75, 158, 249, + 159, 249, 159, 249, 160, 179, 161, 177, 162, 6, + 0, 249, 0, 180, 159, 249, 0, 0, 76, 158, + 249, 159, 249, 159, 249, 160, 182, 161, 180, 162, + 6, 0, 249, 0, 183, 159, 249, 0, 0, 77, + 158, 249, 159, 249, 159, 249, 160, 185, 161, 183, + 162, 6, 0, 249, 0, 186, 159, 249, 0, 0, + 72, 158, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 160, 188, 161, 186, 162, 6, 0, + 249, 0, 189, 159, 249, 0, 0, 73, 158, 249, + 159, 249, 159, 249, 159, 249, 159, 249, 159, 249, + 160, 191, 161, 189, 162, 6, 0, 249, 0, 192, + 159, 249, 0, 0, 74, 158, 249, 159, 249, 159, + 249, 159, 249, 159, 249, 159, 249, 160, 194, 161, + 192, 162, 6, 0, 249, 0, 195, 159, 249, 0, + 0, 69, 158, 249, 159, 249, 159, 249, 159, 249, + 159, 249, 159, 249, 159, 249, 159, 249, 159, 249, + 160, 197, 161, 195, 162, 6, 0, 249, 0, 198, + 159, 249, 0, 0, 70, 158, 249, 159, 249, 159, + 249, 159, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 160, 200, 161, 198, 162, 6, 0, + 249, 0, 201, 159, 249, 0, 0, 71, 158, 249, + 159, 249, 159, 249, 159, 249, 159, 249, 159, 249, + 159, 249, 159, 249, 159, 249, 160, 203, 161, 201, + 162, 6, 0, 249, 0, 204, 159, 249, 0, 0, + 66, 158, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 159, 249, 160, 206, 161, 204, 162, + 6, 0, 249, 0, 207, 159, 249, 0, 0, 67, + 158, 249, 159, 249, 159, 249, 159, 249, 159, 249, + 159, 249, 159, 249, 159, 249, 159, 249, 159, 249, + 159, 249, 159, 249, 160, 209, 161, 207, 162, 6, + 0, 249, 0, 210, 159, 249, 0, 0, 68, 158, + 249, 159, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 159, 249, 159, 249, 159, 249, 159, + 249, 159, 249, 160, 212, 161, 210, 162, 6, 0, + 4, 7, 249, 6, 0, 30, 158, 249, 160, 7, + 252, 6, 0, 45, 30, 158, 249, 160, 7, 257, + 6, 0, 64, 30, 257, 7, 161, 249, 159, 249, + 159, 249, 162, 6, 0, 37, 38, 257, 7, 249, + 6, 0, 30, 161, 249, 162, 6, 0, 33, 158, + 249, 160, 7, 257, 6, 0, 35, 158, 249, 160, + 7, 257, 6, 0, 64, 33, 257, 7, 161, 249, + 159, 249, 159, 249, 162, 6, 0, 31, 158, 249, + 160, 7, 257, 6, 0, 31, 158, 249, 160, 7, + 257, 41, 252, 6, 0, 39, 158, 249, 160, 7, + 161, 249, 159, 249, 159, 5, 159, 5, 159, 5, + 162, 6, 0, 32, 158, 249, 160, 7, 257, 6, + 0, 45, 33, 158, 249, 160, 7, 257, 6, 0, + 33, 57, 158, 249, 160, 7, 257, 6, 0, 78, + 158, 249, 160, 7, 257, 6, 0, 79, 158, 249, + 160, 7, 257, 83, 257, 80, 249, 6, 0, 33, + 161, 249, 162, 6, 0, 41, 34, 158, 249, 160, + 7, 257, 6, 0, 139, 34, 158, 249, 160, 7, + 249, 257, 6, 0, 42, 34, 158, 249, 160, 7, + 257, 6, 0, 79, 34, 81, 82, 158, 249, 160, + 7, 255, 83, 161, 257, 159, 257, 162, 80, 161, + 249, 159, 249, 162, 6, 0, 79, 34, 158, 249, + 160, 7, 255, 83, 161, 257, 159, 257, 162, 80, + 161, 249, 159, 249, 162, 6, 0, 45, 34, 158, + 249, 160, 7, 257, 6, 0, 34, 57, 158, 249, + 160, 7, 257, 6, 0, 34, 161, 249, 162, 6, + 0, 44, 36, 158, 249, 160, 7, 257, 6, 0, + 36, 158, 249, 160, 7, 257, 6, 0, 45, 36, + 158, 249, 160, 7, 257, 6, 0, 52, 252, 161, + 216, 162, 0, 51, 161, 252, 159, 252, 159, 249, + 162, 161, 216, 162, 0, 53, 252, 161, 216, 162, + 0, 54, 161, 252, 159, 249, 162, 161, 216, 162, + 0, 218, 0, 217, 0, 215, 0, 0, 217, 214, + 0, 56, 161, 217, 162, 0, 60, 161, 217, 162, + 0, 58, 5, 6, 0, 95, 5, 6, 0, 89, + 6, 0, 90, 5, 6, 0, 86, 158, 249, 163, + 249, 160, 0, 86, 158, 249, 163, 249, 163, 249, + 160, 0, 87, 0, 55, 30, 161, 249, 159, 252, + 162, 6, 0, 55, 30, 161, 249, 159, 252, 159, + 252, 159, 249, 162, 6, 0, 55, 33, 161, 249, + 159, 252, 162, 6, 0, 55, 33, 161, 249, 159, + 252, 159, 252, 159, 249, 162, 6, 0, 55, 34, + 161, 249, 159, 252, 162, 6, 0, 55, 34, 161, + 249, 159, 252, 159, 252, 159, 249, 162, 6, 0, + 55, 34, 161, 249, 159, 252, 162, 161, 224, 162, + 6, 0, 55, 34, 161, 249, 159, 252, 159, 252, + 159, 249, 162, 161, 224, 162, 6, 0, 225, 0, + 224, 225, 0, 65, 161, 257, 159, 257, 159, 257, + 162, 6, 0, 59, 6, 0, 43, 33, 257, 7, + 249, 6, 0, 43, 33, 257, 7, 249, 46, 49, + 249, 6, 0, 43, 33, 257, 7, 249, 46, 48, + 249, 6, 0, 43, 34, 161, 249, 162, 7, 257, + 6, 0, 40, 34, 161, 249, 162, 7, 257, 6, + 0, 43, 36, 161, 249, 162, 7, 257, 6, 0, + 59, 34, 257, 7, 249, 6, 0, 59, 34, 257, + 6, 0, 61, 6, 0, 0, 228, 229, 0, 91, + 161, 230, 162, 0, 92, 161, 233, 162, 0, 93, + 161, 236, 162, 0, 94, 161, 239, 162, 0, 95, + 161, 242, 162, 0, 0, 230, 231, 0, 4, 7, + 5, 6, 0, 4, 7, 249, 6, 0, 4, 7, + 252, 6, 0, 0, 84, 232, 161, 245, 162, 0, + 0, 233, 234, 0, 4, 7, 5, 6, 0, 4, + 7, 249, 6, 0, 4, 7, 252, 6, 0, 0, + 84, 235, 161, 245, 162, 0, 0, 236, 237, 0, + 4, 7, 5, 6, 0, 4, 7, 249, 6, 0, + 4, 7, 252, 6, 0, 0, 84, 238, 161, 245, + 162, 0, 0, 239, 240, 0, 4, 7, 5, 6, + 0, 4, 7, 249, 6, 0, 4, 7, 252, 6, + 0, 0, 84, 241, 161, 245, 162, 0, 0, 242, + 243, 0, 4, 7, 5, 6, 0, 4, 7, 249, + 6, 0, 4, 7, 252, 6, 0, 0, 84, 244, + 161, 245, 162, 0, 0, 246, 245, 0, 4, 7, + 4, 6, 0, 4, 7, 161, 4, 159, 249, 162, + 6, 0, 4, 7, 247, 6, 0, 161, 249, 159, + 249, 159, 249, 159, 249, 162, 0, 161, 249, 159, + 249, 159, 249, 162, 0, 99, 0, 100, 0, 101, + 0, 102, 0, 103, 0, 250, 0, 158, 249, 160, + 0, 249, 152, 249, 0, 249, 151, 249, 0, 249, + 153, 249, 0, 249, 154, 249, 0, 249, 157, 249, + 0, 152, 249, 0, 151, 249, 0, 10, 158, 249, + 160, 0, 11, 158, 249, 160, 0, 12, 158, 249, + 160, 0, 13, 158, 249, 160, 0, 14, 158, 249, + 160, 0, 15, 158, 249, 160, 0, 16, 158, 249, + 160, 0, 17, 158, 249, 160, 0, 18, 158, 249, + 160, 0, 19, 158, 249, 160, 0, 20, 158, 249, + 159, 249, 160, 0, 21, 158, 249, 160, 0, 22, + 158, 249, 160, 0, 23, 158, 249, 160, 0, 24, + 158, 249, 160, 0, 25, 158, 249, 160, 0, 26, + 158, 249, 160, 0, 27, 158, 249, 159, 249, 160, + 0, 28, 158, 249, 159, 249, 160, 0, 29, 158, + 249, 159, 249, 160, 0, 3, 0, 9, 0, 4, + 0, 249, 8, 249, 0, 249, 8, 164, 249, 165, + 249, 0, 161, 249, 159, 249, 159, 249, 159, 249, + 159, 249, 162, 0, 161, 249, 159, 249, 159, 249, + 159, 249, 162, 0, 161, 249, 159, 249, 159, 249, + 162, 0, 158, 249, 159, 249, 159, 249, 160, 0, + 0, 158, 254, 160, 0, 5, 0, 254, 159, 5, + 0, 0, 161, 256, 162, 0, 158, 256, 160, 0, + 257, 0, 256, 159, 257, 0, 0, 249, 0, 161, + 258, 162, 0, 249, 0, 251, 0, 258, 159, 249, + 0, 258, 159, 251, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 110, 112, 113, 120, 128, 142, 154, 156, 159, 161, - 162, 163, 166, 172, 177, 178, 179, 182, 186, 189, - 195, 200, 206, 214, 219, 223, 229, 234, 238, 243, - 247, 250, 255, 259, 263, 267, 272, 276, 279, 283, - 287, 291, 295, 299, 303, 306, 310, 313, 317, 320, - 329, 331, 337, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 356, 361, 367, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 386, - 389, 393, 399, 405, 408, 412, 418, 424, 427, 431, - 437, 443, 446, 450, 458, 464, 467, 471, 479, 485, - 488, 492, 500, 506, 509, 513, 525, 531, 534, 538, - 550, 556, 559, 563, 575, 581, 584, 588, 601, 607, - 610, 614, 627, 633, 636, 640, 653, 665, 679, 690, - 696, 715, 726, 734, 740, 746, 765, 771, 787, 794, - 800, 806, 812, 818, 837, 849, 855, 874, 895, 903, - 909, 915, 921, 933, 939, 945, 957, 963, 968, 973, - 980, 982, 983, 986, 991, 1002, 1020, 1035, 1066, 1072, - 1078, 1082, 1086, 1090, 1094, 1099, 1106, 1110, 1115, 1133, - 1143, 1161, 1178, 1195, 1216, 1236, 1256, 1273, 1297, 1308, - 1310, 1313, 1315, 1316, 1317, 1318, 1321, 1323, 1326, 1332, - 1337, 1341, 1343, 1346, 1348, 1351, 1357, 1362, 1367, 1369, - 1372, 1374, 1377, 1383, 1388, 1393, 1395, 1398, 1400, 1403, - 1409, 1414, 1419, 1421, 1424, 1426, 1429, 1435, 1440, 1445, - 1447, 1450, 1452, 1455, 1463, 1470, 1478, 1486, 1500, 1502, - 1503, 1504, 1505, 1508, 1510, 1511, 1512, 1513, 1514, 1515, - 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, - 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, - 1536, 1537, 1540, 1542, 1543, 1554, 1561, 1574, 1583, 1591, - 1599, 1609, 1613, 1618, 1622, 1627, 1631, 1635, 1641, 1647, - 1653, 1657, 1663, 1676, 1682, 1691, 1695 + 113, 115, 116, 123, 131, 145, 157, 159, 162, 164, + 165, 166, 169, 175, 180, 181, 182, 185, 189, 192, + 198, 203, 209, 217, 222, 226, 232, 237, 241, 246, + 250, 253, 258, 262, 266, 270, 275, 279, 282, 286, + 290, 294, 298, 302, 306, 309, 313, 316, 320, 323, + 332, 336, 342, 344, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 355, 356, 357, 364, 369, 375, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 394, 397, 401, 407, 413, 416, 420, 426, 432, + 435, 439, 445, 451, 454, 458, 466, 472, 475, 479, + 487, 493, 496, 500, 508, 514, 517, 521, 533, 539, + 542, 546, 558, 564, 567, 571, 583, 589, 592, 596, + 609, 615, 618, 622, 635, 641, 644, 648, 661, 673, + 687, 698, 704, 723, 734, 742, 748, 754, 773, 779, + 795, 802, 808, 814, 820, 826, 845, 857, 863, 882, + 903, 911, 917, 923, 929, 941, 947, 953, 965, 971, + 976, 981, 988, 990, 991, 994, 999, 1010, 1028, 1043, + 1071, 1102, 1106, 1118, 1133, 1146, 1184, 1190, 1196, 1200, + 1204, 1208, 1212, 1217, 1224, 1228, 1233, 1251, 1261, 1279, + 1296, 1313, 1334, 1354, 1374, 1391, 1415, 1426, 1428, 1431, + 1433, 1434, 1435, 1436, 1439, 1441, 1444, 1450, 1455, 1459, + 1461, 1464, 1466, 1469, 1475, 1480, 1485, 1487, 1490, 1492, + 1495, 1501, 1506, 1511, 1513, 1516, 1518, 1521, 1527, 1532, + 1537, 1539, 1542, 1544, 1547, 1553, 1558, 1563, 1565, 1568, + 1570, 1573, 1581, 1588, 1596, 1604, 1618, 1620, 1621, 1622, + 1623, 1626, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, + 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, + 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, + 1658, 1660, 1661, 1672, 1679, 1692, 1701, 1709, 1717, 1727, + 1731, 1736, 1740, 1745, 1749, 1753, 1759, 1765, 1771, 1775, + 1781, 1794, 1800, 1809, 1813 }; #endif @@ -543,19 +556,19 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tCoherence","tView","tOffset","tAttractor","tLayers","tScalarTetrahedron","tVectorTetrahedron", "tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine", "tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline", -"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tOptions","tGeneral", -"tGeometry","tMesh","tPostProcessing","tPrint","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", +"tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tOptions","tFor","tEndFor", +"tScript","tExit","tMerge","tGeneral","tGeometry","tMesh","tPostProcessing", +"tPrint","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", +"UMINUS","'^'","'('","','","')'","'{'","'}'","':'","'['","']'","All","STLFormatItem", "StepFormatItems","StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem", "GeomFormatList","GeomFormat","View","Views","ScalarPointValues","ScalarPoint", "@1","VectorPointValues","VectorPoint","@2","TensorPointValues","TensorPoint", @@ -565,47 +578,48 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "@9","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues", "VectorTetrahedron","@11","TensorTetrahedronValues","TensorTetrahedron","@12", "Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata", -"Delete","Macro","Extrude","ExtrudeParameters","ExtrudeParameter","Transfini", -"Coherence","Options","Option","GeneralOptions","GeneralOption","@13","GeometryOptions", -"GeometryOption","@14","MeshOptions","MeshOption","@15","PostProcessingOptions", -"PostProcessingOption","@16","PrintOptions","PrintOption","@17","ColorAffects", -"ColorAffect","RGBAExpr","BoolExpr","FExpr","FExpr_Single","FExpr_Range","VExpr", -"ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble", -"ListOfDouble","RecursiveListOfDouble", NULL +"Delete","Macro","Command","Loop","Extrude","ExtrudeParameters","ExtrudeParameter", +"Transfini","Coherence","Options","Option","GeneralOptions","GeneralOption", +"@13","GeometryOptions","GeometryOption","@14","MeshOptions","MeshOption","@15", +"PostProcessingOptions","PostProcessingOption","@16","PrintOptions","PrintOption", +"@17","ColorAffects","ColorAffect","RGBAExpr","BoolExpr","FExpr","FExpr_Single", +"FExpr_Range","VExpr","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", +"RecursiveListOfListOfDouble","ListOfDouble","RecursiveListOfDouble", NULL }; #endif static const short yyr1[] = { 0, - 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, - 163, 163, 164, 164, 164, 164, 164, 165, 165, 165, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 167, 167, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 169, 169, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 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, 204, 206, 205, 207, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 209, 209, 209, 209, - 210, 210, 210, 211, 211, 212, 213, 214, 215, 215, - 215, 215, 215, 215, 215, 215, 216, 216, 217, 217, - 218, 218, 218, 218, 218, 218, 218, 218, 219, 220, - 220, 221, 221, 221, 221, 221, 222, 222, 223, 223, - 223, 224, 223, 225, 225, 226, 226, 226, 227, 226, - 228, 228, 229, 229, 229, 230, 229, 231, 231, 232, - 232, 232, 233, 232, 234, 234, 235, 235, 235, 236, - 235, 237, 237, 238, 238, 238, 239, 239, 240, 240, - 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 242, 242, 242, 243, 243, 244, 244, 244, - 244, 245, 245, 246, 246, 247, 247, 247, 248, 248, - 249, 249, 249, 250, 250, 250, 250 + 166, 166, 166, 167, 167, 167, 168, 168, 169, 169, + 169, 169, 170, 170, 170, 170, 170, 171, 171, 171, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 174, 174, 174, 175, 175, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 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, 204, 206, + 205, 207, 207, 209, 208, 210, 210, 212, 211, 213, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 215, 215, + 215, 215, 216, 216, 216, 217, 217, 218, 219, 220, + 221, 221, 221, 222, 222, 222, 223, 223, 223, 223, + 223, 223, 223, 223, 224, 224, 225, 225, 226, 226, + 226, 226, 226, 226, 226, 226, 227, 228, 228, 229, + 229, 229, 229, 229, 230, 230, 231, 231, 231, 232, + 231, 233, 233, 234, 234, 234, 235, 234, 236, 236, + 237, 237, 237, 238, 237, 239, 239, 240, 240, 240, + 241, 240, 242, 242, 243, 243, 243, 244, 243, 245, + 245, 246, 246, 246, 247, 247, 248, 248, 248, 248, + 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 250, 250, 250, 251, 251, 252, 252, 252, 252, 253, + 253, 254, 254, 255, 255, 255, 256, 256, 257, 257, + 257, 258, 258, 258, 258 }; static const short yyr2[] = { 0, @@ -615,30 +629,31 @@ static const short yyr2[] = { 0, 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, 4, 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, 7, 11, 5, 8, 9, 8, 22, 20, - 8, 8, 5, 8, 7, 8, 5, 11, 5, 9, - 1, 1, 1, 0, 2, 4, 4, 3, 8, 12, - 8, 12, 8, 12, 11, 15, 1, 2, 9, 2, - 6, 9, 9, 8, 8, 8, 6, 4, 2, 0, - 2, 4, 4, 4, 4, 4, 0, 2, 4, 4, - 4, 0, 5, 0, 2, 4, 4, 4, 0, 5, - 0, 2, 4, 4, 4, 0, 5, 0, 2, 4, - 4, 4, 0, 5, 0, 2, 4, 4, 4, 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 + 1, 1, 1, 1, 4, 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, 7, 11, 5, 8, 9, 8, + 22, 20, 8, 8, 5, 8, 7, 8, 5, 11, + 5, 9, 1, 1, 1, 0, 2, 4, 4, 3, + 3, 2, 3, 6, 8, 1, 8, 12, 8, 12, + 8, 12, 11, 15, 1, 2, 9, 2, 6, 9, + 9, 8, 8, 8, 6, 4, 2, 0, 2, 4, + 4, 4, 4, 4, 0, 2, 4, 4, 4, 0, + 5, 0, 2, 4, 4, 4, 0, 5, 0, 2, + 4, 4, 4, 0, 5, 0, 2, 4, 4, 4, + 0, 5, 0, 2, 4, 4, 4, 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 }; static const short yydefact[] = { 51, @@ -647,951 +662,960 @@ static const short yydefact[] = { 51, 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, 273, 275, 274, 0, 0, + 0, 0, 0, 0, 176, 0, 0, 0, 0, 52, + 53, 54, 55, 56, 57, 58, 62, 64, 63, 59, + 60, 61, 281, 283, 282, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, + 12, 0, 13, 14, 16, 15, 17, 290, 290, 0, + 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 299, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 299, 166, 197, + 0, 299, 299, 0, 0, 0, 198, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 12, 0, 13, 14, 16, 15, 17, - 282, 282, 0, 64, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 0, 0, 0, - 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 291, 164, 189, 0, 291, 291, 0, 0, 0, 190, + 0, 0, 260, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 166, 0, 0, 0, + 0, 0, 170, 0, 0, 0, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 173, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 255, 254, 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, + 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 164, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 67, 0, 0, 0, 0, + 0, 0, 0, 165, 0, 164, 163, 0, 0, 0, + 0, 0, 168, 167, 196, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65, 199, 0, 0, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 0, 272, 273, 274, 275, 276, + 277, 0, 0, 0, 255, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 245, 247, 246, 248, - 249, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, + 19, 0, 0, 135, 299, 299, 0, 299, 147, 0, + 155, 299, 299, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 0, 0, 0, 0, 128, 0, + 0, 0, 159, 161, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 294, 295, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, - 0, 162, 161, 0, 0, 0, 0, 0, 166, 165, - 188, 0, 167, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 63, 191, 0, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, - 264, 265, 266, 267, 268, 269, 0, 0, 0, 247, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 0, 0, 299, 0, 0, + 299, 205, 212, 219, 226, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 299, 299, 0, 0, 0, 0, 299, 299, + 0, 0, 0, 0, 0, 299, 0, 299, 0, 0, + 0, 0, 0, 293, 0, 290, 0, 0, 0, 299, + 0, 299, 0, 0, 0, 284, 304, 305, 134, 0, + 299, 299, 299, 189, 0, 299, 299, 299, 299, 299, + 299, 299, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 19, 0, 0, 133, 291, - 291, 0, 291, 145, 0, 153, 291, 291, 0, 0, - 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 157, 159, 0, - 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 0, 0, 291, 0, 0, 291, 197, 204, 211, 218, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 291, 0, 0, - 0, 0, 291, 291, 0, 0, 0, 0, 0, 291, - 0, 291, 0, 0, 0, 0, 0, 285, 0, 282, - 0, 0, 0, 291, 0, 291, 0, 0, 0, 276, - 296, 297, 132, 0, 291, 291, 291, 181, 0, 291, - 291, 291, 291, 291, 291, 291, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, - 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, - 263, 270, 271, 272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 67, 0, 0, 0, 0, 294, 0, + 0, 0, 0, 0, 0, 174, 0, 0, 271, 278, + 279, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 239, 240, - 241, 242, 243, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 0, 247, 248, 249, 250, + 251, 0, 0, 0, 0, 0, 0, 0, 18, 0, + 131, 139, 0, 142, 0, 136, 0, 137, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 0, 291, 291, 0, 291, 0, 202, 192, 198, - 0, 209, 193, 205, 0, 216, 194, 212, 0, 223, - 195, 219, 0, 230, 196, 226, 291, 0, 0, 0, - 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 0, 0, 0, 0, 0, 0, 0, 0, 282, 0, - 142, 152, 0, 0, 185, 146, 148, 0, 0, 184, - 186, 154, 130, 141, 151, 156, 0, 281, 0, 280, - 0, 0, 169, 0, 171, 0, 173, 0, 66, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, + 299, 299, 0, 299, 0, 210, 200, 206, 0, 217, + 201, 213, 0, 224, 202, 220, 0, 231, 203, 227, + 0, 238, 204, 234, 0, 299, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 286, 0, 289, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, + 0, 0, 0, 0, 0, 0, 0, 290, 0, 144, + 154, 0, 0, 193, 148, 150, 0, 0, 192, 194, + 156, 132, 143, 153, 158, 0, 289, 0, 288, 0, + 0, 177, 0, 179, 0, 181, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 294, 0, 297, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 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, 277, 0, 183, 182, 164, 0, 160, - 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, + 0, 0, 140, 285, 0, 191, 190, 166, 0, 162, + 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 291, 288, 287, 291, 0, 0, 0, 0, - 0, 232, 0, 0, 0, 232, 0, 0, 0, 232, - 0, 0, 0, 232, 0, 0, 0, 232, 147, 0, - 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 0, 0, 180, - 291, 0, 178, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 290, 0, - 0, 199, 0, 200, 201, 0, 0, 232, 206, 207, - 208, 0, 213, 214, 215, 0, 220, 221, 222, 0, - 227, 228, 229, 0, 0, 35, 0, 0, 0, 0, + 0, 0, 299, 296, 295, 299, 0, 0, 0, 0, + 0, 240, 0, 0, 0, 240, 0, 0, 0, 240, + 0, 0, 0, 240, 0, 0, 0, 240, 149, 0, + 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 0, 0, 188, + 299, 0, 186, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, + 0, 207, 0, 208, 209, 0, 0, 240, 214, 215, + 216, 0, 221, 222, 223, 0, 228, 229, 230, 0, + 235, 236, 237, 0, 0, 35, 0, 0, 0, 0, 25, 0, 31, 0, 37, 26, 39, 0, 42, 0, - 46, 47, 0, 0, 49, 0, 0, 0, 158, 0, - 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 291, 144, 0, 203, 233, 210, 217, 224, 231, 0, + 46, 47, 0, 0, 49, 0, 0, 0, 160, 0, + 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 299, 146, 0, 211, 241, 218, 225, 232, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 170, 172, 174, 0, 291, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 86, - 90, 131, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 286, 178, 180, 182, 0, 299, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, + 92, 133, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 32, 40, 0, 41, 48, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 0, 234, 275, - 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 299, 0, 242, 283, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 27, 0, 0, 0, 176, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, - 84, 0, 88, 0, 0, 0, 0, 0, 0, 291, + 0, 24, 27, 0, 0, 0, 184, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, + 86, 0, 90, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 20, 139, 179, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 83, 85, 87, 89, 91, 0, 0, 235, 0, 0, - 0, 291, 0, 0, 0, 0, 0, 0, 94, 98, - 102, 0, 0, 0, 238, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 20, 141, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 85, 87, 89, 91, 93, 0, 0, 243, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 96, 100, + 104, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 291, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 237, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 92, 0, 96, 0, 100, 0, - 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 149, 0, 22, 0, 0, 0, - 0, 0, 0, 93, 95, 97, 99, 101, 103, 291, - 0, 0, 0, 106, 110, 114, 0, 0, 0, 0, - 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 104, 0, 108, 0, 112, + 5, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 152, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 0, 98, 0, 102, 0, + 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 151, 0, 22, 0, 0, 0, + 0, 0, 0, 95, 97, 99, 101, 103, 105, 299, + 0, 0, 0, 108, 112, 116, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 106, 0, 110, 0, 114, 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, 0, 0, 107, 109, 111, 113, 115, 117, + 0, 120, 124, 128, 23, 0, 0, 0, 0, 0, + 0, 0, 118, 0, 122, 0, 126, 0, 0, 0, + 0, 0, 0, 119, 121, 123, 125, 127, 129, 0, 0, 0 }; -static const short yydefgoto[] = { 1400, - 4, 5, 18, 19, 20, 21, 6, 55, 56, 375, - 1168, 499, 1114, 1170, 500, 1115, 1172, 501, 1116, 1284, - 502, 1255, 1286, 503, 1256, 1288, 504, 1257, 1345, 505, - 1331, 1347, 506, 1332, 1349, 507, 1333, 1382, 508, 1376, - 1384, 509, 1377, 1386, 510, 1378, 57, 370, 360, 361, - 362, 363, 61, 62, 63, 876, 877, 64, 65, 263, - 388, 615, 720, 821, 616, 724, 823, 617, 728, 825, - 618, 732, 827, 619, 736, 829, 977, 978, 1088, 654, - 228, 93, 342, 133, 212, 325, 715, 815, 816, 343 +static const short yydefgoto[] = { 1420, + 4, 5, 18, 19, 20, 21, 6, 60, 61, 389, + 1188, 514, 1134, 1190, 515, 1135, 1192, 516, 1136, 1304, + 517, 1275, 1306, 518, 1276, 1308, 519, 1277, 1365, 520, + 1351, 1367, 521, 1352, 1369, 522, 1353, 1402, 523, 1396, + 1404, 524, 1397, 1406, 525, 1398, 62, 384, 374, 375, + 376, 377, 66, 67, 68, 69, 70, 896, 897, 71, + 72, 274, 402, 631, 738, 840, 632, 742, 842, 633, + 746, 844, 634, 750, 846, 635, 754, 848, 997, 998, + 1108, 672, 239, 100, 356, 140, 223, 339, 733, 834, + 835, 357 }; -static const short yypact[] = { 436, --32768,-32768, -129,-32768, 445, 1582, 663, 31, 32, 64, - 66, 80, 106, 115, -128, -108, -26,-32768,-32768,-32768, --32768, 137, 158, -110, -9, 27, -36, -46, 28, 35, - 154, 59, 141, 160, 172, 217, 181, 2, 63, -77, - -77, 67, 41, 71, 213, 205, 82, 238, 250, 167, - 103, -30, 108, 237,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 124, 150, - 166, 174, 194, 195, 220, 246, 254, 255, 261, 262, - 273, 279, 280, 285, 289, 296, 316, 329, 663, 663, - 663, 1458,-32768,-32768, 1606,-32768,-32768,-32768,-32768,-32768, - 330, 330, 306,-32768, 663, 663, 663, 663, 663, 348, - 663, 663, 349, 663, 663, 663, 1428, 663, 178, 358, - 363, 1428, 201, 210, 364, 367, 368, 375, 376, -77, - 663, 663, 227, 234, -77, 265, 336, 377,-32768, 525, - 1428,-32768,-32768, -34, 1428, 1428, 663, -75, 663,-32768, - 387, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 389, 389, 659, 663, 663, 663, 663, 663, 1458, - 400, 410, 411, 413, 415, 416, 417, 420, 422, 423, - 424, 425, 426, 430, 432, 433, 434, 448, 449, 455, - 459, 462, 463, 464, 469, 471, 493, 498, 499, 503, - 579, 456, 504, 506, 62, 1171, 351, 1274, 1342, 663, - 1352, 501, 663, 564, 1362, 1373, 663, 222, 656, 1385, - 663, 663, 663, 657, 663, 663, 663, 663, 663, 663, - 663, 511, 390, 2044, 83, 83, 540, 663, 663, 663, - 431,-32768, 24, 1015, -77,-32768, 689, 698, 1395, 625, - 663, 1405, 42, 663, 1415, 1441, 1501, 1516, 1526, 1536, - 1594, 1604, 1614, 1624, 2053, 1634, 1644, 1654, 1664, 1674, - 1684, 2062, 2071, 2080, 663, 663,-32768, 53, 164, 389, - 389, 389, 366, 703, 709, 710, 713, 714, 717, 722, - 723, 725, 727, 730, 731, 732, 733, 734, 735, 739, - 740, 741, 744, 748, 750, 753, 632, 755, 759, 760, - 766, 770, 769,-32768, -138, 771, 772, 778,-32768, 768, - 785, 805, 811, 1694, 813, 786, 1704, 816, 819, 823, - 207,-32768, 119, 663, 828, 577, 1714, 1724, 663, 775, - 814, 1734, 1744, 1754, 1764, 1774, -77, 663, 663,-32768, - 620, 1168,-32768, 671, 663, 2089, 2098, 2107,-32768,-32768, --32768, 663,-32768, 680, 802, 681, 704, 852, 708, 1784, - 855, 707, 711, 724, 726, 729,-32768,-32768, 1794,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 663, --32768,-32768,-32768,-32768,-32768,-32768, 663, 663, 663, 55, - 55, 745, 737, 761, 762, 763, 765, 774, 776, 779, - 781, 782, 783, 788, 789, 790, 792, 818, 820, 825, - 826, 827, 830, 832, 833, 835, 836, 837, 842, 843, - 845, 850, 876,-32768, 784,-32768, 851, -77,-32768, 1428, - 1428, 907, 1428,-32768, 918,-32768, 1428, 1428, 38, 663, --32768, 100, 773, 933, 958, 970, 176, 976, 1020, 1021, - 1022, 1025, 1031, 1034, 888, 2116, 2125,-32768,-32768, 821, - -77, -77, -77, 113,-32768, 900, 902, 905, 908, 909, - 923, 924, 928, 935, 936, 939, 943, 1085,-32768,-32768, +static const short yypact[] = { 447, +-32768,-32768, -135,-32768, 455, 959, 1490, 28, 65, 30, + 71, 75, 90, 96, -38, -34, -22,-32768,-32768,-32768, +-32768, 140, 141, -57, -5, -4, -35, -42, 70, 92, + 238, 112, 228, 243, 257, 46, 286, -20, 160, -36, + -36, 162, 41, 173, 281, 306, 186, 342, 349, 100, + 205, -30, 206, 229,-32768, 376, 383, 387, 359,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 663, 663, 1428, 663, 1094, 1428,-32768,-32768,-32768,-32768, --32768, 1096, 1804, 1814, 1824, 1834, 965, 1122, 663, 663, - -77, 1135, 1149, 1006, 1154, 1159, 1428, 1428, 1160, -77, - 1162, 1163, 1428, 1428, 1164, 1167, 1170, 1172, 1173, 1428, - 300, 1428, 1174, 1169, 1183, 1187, 1189,-32768, 1188, 330, - 1200, -1, 1202, 1428, 1216, 1428, 1217, 1218, 663, 222, - 207,-32768,-32768, 663, 1428, 1428, 1428,-32768, 39, 1428, - 1428, 1428, 1428, 1428, 1428, 1428, 663, 663, 663, 1037, - 148, 161, 163,-32768, 1208, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663,-32768, 2134, 2143, - 1219, 1844, 84, 1112, 9, 10, 19, 29, 30, 663, --32768,-32768,-32768,-32768, 663, 1060, 2152, 2161, 1078, 1080, - 1081, 1084, 1088, 1086, 1097, 1099, 1100, 1101, 1113, 1111, - 1114, 1116, 1117, 1118, 1139, 1141, 1147, 1156,-32768,-32768, --32768,-32768,-32768, 1155, 1180, 1181, 1197, 1203, 1182, 1204, --32768, 1213,-32768,-32768, -77,-32768, 1229,-32768, 1233,-32768, --32768, 282, 2170, 1243, 1244, 1249, 663, 663, 1262, 1316, - 1318, 1319, 1321, 1336, 1337, 846, 1854, 378, 83, -77, - 1363, -77, 1364, -77, 21, 1369, 2179, 2188, 2197, 2206, - 2215, 2224, 2233, 2242, 2251, 2260, 2269, 2278, 663, 663, --32768, 1361, 1428, 1428, 1293, 1428, 1370,-32768,-32768,-32768, - 1371,-32768,-32768,-32768, 1372,-32768,-32768,-32768, 1375,-32768, --32768,-32768, 1382,-32768,-32768,-32768, 271, 1458, 1377, 663, - 1428, 1384, 1388, 1411, 1270, 1419, 300, 1421, 1425, 663, - 1424, 1430, 1429, 1452, 1431, 300, 663, 663, 663, 1428, - 1453, 1457, 300, 663, 1460, 1461, 1459, 663, 330, 1486, --32768,-32768, 663, 663,-32768,-32768,-32768, 120, 183,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 1340,-32768, 663,-32768, - 1345, 1339,-32768, 1349,-32768, 1351,-32768, -50,-32768, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 2287, 2296, 84, -58,-32768, 179, 1350, 1432, 616, - 1357, 829, 1359, 884, 1360, 997, 1367, 1383, 1379, 1512, - 1458, 1390, 2305, 1392,-32768, 1394,-32768, 1401,-32768, 1403, --32768, 1402, 1864,-32768, 1412,-32768,-32768, 1404, 1410, 1874, - 2314, 1884, 1414,-32768, 1416, 1417, 2323, 1422, 1418,-32768, - 2332, 1423,-32768, 222, 2341,-32768,-32768, 83, 457,-32768, - 663, 663, 663, 1520, 1393, -41,-32768, 2350, 2359, 2368, - 2377, 2386, 2395, 2404, 2413, 2422, 2431, 2440, 2449, 663, - 663, 1444, 1428,-32768,-32768, 1428, 663, 1563, 663, 192, - 1572, 1575, 1574, 215, 1579, 1575, 1585, 230, 1586, 1575, - 1588, 239, 1589, 1575, 1591, 257, 1592, 1575,-32768, -57, - 1593, 84, 300, 1597, 663, 1595, 300, 1596, 1600, 1602, - 1603, 1622, 663, 1623, 1428, 1625, 1626, 663, 1617, 1639, - 663, 1646, 1647, 1473, 663,-32768, 887, 926, 938,-32768, - 1428, 1648,-32768, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 999, 1012, 1499,-32768, 1503, - 264,-32768, 1158,-32768,-32768, 1651, 1502, 1575,-32768,-32768, --32768, 1509,-32768,-32768,-32768, 1513,-32768,-32768,-32768, 1519, --32768,-32768,-32768, 1522, 663,-32768, 1515, 1523, 1532, 2458, --32768, 1525,-32768, 1534,-32768,-32768,-32768, 1894,-32768, 1533, --32768,-32768, 1904, 1535,-32768, 1914, 1538, 1539,-32768, 1151, - 1688, 1689, 22, 1542,-32768, 2467, 2476, 2485, 2494, 2503, - 2512, 2521, 2530, 2539, 1924, 1934, 1944, 1695, 1696, 1428, - 1428,-32768, 18,-32768,-32768,-32768,-32768,-32768,-32768, 1458, - 300, 300, 300, 300, 1697, 1698, 1709, 300, 1711, 1712, - 1713, 1715, 1716,-32768,-32768,-32768,-32768, -50, 1428, 663, - 663, 663, 663, 663, 663, 663, 663, 663,-32768,-32768, --32768,-32768,-32768, 1546, 1565, 1727, 1095, 1738, 1458, 1601, - 1610, 1590, 1599,-32768,-32768,-32768, 1611,-32768,-32768,-32768, - 1613, 1620, -39, 1621, 2548, 2557, 2566, 2575, 2584, 2593, - 2602, 2611, 2620, 1612, 1628, 1629, 1428, 1667,-32768, 1633, - 2629,-32768, 342, 300, 300, 1742, 1751, 300, 1753, 1772, - 1782, 1428, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 1637, 1641, 663, 663, 663, 1650, - 1653,-32768,-32768, 1640, 1643, 1657,-32768, 1658, 2638, 2647, - 2656, 2665, 2674, 2683, 2692, 2701, 2710, 189, 222, 218, - 222, 235, 222, 1725, 663, 1192, 2719, 1458, 300, 1428, - 1802, 1811, 1812, 1818, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 1819, 663, 1821, 663, 1822, 1678, - 2728, 1829, 663, 1458, 1683, 1690,-32768,-32768,-32768,-32768, - 2737, 2746, 2755, 2764, 2773, 2782, 1954, 1964, 1974, 222, --32768, 222,-32768, 222,-32768, 663, 663,-32768, 552, 1069, - 300, 1428, 663, 663, 663, 663, 663, 663,-32768,-32768, --32768, 2791, 1207, 663,-32768, 1635, 1691, 1693, 2800, 2809, - 2818, 2827, 2836, 2845, 1682, 1692, 1699, 663, 1848, 1214, --32768, 1428, 300, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 1267,-32768,-32768, 1703, 1710, 2854, 2863, 2872, - 2881, 2890, 2899, 268, 222, 286, 222, 293, 222, 1852, - 1428, 1858, 663, 663, 663, 663, 663, 663, 663, 1861, - 663, 1862, 663, 1868,-32768, 1721,-32768, 2908, 2917, 2926, - 1984, 1994, 2004, 222,-32768, 222,-32768, 222,-32768, 1428, - 663, 663, 663,-32768,-32768,-32768, 1723, 2935, 2944, 2953, - 1722, 1728, 1729, 1428, 663, 663, 663, 663, 663, 663, - 1733, 2962, 2971, 2980, 301, 222, 302, 222, 317, 222, - 300, 663, 663, 663, 663, 1882, 663, 1888, 663, 1889, - 1743, 2014, 2024, 2034, 222,-32768, 222,-32768, 222,-32768, - 1891,-32768,-32768,-32768,-32768, 1748, 1749, 1752, 663, 663, - 663, 323, 222, 324, 222, 339, 222, 663, 1901, 663, - 1908, 663, 1909, 222,-32768, 222,-32768, 222,-32768, 1917, - 1918,-32768 +-32768,-32768,-32768,-32768,-32768, 245, 255, 262, 264, 267, + 268, 269, 274, 275, 284, 291, 295, 296, 299, 301, + 315, 316, 317, 343, 348, 1490, 1490, 1490, 1463,-32768, +-32768, 1574,-32768,-32768,-32768,-32768,-32768, 355, 355, 392, +-32768, 1490, 1490, 1490, 1490, 1490, 356, 1490, 1490, 360, + 1490, 1490, 1490, 1415, 1490, 303, 363, 365, 1415, 346, + 371, 366, 378, 379, 382, 385, -36, 1490, 1490, 373, + 386, -36, 389, 390, 391,-32768, 429, 1415,-32768,-32768, + -58, 1415, 1415, 1490, -75, 1490,-32768, 1490,-32768, 510, + 511, 399, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 403, 403, 469, 1490, 1490, 1490, 1490, 1490, + 1463, 419, 426, 431, 434, 435, 436, 437, 441, 442, + 443, 444, 445, 446, 466, 479, 480, 506, 507, 518, + 520, 526, 528, 529, 532, 537, 538, 543, 546, 551, + 555, 541, 427, 558, 468, 121, 828, 621, 1204, 1308, + 1490, 1397, 641, 1490, 703, 1408, 1418, 1490, 509, 660, + 1449, 1490, 1490, 1490, 691, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 556, 907, 942, 195, 195, 560, 1490, 1490, + 1490, 638,-32768, 18, 1259, -36,-32768, 719, 720, 1477, + 647, 1490, 1492, -25, 428,-32768,-32768, 1490, 1502, 1562, + 1572, 1582, 1592, 1602, 1612, 1622, 1632, 1642, 1188, 1652, + 1662, 1672, 1682, 1692, 1702, 2072, 2081, 2090, 1490, 1490, +-32768, -69, 388, 403, 403, 403, 554, 726, 727, 729, + 730, 733, 735, 736, 737, 744, 749, 750, 756, 759, + 761, 762, 774, 779, 782, 784, 785, 791, 792, 799, + 416, 800, 801, 802, 803, 806, 805,-32768, -73, 822, + 820, 823,-32768, 804, 827, 835, 839, 1712, 841, 829, + 1722, 844, 845, 851, 224,-32768, -24, 1490, 852, 783, + 1732, 1742, 1490, 790, 980, 1752, 1762, 1772, 1782, 1792, + -36, 1490, 1490,-32768, 667, 1554,-32768, 699, 1490, 2099, + 2108, 2117,-32768,-32768,-32768, 1490,-32768, 705, 821, 717, + 718, 874, 741, 1802, 893, 740, 745, 778, 787, 788, +-32768,-32768, 1490, 1812,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1490,-32768,-32768,-32768,-32768,-32768, +-32768, 1490, 1490, 1490, -60, -60, 765, 743, 746, 794, + 796, 797, 798, 807, 825, 838, 847, 848, 850, 857, + 863, 865, 866, 867, 869, 871, 873, 881, 883, 884, + 888, 892, 894, 898, 920, 921, 922, 945,-32768, 826, +-32768, 923, -36,-32768, 1415, 1415, 954, 1415,-32768, 955, +-32768, 1415, 1415, 36, 1490,-32768, 128, 880, 957, 958, + 1045, 104, 1085, 1090, 1096, 1100, 1102, 1128, 1129, 949, + 2126, 2135,-32768,-32768, 1013, -36, -36, -36, 184,-32768, + 981, 982, 983, 985, 986, 987, 1000, 1010, 1011, 1018, + 1021, 1022, 1132,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 1490, 1490, 1415, 1490, 1152, + 1415,-32768,-32768,-32768,-32768,-32768, 540, 1171, 1822, 1832, + 1842, 1852, 1039, 984, 1490, 1490, -36, 1180, 1182, 1033, + 1186, 1187, 1415, 1415, 1189, -36, 1190, 1191, 1415, 1415, + 1192, 1193, 1194, 1205, 1207, 1415, 259, 1415, 1221, 1223, + 1224, 1228, 1233,-32768, 1231, 355, 1235, 1, 1238, 1415, + 1239, 1415, 1248, 1249, 1490, 509, 224,-32768,-32768, 1490, + 1415, 1415, 1415,-32768, 149, 1415, 1415, 1415, 1415, 1415, + 1415, 1415, 1490, 1490, 1490, 1066, -19, -17, 63,-32768, + 1001, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490,-32768, 2144, 2153, 1250, 1862, -6, 1175, + 14, 15, 16, 29, 37,-32768, 1490, 1490,-32768,-32768, +-32768,-32768, 1490, 1108, 2162, 2171, 1110, 1109, 1113, 1116, + 1126, 1117, 1127, 1138, 1140, 1142, 1146, 1153, 1155, 1158, + 1163, 1166, 1168, 1169, 1174, 1170,-32768,-32768,-32768,-32768, +-32768, 1184, 1185, 1195, 1200, 1203, 1209, 1212,-32768, 1218, +-32768,-32768, -36,-32768, 1254,-32768, 1255,-32768,-32768, 287, + 2180, 1266, 1282, 1320, 1490, 1490, 1340, 1357, 1372, 1379, + 1381, 1382, 1383, 1020, 1872, 571, 195, -36, 1384, -36, + 1389, -36, 24, 1390, 2189, 2198, 2207, 2216, 2225, 2234, + 2243, 2252, 2261, 2270, 2279, 2288, 1490, 1490,-32768, 1392, + 1415, 1415, 1314, 1415, 1393,-32768,-32768,-32768, 1395,-32768, +-32768,-32768, 1399,-32768,-32768,-32768, 1400,-32768,-32768,-32768, + 1406,-32768,-32768,-32768, 1882, 192, 1463, 1401, 1490, 1415, + 1410, 1411, 1416, 1264, 1443, 259, 1444, 1454, 1490, 1458, + 1466, 1464, 1489, 1493, 259, 1490, 1490, 1490, 1415, 1491, + 1495, 259, 1490, 1519, 1521, 1541, 1490, 355, 1546,-32768, +-32768, 1490, 1490,-32768,-32768,-32768, 217, 232,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 1364,-32768, 1490,-32768, 1394, + 1396,-32768, 1404,-32768, 1405,-32768, -48,-32768, 1490, 1490, + 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 2297, 2306, -6, 74,-32768, 67, 1413, 1478, 285, 1419, + 467, 1420, 630, 1422, 904, 1431, 1101, 1433,-32768, 1571, + 1463, 1437, 2315, 1445,-32768, 1446,-32768, 1451,-32768, 1448, +-32768, 1453, 1892,-32768, 1460,-32768,-32768, 1462, 1467, 1902, + 2324, 1912, 1465,-32768, 1475, 1476, 2333, 1479, 1480,-32768, + 2342, 1488,-32768, 509, 2351,-32768,-32768, 195, 594,-32768, + 1490, 1490, 1490, 1573, 1452, -33,-32768, 2360, 2369, 2378, + 2387, 2396, 2405, 2414, 2423, 2432, 2441, 2450, 2459, 1490, + 1490, 1540, 1415,-32768,-32768, 1415, 1490, 1620, 1490, 253, + 1633, 1646, 1645, 277, 1651, 1646, 1654, 309, 1655, 1646, + 1657, 351, 1658, 1646, 1659, 358, 1660, 1646,-32768, 174, + 1661, -6, 259, 1670, 1490, 1668, 259, 1671, 1673, 1683, + 1684, 1685, 1490, 1686, 1415, 1688, 1689, 1490, 1703, 1711, + 1490, 1653, 1713, 1526, 1490,-32768, 1061, 1068, 1081,-32768, + 1415, 1714,-32768, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490, 1490, 1490, 1112, 1167, 1560,-32768, 1568, + 374,-32768, 723,-32768,-32768, 1721, 1569, 1646,-32768,-32768, +-32768, 1575,-32768,-32768,-32768, 1576,-32768,-32768,-32768, 1578, +-32768,-32768,-32768, 1579, 1490,-32768, 1588, 1589, 1591, 2468, +-32768, 1570,-32768, 1597,-32768,-32768,-32768, 1922,-32768, 1599, +-32768,-32768, 1932, 1600,-32768, 1942, 1608, 1609,-32768, 1222, + 1745, 1755, 31, 1611,-32768, 2477, 2486, 2495, 2504, 2513, + 2522, 2531, 2540, 2549, 1952, 1962, 1972, 1765, 1771, 1415, + 1415,-32768, 25,-32768,-32768,-32768,-32768,-32768,-32768, 1463, + 259, 259, 259, 259, 1774, 1775, 1781, 259, 1784, 1785, + 1791, 1773, 1783,-32768,-32768,-32768,-32768, -48, 1415, 1490, + 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,-32768,-32768, +-32768,-32768,-32768, 1639, 1638, 1795, 1517, 1801, 1463, 1649, + 1669, 1650, 1667,-32768,-32768,-32768, 1678,-32768,-32768,-32768, + 1679, 1681, -21, 1691, 2558, 2567, 2576, 2585, 2594, 2603, + 2612, 2621, 2630, 1656, 1680, 1687, 1415, 1731,-32768, 1698, + 2639,-32768, 402, 259, 259, 1814, 1815, 259, 1813, 1825, + 1841, 1415, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490, 1490, 1696, 1690, 1490, 1490, 1490, 1701, + 1708,-32768,-32768, 1710, 1717, 1699,-32768, 1706, 2648, 2657, + 2666, 2675, 2684, 2693, 2702, 2711, 2720, 101, 509, 105, + 509, 107, 509, 1751, 1490, 1229, 2729, 1463, 259, 1415, + 1865, 1874, 1875, 1881, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490, 1490, 1884, 1490, 1885, 1490, 1891, 1727, + 2738, 1894, 1490, 1463, 1719, 1739,-32768,-32768,-32768,-32768, + 2747, 2756, 2765, 2774, 2783, 2792, 1982, 1992, 2002, 509, +-32768, 509,-32768, 509,-32768, 1490, 1490,-32768, 606, 882, + 259, 1415, 1490, 1490, 1490, 1490, 1490, 1490,-32768,-32768, +-32768, 2801, 1258, 1490,-32768, 1753, 1748, 1749, 2810, 2819, + 2828, 2837, 2846, 2855, 1750, 1756, 1757, 1490, 1904, 1294, +-32768, 1415, 259, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1301,-32768,-32768, 1761, 1767, 2864, 2873, 2882, + 2891, 2900, 2909, 125, 509, 170, 509, 171, 509, 1915, + 1415, 1924, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1925, + 1490, 1931, 1490, 1934,-32768, 1769,-32768, 2918, 2927, 2936, + 2012, 2022, 2032, 509,-32768, 509,-32768, 509,-32768, 1415, + 1490, 1490, 1490,-32768,-32768,-32768, 1779, 2945, 2954, 2963, + 1780, 1786, 1787, 1415, 1490, 1490, 1490, 1490, 1490, 1490, + 1798, 2972, 2981, 2990, 180, 509, 193, 509, 239, 509, + 259, 1490, 1490, 1490, 1490, 1944, 1490, 1945, 1490, 1954, + 1807, 2042, 2052, 2062, 509,-32768, 509,-32768, 509,-32768, + 1955,-32768,-32768,-32768,-32768, 1797, 1809, 1810, 1490, 1490, + 1490, 240, 509, 250, 509, 252, 509, 1490, 1971, 1490, + 1974, 1490, 1975, 509,-32768, 509,-32768, 509,-32768, 1968, + 1978,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1439, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1487, -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, 1919, 1921, -245, - 315, 1922,-32768,-32768,-32768, 866, -868,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1984, 1985, -256, + 272, 1991,-32768,-32768,-32768,-32768,-32768, 900, -893,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, -837,-32768,-32768, -744, - -7,-32768, 1475, 3, -100,-32768, -807, 1223, 204,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -903,-32768, +-32768, -754, -7,-32768, 1523, 2, -107,-32768, -825, 1268, + 271,-32768 }; -#define YYLAST 3134 - - -static const short yytable[] = { 92, - 364, 213, 840, 148, 664, 260, 892, 953, 874, 7, - 113, 849, 717, 721, 875, 443, 444, 874, 856, 874, - 110, 1086, 725, 875, 101, 875, 797, 1067, 255, 371, - 372, 126, 729, 733, 127, 128, 94, 129, 95, 665, - 66, 67, 106, 134, 102, 107, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 329, 982, 96, - 136, 97, 986, 137, 138, 131, 990, 261, 132, 995, - 994, 172, 173, 174, 180, 98, 677, 678, 285, 286, - 177, 178, 718, 722, 179, 893, 894, 215, 216, 217, - 218, 219, 726, 221, 222, 573, 224, 225, 226, 114, - 230, 99, 730, 734, 997, 952, 111, 1131, 594, 112, - 100, 256, 149, 243, 244, 866, 103, 382, 383, 384, - 385, 386, 242, 39, 40, 41, 42, 247, 44, 259, - 1045, 262, 104, 108, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 105, 719, 723, 288, 289, 290, - 291, 292, 293, 1087, 119, 727, 798, 1068, 998, 109, - 115, 578, 1002, 89, 90, 731, 735, 116, 867, -252, - 91, 117, -252, 120, -252, 569, 145, 974, 387, 146, - -252, -252, 177, 178, 179, 121, 179, 285, 286, 177, - 178, 118, 334, 179, 459, 337, 125, 140, 130, 341, - 980, 579, 135, 346, 347, 348, 139, 350, 351, 352, - 353, 354, 355, 356, 953, 984, 713, 142, 141, 714, - 366, 367, 368, 143, 988, 285, 286, 177, 178, 122, - 123, 179, 124, 380, 144, 147, 389, 374, 285, 286, - 177, 178, 992, 150, 179, 285, 286, 177, 178, 1042, - 151, 179, 460, 66, 67, 461, 152, 410, 411, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - -251, 690, 153, -251, 691, -251, 1090, 1091, 1092, 1093, - 214, -251, -251, 1097, 692, 179, 694, 693, 154, 695, - 229, 285, 286, 177, 178, 234, 155, 179, 285, 286, - 177, 178, 893, 231, 179, 895, 462, 285, 286, 177, - 178, 467, 1194, 179, 253, 1195, 156, 157, 257, 258, - 476, 477, 285, 286, 177, 178, 235, 480, 179, 475, - 285, 286, 177, 178, 484, 236, 179, 285, 286, 177, - 178, 1196, 158, 179, 1197, 285, 286, 177, 178, 1150, - 1151, 179, 245, 1154, 285, 286, 177, 178, 1198, 246, - 179, 1199, 523, 649, 650, 651, 652, 653, 159, 524, - 525, 526, 285, 286, 177, 178, 160, 161, 179, 285, - 286, 177, 178, 162, 163, 179, 175, 176, 177, 178, - 248, 1299, 179, 91, 1300, 164, 227, 285, 286, 177, - 178, 165, 166, 179, 1205, -7, -7, 167, -7, 1301, - 773, 168, 1302, 791, -1, 8, 1303, 9, 169, 1304, - 561, 570, 571, 251, 1355, 1357, 254, 1356, 1358, 662, - 24, 25, 26, 27, 28, 29, 30, 31, 170, 32, - 1359, 34, 35, 1360, 37, 38, 1388, 1390, 1149, 1389, - 1391, 171, 211, 591, 592, 593, 1247, 285, 286, 177, - 178, 249, 1392, 179, 50, 1393, 285, 286, 177, 178, - 220, 223, 179, 609, 610, 412, 612, 331, 51, 52, - 232, 285, 286, 177, 178, 233, 237, 179, 1277, 238, - 239, 627, 628, 285, 286, 177, 178, 240, 241, 179, - 252, 789, 250, 629, 790, 285, 286, 177, 178, 264, - 179, 179, 638, 358, -7, -7, -7, -7, -7, -7, - -7, -7, 294, 10, 11, 12, 13, 14, 15, 16, - 17, 672, 295, 296, 54, 297, 673, 298, 299, 300, - 1, 2, 301, 3, 302, 303, 304, 305, 306, 686, - 687, 688, 307, 324, 308, 309, 310, 369, 697, 698, - 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, - 311, 312, 285, 286, 177, 178, 1361, 313, 179, 326, - 945, 314, 737, 946, 315, 316, 317, 738, 66, 67, - 898, 318, 944, 319, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 320, 285, 286, 177, 178, - 321, 322, 179, 562, 563, 323, 565, 336, 327, 328, - 567, 568, 344, 349, 357, 66, 67, 770, 862, 778, - 779, 68, 69, 70, 71, 72, 73, 74, 75, 76, +#define YYLAST 3149 + + +static const short yytable[] = { 99, + 378, 224, 973, 155, 266, 271, 682, 912, 7, 133, + 894, 860, 134, 135, 120, 136, 895, 735, 739, 743, + 869, 117, 1002, 385, 386, 894, 1006, 876, 1106, 816, + 1010, 895, 747, 101, 1014, 103, 1087, 894, 73, 74, + 751, 683, 141, 895, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 396, 397, 398, 399, 400, + 143, 102, -260, 144, 145, -260, 104, -260, 129, 130, + 105, 131, 272, -260, -260, 458, 459, 190, 183, 184, + 185, 191, 188, 189, 1065, 106, 190, 736, 740, 744, + 113, 107, 267, 114, 226, 227, 228, 229, 230, 594, + 232, 233, 748, 235, 236, 237, 1017, 241, 121, 108, + 752, 138, 118, 109, 139, 119, 343, 156, 972, 152, + 254, 255, 153, 589, 475, 110, 401, 476, 253, 708, + 1151, 710, 709, 258, 711, 111, 270, 112, 273, 595, + 275, 731, 115, 116, 732, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 737, 741, 745, 302, 303, + 304, 305, 306, 307, 817, 1107, 96, 97, 1018, 610, + 749, 1088, 1022, 98, 73, 74, 695, 696, 753, 585, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 712, 886, 348, 713, 913, 351, 122, 915, 973, + 355, 474, 913, 914, 360, 361, 362, 887, 364, 365, + 366, 367, 368, 369, 370, 39, 40, 41, 42, 123, + 44, 380, 381, 382, 299, 300, 188, 189, 994, 1214, + 190, 126, 1215, 1216, 394, 1218, 1217, 388, 1219, 125, + 404, 299, 300, 188, 189, 124, 127, 190, 299, 300, + 188, 189, 1000, 1319, 190, 147, 1320, 73, 74, 918, + 128, 425, 426, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 1004, 1015, 1110, 1111, 1112, 1113, + 137, 132, 142, 1117, 299, 300, 188, 189, 1321, 1323, + 190, 1322, 1324, 146, 299, 300, 188, 189, 1375, 148, + 190, 1376, 186, 187, 188, 189, 149, 150, 190, 98, + 477, 1377, 238, 151, 1378, 482, 1008, 667, 668, 669, + 670, 671, 154, 1012, 491, 492, 157, 299, 300, 188, + 189, 495, 490, 190, 299, 300, 188, 189, 499, 1062, + 190, 159, 299, 300, 188, 189, 158, 160, 190, 1170, + 1171, 161, 162, 1174, 240, 537, 225, 1379, 1408, 245, + 1380, 1409, 163, 299, 300, 188, 189, 539, 1410, 190, + 1412, 1411, 164, 1413, 540, 541, 542, 262, 264, 165, + 265, 166, 268, 269, 167, 168, 169, 299, 300, 188, + 189, 170, 171, 190, 263, 96, 97, 299, 300, 188, + 189, 172, 919, 190, 1225, 139, -7, -7, 173, -7, + 810, 792, 174, 175, -1, 8, 176, 9, 177, 299, + 300, 188, 189, 242, 577, 190, 586, 587, 680, 73, + 74, 923, 178, 179, 180, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 1267, 607, 608, 609, + 181, 299, 300, 188, 189, 182, 246, 190, 299, 300, + 188, 189, 222, 231, 190, 276, 277, 234, 625, 626, + 243, 628, 244, 248, 299, 300, 188, 189, 1297, -259, + 190, 247, -259, 256, -259, 249, 250, 645, 646, 251, + -259, -259, 252, 1169, 190, 338, 257, 451, 647, 259, + 260, 261, 299, 300, 188, 189, 278, 656, 190, 190, + -7, -7, -7, -7, -7, -7, -7, -7, 10, 11, + 12, 13, 14, 15, 16, 17, 308, 690, 299, 300, + 188, 189, 691, 309, 190, 340, 1, 2, 310, 3, + 403, 311, 312, 313, 314, 704, 705, 706, 315, 316, + 317, 318, 319, 320, 715, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 1381, 96, 97, 299, + 300, 188, 189, 321, 919, 190, 342, 139, 301, 755, + 756, 964, 73, 74, 927, 757, 322, 323, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 792, 365, 794, 376, 796, 285, 286, 177, - 178, 812, 813, 179, 377, 1244, 379, 413, 1245, 285, - 286, 177, 178, 414, 415, 179, 611, 416, 417, 614, - 338, 418, 285, 286, 177, 178, 419, 420, 179, 421, - 831, 422, 833, 464, 423, 424, 425, 426, 427, 428, - 635, 636, 843, 429, 430, 431, 641, 642, 432, 850, - 851, 852, 433, 648, 434, 655, 857, 435, 436, 437, - 861, 89, 90, 438, 439, 864, 865, 667, 899, 669, - 440, 132, 441, 442, 448, 445, 478, 446, 674, 675, - 676, 869, 447, 679, 680, 681, 682, 683, 684, 685, - 449, 454, 878, 879, 880, 881, 882, 883, 884, 885, - 886, 887, 888, 889, 285, 286, 177, 178, 89, 90, - 179, 450, 900, 287, 904, 91, 908, 451, 912, 453, - 916, 456, 901, 920, 905, 457, 909, 479, 913, 458, - 917, 66, 67, 903, 463, 485, 511, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 513, 512, - 514, 516, 517, 947, 948, 949, 518, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 519, - 558, 520, 966, 967, 521, 527, 66, 67, 907, 971, - 528, 973, 68, 69, 70, 71, 72, 73, 74, 75, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 299, + 300, 188, 189, 324, 325, 190, 358, 24, 25, 26, + 27, 28, 29, 30, 31, 326, 32, 327, 34, 35, + 882, 37, 38, 328, 789, 329, 330, 797, 798, 331, + 299, 300, 188, 189, 332, 333, 190, 363, 427, 636, + 334, 50, 637, 335, 299, 300, 188, 189, 336, 811, + 190, 813, 337, 815, 371, 51, 52, 341, 379, 831, + 832, 299, 300, 188, 189, 390, 391, 190, 393, 808, + 428, 429, 809, 430, 431, 578, 579, 432, 581, 433, + 434, 435, 583, 584, 299, 300, 188, 189, 436, 851, + 190, 853, 965, 437, 438, 966, 299, 300, 188, 189, + 439, 863, 190, 440, 1264, 441, 442, 1265, 870, 871, + 872, 299, 300, 188, 189, 877, 59, 190, 443, 881, + 96, 97, 345, 444, 884, 885, 445, 919, 446, 447, + 139, 299, 300, 188, 189, 448, 449, 190, 627, 383, + 889, 630, 350, 450, 452, 453, 454, 455, 456, 457, + 463, 898, 899, 900, 901, 902, 903, 904, 905, 906, + 907, 908, 909, 653, 654, 461, 460, 462, 493, 659, + 660, 920, 464, 924, 469, 928, 666, 932, 673, 936, + 921, 465, 925, 940, 929, 466, 933, 468, 937, 471, + 685, 472, 687, 299, 300, 188, 189, 473, 478, 190, + 494, 692, 693, 694, 352, 500, 697, 698, 699, 700, + 701, 702, 703, 299, 300, 188, 189, 526, 527, 190, + 528, 372, 301, 967, 968, 969, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 529, 531, + 532, 544, 986, 987, 545, 533, 73, 74, 931, 991, + 543, 993, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 299, 300, 188, 189, 1020, 534, 190, + 299, 300, 188, 189, 479, 1028, 190, 535, 536, 574, + 1033, 483, 546, 1036, 547, 548, 549, 1040, -3, 22, + 580, 582, 23, 591, 592, 550, 1046, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 299, 300, + 188, 189, 513, 551, 190, 575, 644, 344, 24, 25, + 26, 27, 28, 29, 30, 31, 552, 32, 33, 34, + 35, 36, 37, 38, 838, 553, 554, 1070, 555, 39, + 40, 41, 42, 43, 44, 556, 45, 46, 47, 48, + 49, 557, 50, 558, 559, 560, 850, 561, 1266, 562, + 854, 563, 299, 300, 188, 189, 51, 52, 190, 564, + 590, 565, 566, 53, 54, 55, 567, 56, 57, 873, + 568, 593, 569, 58, 96, 97, 570, 299, 300, 188, + 189, 919, 1109, 190, 139, 372, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 571, 572, + 573, 576, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 596, 299, 300, 188, 189, 597, 59, 190, 1141, + 373, 1143, 598, 73, 74, 935, 599, 603, 600, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 564, 529, 530, 531, 1000, 532, 819, - 285, 286, 177, 178, 566, 1008, 179, 533, 574, 534, - 1013, 468, 535, 1016, 536, 537, 538, 1020, 559, 575, - 830, 539, 540, 541, 834, 542, 1026, 1027, 1028, 1029, - 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 498, 285, - 286, 177, 178, 853, 576, 179, 285, 286, 177, 178, - 469, 543, 179, 544, 89, 90, 577, 590, 545, 546, - 547, 899, 580, 548, 132, 549, 550, 1050, 551, 552, - 553, 285, 286, 177, 178, 554, 555, 179, 556, 66, - 67, 911, 787, 557, 560, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 581, 582, 583, 89, - 90, 584, 285, 286, 177, 178, 899, 585, 179, 132, - 586, 587, 1089, 1021, 24, 25, 26, 27, 28, 29, - 30, 31, 596, 32, 597, 34, 35, 598, 37, 38, - 599, 600, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1113, 285, 286, 177, 178, 601, 602, 179, 50, 1121, - 603, 1123, 1022, 285, 286, 177, 178, 604, 605, 179, - 608, 606, 51, 52, 1023, 607, 969, 66, 1120, 970, - 613, 625, 620, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 626, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1169, 1171, 1173, 630, 1010, 1176, - 1177, 1178, 89, 90, 285, 286, 177, 178, 54, 899, - 179, 631, 132, 632, 1024, 1038, 633, 285, 286, 177, - 178, 634, 637, 179, 639, 640, 643, 1201, 1039, 644, - 1204, 373, 645, 657, 646, 647, 656, 1211, 1212, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 658, 1222, 659, - 1224, 660, 689, 661, 716, 1229, 1230, 24, 25, 26, - 27, 28, 29, 30, 31, 663, 32, 666, 34, 35, - 1246, 37, 38, 739, 285, 286, 177, 178, 1242, 1243, - 179, 668, 670, 671, 711, 1249, 1250, 1251, 1252, 1253, - 1254, 50, 742, 743, 771, 744, 1260, 745, 772, 747, - 89, 90, 746, 1084, 1085, 51, 52, 91, 775, 776, - 1273, 748, 749, 750, 777, 751, 1278, 1279, 1280, 1281, - 1282, 1283, 1285, 1287, 1289, 753, 752, 780, 754, 755, - 756, 757, 1104, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 1308, 1309, 1310, 1311, 1312, - 1313, 1314, 758, 1316, 759, 1318, 285, 286, 177, 178, - 760, 54, 179, 285, 286, 177, 178, 1064, 762, 179, - 761, 358, 287, 1328, 1329, 1330, 285, 286, 177, 178, - 1145, 781, 179, 782, 783, 330, 784, 1342, 1343, 1344, - 1346, 1348, 1350, 763, 764, 1158, 767, 285, 286, 177, - 178, 785, 786, 179, 1362, 1363, 1364, 1365, 1202, 1367, - 765, 1369, 285, 286, 177, 178, 766, 768, 179, 285, - 286, 177, 178, 1259, 696, 179, 769, 814, 793, 795, - 1275, 1383, 1385, 1387, 799, 818, 820, 822, 824, 832, - 1394, 826, 1396, 1206, 1398, 66, 67, 915, 828, 835, - 836, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 299, 300, 188, 189, 601, 602, 190, 624, 612, 613, + 614, 484, 615, 616, 617, 1179, 1180, 1181, 1182, 1183, + 1184, 1185, 1186, 1187, 1189, 1191, 1193, 618, 629, 1196, + 1197, 1198, 714, 299, 300, 188, 189, 619, 620, 190, + 299, 300, 188, 189, 606, 621, 190, 638, 622, 623, + 643, 806, 648, 989, 649, 650, 990, 1221, 651, 652, + 1224, 655, 657, 658, 661, 662, 663, 1231, 1232, 1233, + 1234, 1235, 1236, 1237, 1238, 1239, 1240, 664, 1242, 665, + 1244, 299, 300, 188, 189, 1249, 1250, 190, 299, 300, + 188, 189, 1041, 674, 190, 1030, 707, 675, 676, 1042, + 677, 299, 300, 188, 189, 678, 679, 190, 1262, 1263, + 681, 1044, 1043, 684, 686, 1269, 1270, 1271, 1272, 1273, + 1274, 96, 97, 688, 689, 729, 1280, 734, 919, 790, + 791, 139, 299, 300, 188, 189, 758, 762, 190, 761, + 1293, 794, 763, 1058, 764, 766, 1298, 1299, 1300, 1301, + 1302, 1303, 1305, 1307, 1309, 765, 767, 795, 24, 25, + 26, 27, 28, 29, 30, 31, 768, 32, 769, 34, + 35, 770, 37, 38, 771, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 772, 1336, 773, 1338, 774, 299, 300, 188, + 189, 775, 50, 190, 776, 796, 777, 778, 1059, 780, + 1104, 1105, 779, 1348, 1349, 1350, 51, 52, 299, 300, + 188, 189, 781, 782, 190, 799, 415, 1362, 1363, 1364, + 1366, 1368, 1370, 783, 299, 300, 188, 189, 784, 1124, + 190, 785, 800, 346, 1382, 1383, 1384, 1385, 786, 1387, + 787, 1389, 299, 300, 188, 189, 788, 801, 190, 299, + 300, 188, 189, 1084, 802, 190, 803, 804, 805, 812, + 1222, 1403, 1405, 1407, 814, 818, 837, 59, 833, 839, + 1414, 841, 1416, 852, 1418, 843, 845, 1165, 299, 300, + 188, 189, 847, 856, 190, 855, 858, 73, 74, 1279, + 387, 857, 1178, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 299, 300, 188, 189, 859, 861, + 190, 299, 300, 188, 189, 1295, 862, 190, 299, 300, + 188, 189, 1310, 864, 190, 73, 74, 347, 865, 866, + 1226, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 73, 74, 867, 868, 874, 875, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 285, 286, 177, 178, 837, 838, 179, 285, - 286, 177, 178, 1290, 839, 179, 841, 842, 332, 844, - 66, 67, 845, 848, 846, 1248, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 847, 854, 855, - 66, 67, 858, 859, 860, 1276, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 285, 286, 177, - 178, 863, 871, 179, 1306, 868, 333, 285, 286, 177, - 178, 870, 872, 179, 873, 896, 335, 285, 286, 177, - 178, 897, 902, 179, 906, 910, 339, 919, 285, 286, - 177, 178, 914, 1327, 179, 950, 968, 340, 89, 90, - 285, 286, 177, 178, 918, 899, 179, 1341, 132, 345, - 285, 286, 177, 178, 921, 923, 179, 924, 951, 378, - 285, 286, 177, 178, 925, 927, 179, 926, 930, 381, - 285, 286, 177, 178, 931, 929, 179, 935, 972, 390, - 936, 937, 940, 89, 90, 939, 942, 975, 976, 979, - 91, -3, 22, 227, 981, 23, 285, 286, 177, 178, - 983, 985, 179, 987, 989, 391, 991, 993, 996, 999, - 1001, 1003, 1004, 175, 176, 177, 178, 1005, 1006, 179, - 91, 24, 25, 26, 27, 28, 29, 30, 31, 1014, - 32, 33, 34, 35, 36, 37, 38, 1007, 1009, 1019, - 1011, 1012, 39, 40, 41, 42, 43, 44, 181, 45, - 46, 47, 48, 49, 1015, 50, 285, 286, 177, 178, - 1017, 1018, 179, 1025, 1040, 392, 1041, 1043, 1044, 51, - 52, 285, 286, 177, 178, 1046, 53, 179, 1051, 1047, - 393, 285, 286, 177, 178, 1048, 1052, 179, 1049, 1055, - 394, 285, 286, 177, 178, 1053, 1058, 179, 1056, 1060, - 395, 1062, 1063, 1065, 1066, 1069, 182, 183, 184, 1117, - 1082, 1083, 1094, 1095, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 1096, 54, 1098, 1099, 1100, 1101, - 1102, 1118, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 1119, 205, 206, 207, 208, 209, 210, 285, - 286, 177, 178, 1122, 1126, 179, 1146, 1152, 396, 285, - 286, 177, 178, 1127, 1124, 179, 1153, 1155, 397, 285, - 286, 177, 178, 1125, 1128, 179, 1129, 1142, 398, 285, - 286, 177, 178, 1130, 1132, 179, 1156, 1261, 399, 285, - 286, 177, 178, 1143, 1144, 179, 1147, 1157, 401, 285, - 286, 177, 178, 1174, 1181, 179, 1175, 1182, 402, 285, - 286, 177, 178, 1179, 1200, 179, 1180, 1207, 403, 285, - 286, 177, 178, 1183, 1184, 179, 1208, 1209, 404, 285, - 286, 177, 178, 1210, 1221, 179, 1223, 1225, 405, 285, - 286, 177, 178, 1226, 1228, 179, 1231, 1270, 406, 285, - 286, 177, 178, 1232, 1262, 179, 1263, 1271, 452, 285, - 286, 177, 178, 1274, 1272, 179, 1291, 1305, 455, 285, - 286, 177, 178, 1307, 1292, 179, 1315, 1317, 465, 285, - 286, 177, 178, 1319, 1320, 179, 1334, 1338, 466, 285, - 286, 177, 178, 1339, 1340, 179, 1351, 1366, 470, 285, - 286, 177, 178, 1368, 1370, 179, 1375, 1371, 471, 285, - 286, 177, 178, 1379, 1380, 179, 1395, 1381, 472, 285, - 286, 177, 178, 1397, 1399, 179, 1401, 1402, 473, 285, - 286, 177, 178, 595, 58, 179, 59, 60, 474, 285, - 286, 177, 178, 1103, 572, 179, 817, 0, 515, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 522, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 621, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 622, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 623, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 624, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 712, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 788, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 928, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 932, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 934, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1057, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1059, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1061, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1079, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1080, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1081, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1239, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1240, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1241, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1324, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1325, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1326, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1372, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1373, 285, - 286, 177, 178, 0, 0, 179, 0, 0, 1374, 285, - 286, 177, 178, 0, 0, 179, 0, 359, 285, 286, - 177, 178, 0, 0, 179, 0, 400, 285, 286, 177, - 178, 0, 0, 179, 0, 407, 285, 286, 177, 178, - 0, 0, 179, 0, 408, 285, 286, 177, 178, 0, - 0, 179, 0, 409, 285, 286, 177, 178, 0, 0, - 179, 0, 481, 285, 286, 177, 178, 0, 0, 179, - 0, 482, 285, 286, 177, 178, 0, 0, 179, 0, - 483, 285, 286, 177, 178, 0, 0, 179, 0, 588, - 285, 286, 177, 178, 0, 0, 179, 0, 589, 285, - 286, 177, 178, 0, 0, 179, 0, 709, 285, 286, - 177, 178, 0, 0, 179, 0, 710, 285, 286, 177, - 178, 0, 0, 179, 0, 740, 285, 286, 177, 178, - 0, 0, 179, 0, 741, 285, 286, 177, 178, 0, - 0, 179, 0, 774, 285, 286, 177, 178, 0, 0, - 179, 0, 800, 285, 286, 177, 178, 0, 0, 179, - 0, 801, 285, 286, 177, 178, 0, 0, 179, 0, - 802, 285, 286, 177, 178, 0, 0, 179, 0, 803, - 285, 286, 177, 178, 0, 0, 179, 0, 804, 285, - 286, 177, 178, 0, 0, 179, 0, 805, 285, 286, - 177, 178, 0, 0, 179, 0, 806, 285, 286, 177, - 178, 0, 0, 179, 0, 807, 285, 286, 177, 178, - 0, 0, 179, 0, 808, 285, 286, 177, 178, 0, - 0, 179, 0, 809, 285, 286, 177, 178, 0, 0, - 179, 0, 810, 285, 286, 177, 178, 0, 0, 179, - 0, 811, 285, 286, 177, 178, 0, 0, 179, 0, - 890, 285, 286, 177, 178, 0, 0, 179, 0, 891, - 285, 286, 177, 178, 0, 0, 179, 0, 922, 285, - 286, 177, 178, 0, 0, 179, 0, 933, 285, 286, - 177, 178, 0, 0, 179, 0, 938, 285, 286, 177, - 178, 0, 0, 179, 0, 941, 285, 286, 177, 178, - 0, 0, 179, 0, 943, 285, 286, 177, 178, 0, - 0, 179, 0, 954, 285, 286, 177, 178, 0, 0, - 179, 0, 955, 285, 286, 177, 178, 0, 0, 179, - 0, 956, 285, 286, 177, 178, 0, 0, 179, 0, - 957, 285, 286, 177, 178, 0, 0, 179, 0, 958, - 285, 286, 177, 178, 0, 0, 179, 0, 959, 285, - 286, 177, 178, 0, 0, 179, 0, 960, 285, 286, - 177, 178, 0, 0, 179, 0, 961, 285, 286, 177, - 178, 0, 0, 179, 0, 962, 285, 286, 177, 178, - 0, 0, 179, 0, 963, 285, 286, 177, 178, 0, - 0, 179, 0, 964, 285, 286, 177, 178, 0, 0, - 179, 0, 965, 285, 286, 177, 178, 0, 0, 179, - 0, 1054, 285, 286, 177, 178, 0, 0, 179, 0, - 1070, 285, 286, 177, 178, 0, 0, 179, 0, 1071, - 285, 286, 177, 178, 0, 0, 179, 0, 1072, 285, - 286, 177, 178, 0, 0, 179, 0, 1073, 285, 286, - 177, 178, 0, 0, 179, 0, 1074, 285, 286, 177, - 178, 0, 0, 179, 0, 1075, 285, 286, 177, 178, - 0, 0, 179, 0, 1076, 285, 286, 177, 178, 0, - 0, 179, 0, 1077, 285, 286, 177, 178, 0, 0, - 179, 0, 1078, 285, 286, 177, 178, 0, 0, 179, - 0, 1133, 285, 286, 177, 178, 0, 0, 179, 0, - 1134, 285, 286, 177, 178, 0, 0, 179, 0, 1135, - 285, 286, 177, 178, 0, 0, 179, 0, 1136, 285, - 286, 177, 178, 0, 0, 179, 0, 1137, 285, 286, - 177, 178, 0, 0, 179, 0, 1138, 285, 286, 177, - 178, 0, 0, 179, 0, 1139, 285, 286, 177, 178, - 0, 0, 179, 0, 1140, 285, 286, 177, 178, 0, - 0, 179, 0, 1141, 285, 286, 177, 178, 0, 0, - 179, 0, 1148, 285, 286, 177, 178, 0, 0, 179, - 0, 1185, 285, 286, 177, 178, 0, 0, 179, 0, - 1186, 285, 286, 177, 178, 0, 0, 179, 0, 1187, - 285, 286, 177, 178, 0, 0, 179, 0, 1188, 285, - 286, 177, 178, 0, 0, 179, 0, 1189, 285, 286, - 177, 178, 0, 0, 179, 0, 1190, 285, 286, 177, - 178, 0, 0, 179, 0, 1191, 285, 286, 177, 178, - 0, 0, 179, 0, 1192, 285, 286, 177, 178, 0, - 0, 179, 0, 1193, 285, 286, 177, 178, 0, 0, - 179, 0, 1203, 285, 286, 177, 178, 0, 0, 179, - 0, 1227, 285, 286, 177, 178, 0, 0, 179, 0, - 1233, 285, 286, 177, 178, 0, 0, 179, 0, 1234, - 285, 286, 177, 178, 0, 0, 179, 0, 1235, 285, - 286, 177, 178, 0, 0, 179, 0, 1236, 285, 286, - 177, 178, 0, 0, 179, 0, 1237, 285, 286, 177, - 178, 0, 0, 179, 0, 1238, 285, 286, 177, 178, - 0, 0, 179, 0, 1258, 285, 286, 177, 178, 0, - 0, 179, 0, 1264, 285, 286, 177, 178, 0, 0, - 179, 0, 1265, 285, 286, 177, 178, 0, 0, 179, - 0, 1266, 285, 286, 177, 178, 0, 0, 179, 0, - 1267, 285, 286, 177, 178, 0, 0, 179, 0, 1268, - 285, 286, 177, 178, 0, 0, 179, 0, 1269, 285, - 286, 177, 178, 0, 0, 179, 0, 1293, 285, 286, - 177, 178, 0, 0, 179, 0, 1294, 285, 286, 177, - 178, 0, 0, 179, 0, 1295, 285, 286, 177, 178, - 0, 0, 179, 0, 1296, 285, 286, 177, 178, 0, - 0, 179, 0, 1297, 285, 286, 177, 178, 0, 0, - 179, 0, 1298, 285, 286, 177, 178, 0, 0, 179, - 0, 1321, 285, 286, 177, 178, 0, 0, 179, 0, - 1322, 285, 286, 177, 178, 0, 0, 179, 0, 1323, - 285, 286, 177, 178, 0, 0, 179, 0, 1335, 285, - 286, 177, 178, 0, 0, 179, 0, 1336, 285, 286, - 177, 178, 0, 0, 179, 0, 1337, 285, 286, 177, - 178, 0, 0, 179, 0, 1352, 285, 286, 177, 178, - 0, 0, 179, 0, 1353, 285, 286, 177, 178, 0, - 0, 179, 0, 1354 + 87, 88, 89, 90, 91, 92, 93, 94, 95, 73, + 1140, 878, 1268, 879, 888, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 880, 299, 300, 188, + 189, 883, 1296, 190, 891, 890, 349, 917, 299, 300, + 188, 189, 892, 893, 190, 96, 97, 353, 299, 300, + 188, 189, 98, 916, 190, 238, 939, 354, 970, 922, + 926, 1326, 930, 24, 25, 26, 27, 28, 29, 30, + 31, 934, 32, 938, 34, 35, 941, 37, 38, 299, + 300, 188, 189, 943, 944, 190, 192, 946, 359, 945, + 1347, 947, 971, 186, 187, 188, 189, 50, 949, 190, + 98, 950, 988, 955, 1361, 992, 951, 299, 300, 188, + 189, 51, 52, 190, 956, 957, 392, 959, 995, 960, + 96, 97, 299, 300, 188, 189, 962, 98, 190, 996, + 999, 395, 299, 300, 188, 189, 1001, 1037, 190, 1003, + 1005, 405, 1007, 1009, 1011, 1013, 1016, 96, 97, 193, + 194, 195, 1019, 1021, 98, 1024, 1023, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 1039, 1025, 1026, + 1027, 1029, 59, 1031, 1032, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 1034, 216, 217, 218, 219, + 220, 221, 299, 300, 188, 189, 1035, 1038, 190, 1045, + 1060, 406, 299, 300, 188, 189, 1061, 1063, 190, 1075, + 1064, 407, 299, 300, 188, 189, 1066, 1067, 190, 1068, + 1069, 408, 299, 300, 188, 189, 1071, 1072, 190, 1073, + 1085, 409, 299, 300, 188, 189, 1076, 1078, 190, 1080, + 1086, 410, 299, 300, 188, 189, 1082, 1083, 190, 1089, + 1102, 411, 299, 300, 188, 189, 1103, 1121, 190, 1114, + 1115, 412, 299, 300, 188, 189, 1116, 1122, 190, 1118, + 1119, 413, 299, 300, 188, 189, 1120, 1137, 190, 1138, + 1139, 414, 299, 300, 188, 189, 1142, 1144, 190, 1146, + 1166, 416, 299, 300, 188, 189, 1162, 1175, 190, 1172, + 1173, 417, 299, 300, 188, 189, 1147, 1145, 190, 1176, + 1220, 418, 299, 300, 188, 189, 1148, 1149, 190, 1150, + 1163, 419, 299, 300, 188, 189, 1177, 1164, 190, 1152, + 1195, 420, 299, 300, 188, 189, 1167, 1194, 190, 1199, + 1203, 421, 299, 300, 188, 189, 1200, 1204, 190, 1201, + 1227, 467, 299, 300, 188, 189, 1202, 1251, 190, 1228, + 1229, 470, 299, 300, 188, 189, 1230, 1246, 190, 1241, + 1243, 480, 299, 300, 188, 189, 1245, 1252, 190, 1248, + 1281, 481, 299, 300, 188, 189, 1282, 1283, 190, 1294, + 1290, 485, 299, 300, 188, 189, 1291, 1292, 190, 1311, + 1325, 486, 299, 300, 188, 189, 1312, 1340, 190, 1327, + 1335, 487, 299, 300, 188, 189, 1337, 1354, 190, 1339, + 1358, 488, 299, 300, 188, 189, 1359, 1360, 190, 1386, + 1388, 489, 299, 300, 188, 189, 1371, 1399, 190, 1390, + 1395, 530, 299, 300, 188, 189, 1391, 1421, 190, 1400, + 1401, 538, 299, 300, 188, 189, 1415, 1422, 190, 1417, + 1419, 639, 299, 300, 188, 189, 611, 1123, 190, 63, + 64, 640, 299, 300, 188, 189, 65, 588, 190, 836, + 0, 641, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 642, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 730, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 807, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 849, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 948, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 952, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 954, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1077, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1079, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1081, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1099, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1100, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1101, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1259, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1260, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1261, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1344, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1345, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1346, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1392, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1393, 299, 300, 188, 189, 0, 0, 190, 0, + 0, 1394, 299, 300, 188, 189, 0, 0, 190, 0, + 422, 299, 300, 188, 189, 0, 0, 190, 0, 423, + 299, 300, 188, 189, 0, 0, 190, 0, 424, 299, + 300, 188, 189, 0, 0, 190, 0, 496, 299, 300, + 188, 189, 0, 0, 190, 0, 497, 299, 300, 188, + 189, 0, 0, 190, 0, 498, 299, 300, 188, 189, + 0, 0, 190, 0, 604, 299, 300, 188, 189, 0, + 0, 190, 0, 605, 299, 300, 188, 189, 0, 0, + 190, 0, 727, 299, 300, 188, 189, 0, 0, 190, + 0, 728, 299, 300, 188, 189, 0, 0, 190, 0, + 759, 299, 300, 188, 189, 0, 0, 190, 0, 760, + 299, 300, 188, 189, 0, 0, 190, 0, 793, 299, + 300, 188, 189, 0, 0, 190, 0, 819, 299, 300, + 188, 189, 0, 0, 190, 0, 820, 299, 300, 188, + 189, 0, 0, 190, 0, 821, 299, 300, 188, 189, + 0, 0, 190, 0, 822, 299, 300, 188, 189, 0, + 0, 190, 0, 823, 299, 300, 188, 189, 0, 0, + 190, 0, 824, 299, 300, 188, 189, 0, 0, 190, + 0, 825, 299, 300, 188, 189, 0, 0, 190, 0, + 826, 299, 300, 188, 189, 0, 0, 190, 0, 827, + 299, 300, 188, 189, 0, 0, 190, 0, 828, 299, + 300, 188, 189, 0, 0, 190, 0, 829, 299, 300, + 188, 189, 0, 0, 190, 0, 830, 299, 300, 188, + 189, 0, 0, 190, 0, 910, 299, 300, 188, 189, + 0, 0, 190, 0, 911, 299, 300, 188, 189, 0, + 0, 190, 0, 942, 299, 300, 188, 189, 0, 0, + 190, 0, 953, 299, 300, 188, 189, 0, 0, 190, + 0, 958, 299, 300, 188, 189, 0, 0, 190, 0, + 961, 299, 300, 188, 189, 0, 0, 190, 0, 963, + 299, 300, 188, 189, 0, 0, 190, 0, 974, 299, + 300, 188, 189, 0, 0, 190, 0, 975, 299, 300, + 188, 189, 0, 0, 190, 0, 976, 299, 300, 188, + 189, 0, 0, 190, 0, 977, 299, 300, 188, 189, + 0, 0, 190, 0, 978, 299, 300, 188, 189, 0, + 0, 190, 0, 979, 299, 300, 188, 189, 0, 0, + 190, 0, 980, 299, 300, 188, 189, 0, 0, 190, + 0, 981, 299, 300, 188, 189, 0, 0, 190, 0, + 982, 299, 300, 188, 189, 0, 0, 190, 0, 983, + 299, 300, 188, 189, 0, 0, 190, 0, 984, 299, + 300, 188, 189, 0, 0, 190, 0, 985, 299, 300, + 188, 189, 0, 0, 190, 0, 1074, 299, 300, 188, + 189, 0, 0, 190, 0, 1090, 299, 300, 188, 189, + 0, 0, 190, 0, 1091, 299, 300, 188, 189, 0, + 0, 190, 0, 1092, 299, 300, 188, 189, 0, 0, + 190, 0, 1093, 299, 300, 188, 189, 0, 0, 190, + 0, 1094, 299, 300, 188, 189, 0, 0, 190, 0, + 1095, 299, 300, 188, 189, 0, 0, 190, 0, 1096, + 299, 300, 188, 189, 0, 0, 190, 0, 1097, 299, + 300, 188, 189, 0, 0, 190, 0, 1098, 299, 300, + 188, 189, 0, 0, 190, 0, 1153, 299, 300, 188, + 189, 0, 0, 190, 0, 1154, 299, 300, 188, 189, + 0, 0, 190, 0, 1155, 299, 300, 188, 189, 0, + 0, 190, 0, 1156, 299, 300, 188, 189, 0, 0, + 190, 0, 1157, 299, 300, 188, 189, 0, 0, 190, + 0, 1158, 299, 300, 188, 189, 0, 0, 190, 0, + 1159, 299, 300, 188, 189, 0, 0, 190, 0, 1160, + 299, 300, 188, 189, 0, 0, 190, 0, 1161, 299, + 300, 188, 189, 0, 0, 190, 0, 1168, 299, 300, + 188, 189, 0, 0, 190, 0, 1205, 299, 300, 188, + 189, 0, 0, 190, 0, 1206, 299, 300, 188, 189, + 0, 0, 190, 0, 1207, 299, 300, 188, 189, 0, + 0, 190, 0, 1208, 299, 300, 188, 189, 0, 0, + 190, 0, 1209, 299, 300, 188, 189, 0, 0, 190, + 0, 1210, 299, 300, 188, 189, 0, 0, 190, 0, + 1211, 299, 300, 188, 189, 0, 0, 190, 0, 1212, + 299, 300, 188, 189, 0, 0, 190, 0, 1213, 299, + 300, 188, 189, 0, 0, 190, 0, 1223, 299, 300, + 188, 189, 0, 0, 190, 0, 1247, 299, 300, 188, + 189, 0, 0, 190, 0, 1253, 299, 300, 188, 189, + 0, 0, 190, 0, 1254, 299, 300, 188, 189, 0, + 0, 190, 0, 1255, 299, 300, 188, 189, 0, 0, + 190, 0, 1256, 299, 300, 188, 189, 0, 0, 190, + 0, 1257, 299, 300, 188, 189, 0, 0, 190, 0, + 1258, 299, 300, 188, 189, 0, 0, 190, 0, 1278, + 299, 300, 188, 189, 0, 0, 190, 0, 1284, 299, + 300, 188, 189, 0, 0, 190, 0, 1285, 299, 300, + 188, 189, 0, 0, 190, 0, 1286, 299, 300, 188, + 189, 0, 0, 190, 0, 1287, 299, 300, 188, 189, + 0, 0, 190, 0, 1288, 299, 300, 188, 189, 0, + 0, 190, 0, 1289, 299, 300, 188, 189, 0, 0, + 190, 0, 1313, 299, 300, 188, 189, 0, 0, 190, + 0, 1314, 299, 300, 188, 189, 0, 0, 190, 0, + 1315, 299, 300, 188, 189, 0, 0, 190, 0, 1316, + 299, 300, 188, 189, 0, 0, 190, 0, 1317, 299, + 300, 188, 189, 0, 0, 190, 0, 1318, 299, 300, + 188, 189, 0, 0, 190, 0, 1341, 299, 300, 188, + 189, 0, 0, 190, 0, 1342, 299, 300, 188, 189, + 0, 0, 190, 0, 1343, 299, 300, 188, 189, 0, + 0, 190, 0, 1355, 299, 300, 188, 189, 0, 0, + 190, 0, 1356, 299, 300, 188, 189, 0, 0, 190, + 0, 1357, 299, 300, 188, 189, 0, 0, 190, 0, + 1372, 299, 300, 188, 189, 0, 0, 190, 0, 1373, + 299, 300, 188, 189, 0, 0, 190, 0, 1374 }; static const short yycheck[] = { 7, - 246, 102, 747, 34, 6, 81, 814, 876, 59, 139, - 57, 756, 4, 4, 65, 154, 155, 59, 763, 59, - 57, 4, 4, 65, 153, 65, 6, 6, 63, 6, - 7, 30, 4, 4, 33, 34, 6, 36, 7, 41, - 3, 4, 153, 41, 153, 156, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 6, 906, 6, - 30, 6, 910, 33, 34, 153, 914, 153, 156, 137, - 918, 89, 90, 91, 92, 6, 48, 49, 146, 147, - 148, 149, 84, 84, 152, 154, 155, 105, 106, 107, - 108, 109, 84, 111, 112, 6, 114, 115, 116, 156, - 118, 6, 84, 84, 922, 157, 153, 157, 6, 156, - 6, 156, 153, 131, 132, 6, 153, 86, 87, 88, - 89, 90, 130, 51, 52, 53, 54, 135, 56, 147, - 978, 149, 6, 153, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 7, 157, 157, 175, 176, 177, - 178, 179, 180, 156, 34, 157, 156, 156, 923, 153, - 153, 6, 927, 146, 147, 157, 157, 153, 6, 137, - 153, 38, 140, 34, 142, 158, 30, 6, 157, 33, - 148, 149, 148, 149, 152, 34, 152, 146, 147, 148, - 149, 153, 220, 152, 8, 223, 36, 5, 156, 227, - 6, 46, 156, 231, 232, 233, 156, 235, 236, 237, - 238, 239, 240, 241, 1103, 6, 153, 156, 34, 156, - 248, 249, 250, 6, 6, 146, 147, 148, 149, 33, - 34, 152, 36, 261, 5, 153, 264, 255, 146, 147, - 148, 149, 6, 156, 152, 146, 147, 148, 149, 6, - 34, 152, 154, 3, 4, 157, 153, 285, 286, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 137, 154, 153, 140, 157, 142, 1051, 1052, 1053, 1054, - 5, 148, 149, 1058, 154, 152, 154, 157, 153, 157, - 117, 146, 147, 148, 149, 122, 153, 152, 146, 147, - 148, 149, 154, 156, 152, 157, 344, 146, 147, 148, - 149, 349, 154, 152, 141, 157, 153, 153, 145, 146, - 358, 359, 146, 147, 148, 149, 156, 365, 152, 357, - 146, 147, 148, 149, 372, 156, 152, 146, 147, 148, - 149, 154, 153, 152, 157, 146, 147, 148, 149, 1124, - 1125, 152, 156, 1128, 146, 147, 148, 149, 154, 156, - 152, 157, 400, 94, 95, 96, 97, 98, 153, 407, - 408, 409, 146, 147, 148, 149, 153, 153, 152, 146, - 147, 148, 149, 153, 153, 152, 146, 147, 148, 149, - 156, 154, 152, 153, 157, 153, 156, 146, 147, 148, - 149, 153, 153, 152, 1179, 0, 1, 153, 3, 154, - 159, 153, 157, 689, 0, 1, 154, 3, 153, 157, - 448, 459, 460, 139, 154, 154, 142, 157, 157, 560, - 30, 31, 32, 33, 34, 35, 36, 37, 153, 39, - 154, 41, 42, 157, 44, 45, 154, 154, 137, 157, - 157, 153, 153, 481, 482, 483, 1231, 146, 147, 148, - 149, 156, 154, 152, 64, 157, 146, 147, 148, 149, - 153, 153, 152, 511, 512, 140, 514, 157, 78, 79, - 153, 146, 147, 148, 149, 153, 153, 152, 1263, 153, - 153, 529, 530, 146, 147, 148, 149, 153, 153, 152, - 6, 154, 156, 531, 157, 146, 147, 148, 149, 153, - 152, 152, 540, 154, 109, 110, 111, 112, 113, 114, - 115, 116, 153, 109, 110, 111, 112, 113, 114, 115, - 116, 569, 153, 153, 134, 153, 574, 153, 153, 153, - 135, 136, 153, 138, 153, 153, 153, 153, 153, 587, - 588, 589, 153, 5, 153, 153, 153, 157, 596, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 153, 153, 146, 147, 148, 149, 1351, 153, 152, 154, - 154, 153, 620, 157, 153, 153, 153, 625, 3, 4, - 5, 153, 868, 153, 9, 10, 11, 12, 13, 14, + 257, 109, 896, 34, 63, 81, 6, 833, 144, 30, + 59, 766, 33, 34, 57, 36, 65, 4, 4, 4, + 775, 57, 926, 6, 7, 59, 930, 782, 4, 6, + 934, 65, 4, 6, 938, 6, 6, 59, 3, 4, + 4, 41, 41, 65, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 153, 146, 147, 148, 149, - 153, 153, 152, 450, 451, 153, 453, 157, 155, 154, - 457, 458, 7, 7, 154, 3, 4, 665, 769, 677, - 678, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 690, 154, 692, 7, 694, 146, 147, 148, - 149, 709, 710, 152, 7, 154, 82, 5, 157, 146, - 147, 148, 149, 5, 5, 152, 513, 5, 5, 516, - 157, 5, 146, 147, 148, 149, 5, 5, 152, 5, - 738, 5, 740, 157, 5, 5, 5, 5, 5, 5, - 537, 538, 750, 5, 5, 5, 543, 544, 5, 757, - 758, 759, 5, 550, 5, 552, 764, 5, 127, 5, - 768, 146, 147, 5, 5, 773, 774, 564, 153, 566, - 5, 156, 3, 5, 7, 5, 157, 6, 575, 576, - 577, 789, 5, 580, 581, 582, 583, 584, 585, 586, - 6, 6, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 809, 810, 811, 146, 147, 148, 149, 146, 147, - 152, 7, 820, 155, 822, 153, 824, 7, 826, 7, - 828, 6, 820, 831, 822, 7, 824, 157, 826, 7, - 828, 3, 4, 5, 7, 156, 156, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 7, 156, - 153, 7, 156, 871, 872, 873, 156, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 156, - 5, 156, 890, 891, 156, 141, 3, 4, 5, 897, - 154, 899, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 7, 154, 154, 154, 925, 154, 716, - 146, 147, 148, 149, 7, 933, 152, 154, 156, 154, - 938, 157, 154, 941, 154, 154, 154, 945, 155, 7, - 737, 154, 154, 154, 741, 154, 954, 955, 956, 957, - 958, 959, 960, 961, 962, 963, 964, 965, 157, 146, - 147, 148, 149, 760, 7, 152, 146, 147, 148, 149, - 157, 154, 152, 154, 146, 147, 7, 157, 154, 154, - 154, 153, 7, 154, 156, 154, 154, 995, 154, 154, - 154, 146, 147, 148, 149, 154, 154, 152, 154, 3, - 4, 5, 157, 154, 154, 9, 10, 11, 12, 13, + 25, 26, 27, 28, 29, 91, 92, 93, 94, 95, + 30, 7, 142, 33, 34, 145, 6, 147, 33, 34, + 6, 36, 158, 153, 154, 159, 160, 157, 96, 97, + 98, 99, 153, 154, 998, 6, 157, 84, 84, 84, + 158, 6, 161, 161, 112, 113, 114, 115, 116, 6, + 118, 119, 84, 121, 122, 123, 942, 125, 161, 158, + 84, 158, 158, 158, 161, 161, 6, 158, 162, 30, + 138, 139, 33, 6, 159, 158, 162, 162, 137, 159, + 162, 159, 162, 142, 162, 6, 154, 7, 156, 46, + 158, 158, 158, 158, 161, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 162, 162, 162, 186, 187, + 188, 189, 190, 191, 161, 161, 151, 152, 943, 6, + 162, 161, 947, 158, 3, 4, 48, 49, 162, 164, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 159, 6, 231, 162, 159, 234, 158, 162, 1123, + 238, 8, 159, 160, 242, 243, 244, 6, 246, 247, + 248, 249, 250, 251, 252, 51, 52, 53, 54, 158, + 56, 259, 260, 261, 151, 152, 153, 154, 6, 159, + 157, 34, 162, 159, 272, 159, 162, 266, 162, 158, + 278, 151, 152, 153, 154, 38, 34, 157, 151, 152, + 153, 154, 6, 159, 157, 5, 162, 3, 4, 5, + 34, 299, 300, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 6, 142, 1071, 1072, 1073, 1074, + 161, 36, 161, 1078, 151, 152, 153, 154, 159, 159, + 157, 162, 162, 161, 151, 152, 153, 154, 159, 34, + 157, 162, 151, 152, 153, 154, 161, 6, 157, 158, + 358, 159, 161, 5, 162, 363, 6, 99, 100, 101, + 102, 103, 158, 6, 372, 373, 161, 151, 152, 153, + 154, 379, 371, 157, 151, 152, 153, 154, 386, 6, + 157, 6, 151, 152, 153, 154, 158, 5, 157, 1144, + 1145, 5, 34, 1148, 124, 403, 5, 159, 159, 129, + 162, 162, 158, 151, 152, 153, 154, 415, 159, 157, + 159, 162, 158, 162, 422, 423, 424, 146, 148, 158, + 149, 158, 152, 153, 158, 158, 158, 151, 152, 153, + 154, 158, 158, 157, 6, 151, 152, 151, 152, 153, + 154, 158, 158, 157, 1199, 161, 0, 1, 158, 3, + 707, 165, 158, 158, 0, 1, 158, 3, 158, 151, + 152, 153, 154, 161, 463, 157, 474, 475, 576, 3, + 4, 5, 158, 158, 158, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 7, 7, 7, 146, - 147, 7, 146, 147, 148, 149, 153, 7, 152, 156, - 7, 154, 1050, 157, 30, 31, 32, 33, 34, 35, - 36, 37, 153, 39, 153, 41, 42, 153, 44, 45, - 153, 153, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 146, 147, 148, 149, 153, 153, 152, 64, 1087, - 153, 1089, 157, 146, 147, 148, 149, 153, 153, 152, - 6, 153, 78, 79, 157, 153, 893, 3, 4, 896, - 7, 137, 7, 9, 10, 11, 12, 13, 14, 15, + 24, 25, 26, 27, 28, 29, 1251, 496, 497, 498, + 158, 151, 152, 153, 154, 158, 161, 157, 151, 152, + 153, 154, 158, 158, 157, 6, 6, 158, 526, 527, + 158, 529, 158, 158, 151, 152, 153, 154, 1283, 142, + 157, 161, 145, 161, 147, 158, 158, 545, 546, 158, + 153, 154, 158, 142, 157, 5, 161, 132, 547, 161, + 161, 161, 151, 152, 153, 154, 158, 556, 157, 157, + 114, 115, 116, 117, 118, 119, 120, 121, 114, 115, + 116, 117, 118, 119, 120, 121, 158, 585, 151, 152, + 153, 154, 590, 158, 157, 159, 140, 141, 158, 143, + 163, 158, 158, 158, 158, 603, 604, 605, 158, 158, + 158, 158, 158, 158, 612, 613, 614, 615, 616, 617, + 618, 619, 620, 621, 622, 623, 1371, 151, 152, 151, + 152, 153, 154, 158, 158, 157, 159, 161, 160, 637, + 638, 888, 3, 4, 5, 643, 158, 158, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 151, + 152, 153, 154, 158, 158, 157, 7, 30, 31, 32, + 33, 34, 35, 36, 37, 158, 39, 158, 41, 42, + 788, 44, 45, 158, 683, 158, 158, 695, 696, 158, + 151, 152, 153, 154, 158, 158, 157, 7, 145, 160, + 158, 64, 163, 158, 151, 152, 153, 154, 158, 708, + 157, 710, 158, 712, 159, 78, 79, 160, 159, 727, + 728, 151, 152, 153, 154, 7, 7, 157, 82, 159, + 5, 5, 162, 5, 5, 465, 466, 5, 468, 5, + 5, 5, 472, 473, 151, 152, 153, 154, 5, 757, + 157, 759, 159, 5, 5, 162, 151, 152, 153, 154, + 5, 769, 157, 5, 159, 5, 5, 162, 776, 777, + 778, 151, 152, 153, 154, 783, 139, 157, 5, 787, + 151, 152, 162, 5, 792, 793, 5, 158, 5, 5, + 161, 151, 152, 153, 154, 5, 5, 157, 528, 162, + 808, 531, 162, 5, 5, 5, 5, 5, 3, 5, + 7, 819, 820, 821, 822, 823, 824, 825, 826, 827, + 828, 829, 830, 553, 554, 6, 5, 5, 162, 559, + 560, 839, 6, 841, 6, 843, 566, 845, 568, 847, + 839, 7, 841, 851, 843, 7, 845, 7, 847, 6, + 580, 7, 582, 151, 152, 153, 154, 7, 7, 157, + 162, 591, 592, 593, 162, 161, 596, 597, 598, 599, + 600, 601, 602, 151, 152, 153, 154, 161, 161, 157, + 7, 159, 160, 891, 892, 893, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 158, 7, + 161, 159, 910, 911, 159, 161, 3, 4, 5, 917, + 146, 919, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 151, 152, 153, 154, 945, 161, 157, + 151, 152, 153, 154, 162, 953, 157, 161, 161, 5, + 958, 162, 159, 961, 159, 159, 159, 965, 0, 1, + 7, 7, 4, 7, 7, 159, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, 151, 152, + 153, 154, 162, 159, 157, 160, 3, 160, 30, 31, + 32, 33, 34, 35, 36, 37, 159, 39, 40, 41, + 42, 43, 44, 45, 734, 159, 159, 1015, 159, 51, + 52, 53, 54, 55, 56, 159, 58, 59, 60, 61, + 62, 159, 64, 159, 159, 159, 756, 159, 147, 159, + 760, 159, 151, 152, 153, 154, 78, 79, 157, 159, + 161, 159, 159, 85, 86, 87, 159, 89, 90, 779, + 159, 7, 159, 95, 151, 152, 159, 151, 152, 153, + 154, 158, 1070, 157, 161, 159, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 159, 159, + 159, 159, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, + 1098, 7, 151, 152, 153, 154, 7, 139, 157, 1107, + 159, 1109, 7, 3, 4, 5, 7, 159, 7, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 151, 152, 153, 154, 7, 7, 157, 6, 158, 158, + 158, 162, 158, 158, 158, 1153, 1154, 1155, 1156, 1157, + 1158, 1159, 1160, 1161, 1162, 1163, 1164, 158, 7, 1167, + 1168, 1169, 162, 151, 152, 153, 154, 158, 158, 157, + 151, 152, 153, 154, 162, 158, 157, 7, 158, 158, + 142, 162, 3, 913, 3, 153, 916, 1195, 3, 3, + 1198, 3, 3, 3, 3, 3, 3, 1205, 1206, 1207, + 1208, 1209, 1210, 1211, 1212, 1213, 1214, 3, 1216, 3, + 1218, 151, 152, 153, 154, 1223, 1224, 157, 151, 152, + 153, 154, 162, 3, 157, 955, 161, 5, 5, 162, + 3, 151, 152, 153, 154, 3, 6, 157, 1246, 1247, + 6, 971, 162, 6, 6, 1253, 1254, 1255, 1256, 1257, + 1258, 151, 152, 6, 6, 6, 1264, 83, 158, 6, + 6, 161, 151, 152, 153, 154, 159, 159, 157, 160, + 1278, 6, 160, 162, 159, 159, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 160, 160, 6, 30, 31, + 32, 33, 34, 35, 36, 37, 159, 39, 159, 41, + 42, 160, 44, 45, 159, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 160, 1321, 160, 1323, 159, 151, 152, 153, + 154, 159, 64, 157, 159, 6, 159, 159, 162, 160, + 1060, 1061, 159, 1341, 1342, 1343, 78, 79, 151, 152, + 153, 154, 159, 159, 157, 6, 159, 1355, 1356, 1357, + 1358, 1359, 1360, 159, 151, 152, 153, 154, 159, 1089, + 157, 159, 6, 160, 1372, 1373, 1374, 1375, 160, 1377, + 159, 1379, 151, 152, 153, 154, 159, 6, 157, 151, + 152, 153, 154, 162, 6, 157, 6, 6, 6, 6, + 162, 1399, 1400, 1401, 6, 6, 83, 139, 7, 7, + 1408, 7, 1410, 3, 1412, 7, 7, 1137, 151, 152, + 153, 154, 7, 3, 157, 6, 153, 3, 4, 162, + 162, 6, 1152, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 3, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 3, 935, 1147, - 1148, 1149, 146, 147, 146, 147, 148, 149, 134, 153, - 152, 3, 156, 148, 951, 157, 3, 146, 147, 148, - 149, 3, 3, 152, 3, 3, 3, 1175, 157, 3, - 1178, 157, 3, 5, 3, 3, 3, 1185, 1186, 1187, - 1188, 1189, 1190, 1191, 1192, 1193, 1194, 5, 1196, 3, - 1198, 3, 156, 6, 83, 1203, 1204, 30, 31, 32, - 33, 34, 35, 36, 37, 6, 39, 6, 41, 42, - 142, 44, 45, 154, 146, 147, 148, 149, 1226, 1227, - 152, 6, 6, 6, 6, 1233, 1234, 1235, 1236, 1237, - 1238, 64, 155, 154, 6, 155, 1244, 154, 6, 154, - 146, 147, 155, 1040, 1041, 78, 79, 153, 6, 6, - 1258, 155, 154, 154, 6, 155, 1264, 1265, 1266, 1267, - 1268, 1269, 1270, 1271, 1272, 155, 154, 6, 155, 154, - 154, 154, 1069, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 1293, 1294, 1295, 1296, 1297, - 1298, 1299, 154, 1301, 154, 1303, 146, 147, 148, 149, - 154, 134, 152, 146, 147, 148, 149, 157, 154, 152, - 155, 154, 155, 1321, 1322, 1323, 146, 147, 148, 149, - 1117, 6, 152, 6, 6, 155, 6, 1335, 1336, 1337, - 1338, 1339, 1340, 154, 154, 1132, 155, 146, 147, 148, - 149, 6, 6, 152, 1352, 1353, 1354, 1355, 157, 1357, - 154, 1359, 146, 147, 148, 149, 154, 154, 152, 146, - 147, 148, 149, 157, 157, 152, 154, 7, 6, 6, - 157, 1379, 1380, 1381, 6, 83, 7, 7, 7, 3, - 1388, 7, 1390, 1180, 1392, 3, 4, 5, 7, 6, - 3, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 26, 27, 28, 29, 151, 152, 153, 154, 6, 6, + 157, 151, 152, 153, 154, 162, 3, 157, 151, 152, + 153, 154, 162, 6, 157, 3, 4, 160, 3, 6, + 1200, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 146, 147, 148, 149, 6, 148, 152, 146, - 147, 148, 149, 157, 6, 152, 6, 3, 155, 6, - 3, 4, 3, 3, 6, 1232, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 6, 6, 3, - 3, 4, 3, 3, 6, 1262, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 146, 147, 148, - 149, 6, 154, 152, 1291, 156, 155, 146, 147, 148, - 149, 157, 154, 152, 154, 156, 155, 146, 147, 148, - 149, 80, 156, 152, 156, 156, 155, 6, 146, 147, - 148, 149, 156, 1320, 152, 6, 83, 155, 146, 147, - 146, 147, 148, 149, 156, 153, 152, 1334, 156, 155, - 146, 147, 148, 149, 155, 154, 152, 154, 156, 155, - 146, 147, 148, 149, 154, 154, 152, 155, 155, 155, - 146, 147, 148, 149, 155, 154, 152, 154, 6, 155, - 155, 155, 155, 146, 147, 154, 154, 6, 4, 6, - 153, 0, 1, 156, 6, 4, 146, 147, 148, 149, - 6, 6, 152, 6, 6, 155, 6, 6, 6, 3, - 6, 6, 3, 146, 147, 148, 149, 6, 6, 152, - 153, 30, 31, 32, 33, 34, 35, 36, 37, 3, - 39, 40, 41, 42, 43, 44, 45, 6, 6, 157, - 6, 6, 51, 52, 53, 54, 55, 56, 33, 58, - 59, 60, 61, 62, 6, 64, 146, 147, 148, 149, - 5, 5, 152, 6, 156, 155, 154, 7, 157, 78, - 79, 146, 147, 148, 149, 157, 85, 152, 154, 157, - 155, 146, 147, 148, 149, 157, 154, 152, 157, 155, - 155, 146, 147, 148, 149, 154, 154, 152, 155, 155, - 155, 154, 154, 6, 6, 154, 91, 92, 93, 154, - 6, 6, 6, 6, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 6, 134, 6, 6, 6, 5, - 5, 157, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 6, 128, 129, 130, 131, 132, 133, 146, - 147, 148, 149, 6, 155, 152, 80, 6, 155, 146, - 147, 148, 149, 155, 154, 152, 6, 5, 155, 146, - 147, 148, 149, 154, 154, 152, 154, 156, 155, 146, - 147, 148, 149, 154, 154, 152, 5, 143, 155, 146, - 147, 148, 149, 156, 156, 152, 154, 6, 155, 146, - 147, 148, 149, 157, 155, 152, 156, 155, 155, 146, - 147, 148, 149, 154, 80, 152, 154, 6, 155, 146, - 147, 148, 149, 157, 157, 152, 6, 6, 155, 146, - 147, 148, 149, 6, 6, 152, 6, 6, 155, 146, - 147, 148, 149, 156, 6, 152, 154, 156, 155, 146, - 147, 148, 149, 154, 154, 152, 154, 156, 155, 146, - 147, 148, 149, 6, 156, 152, 154, 6, 155, 146, - 147, 148, 149, 6, 155, 152, 6, 6, 155, 146, - 147, 148, 149, 6, 154, 152, 154, 156, 155, 146, - 147, 148, 149, 156, 156, 152, 154, 6, 155, 146, - 147, 148, 149, 6, 6, 152, 6, 155, 155, 146, - 147, 148, 149, 156, 156, 152, 6, 156, 155, 146, - 147, 148, 149, 6, 6, 152, 0, 0, 155, 146, - 147, 148, 149, 485, 6, 152, 6, 6, 155, 146, - 147, 148, 149, 1068, 460, 152, 714, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, -1, 155, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154, 146, 147, 148, 149, -1, -1, - 152, -1, 154, 146, 147, 148, 149, -1, -1, 152, - -1, 154, 146, 147, 148, 149, -1, -1, 152, -1, - 154, 146, 147, 148, 149, -1, -1, 152, -1, 154, - 146, 147, 148, 149, -1, -1, 152, -1, 154, 146, - 147, 148, 149, -1, -1, 152, -1, 154, 146, 147, - 148, 149, -1, -1, 152, -1, 154, 146, 147, 148, - 149, -1, -1, 152, -1, 154, 146, 147, 148, 149, - -1, -1, 152, -1, 154, 146, 147, 148, 149, -1, - -1, 152, -1, 154 + 28, 29, 3, 4, 6, 3, 6, 3, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, + 4, 3, 1252, 3, 161, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 6, 151, 152, 153, + 154, 6, 1282, 157, 159, 162, 160, 80, 151, 152, + 153, 154, 159, 159, 157, 151, 152, 160, 151, 152, + 153, 154, 158, 161, 157, 161, 6, 160, 6, 161, + 161, 1311, 161, 30, 31, 32, 33, 34, 35, 36, + 37, 161, 39, 161, 41, 42, 160, 44, 45, 151, + 152, 153, 154, 159, 159, 157, 33, 160, 160, 159, + 1340, 159, 161, 151, 152, 153, 154, 64, 159, 157, + 158, 160, 83, 159, 1354, 6, 160, 151, 152, 153, + 154, 78, 79, 157, 160, 160, 160, 159, 6, 160, + 151, 152, 151, 152, 153, 154, 159, 158, 157, 4, + 6, 160, 151, 152, 153, 154, 6, 5, 157, 6, + 6, 160, 6, 6, 6, 6, 6, 151, 152, 96, + 97, 98, 3, 6, 158, 3, 6, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 162, 6, 6, + 6, 6, 139, 6, 6, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 3, 133, 134, 135, 136, + 137, 138, 151, 152, 153, 154, 6, 5, 157, 6, + 161, 160, 151, 152, 153, 154, 159, 7, 157, 160, + 162, 160, 151, 152, 153, 154, 162, 162, 157, 162, + 162, 160, 151, 152, 153, 154, 159, 159, 157, 159, + 6, 160, 151, 152, 153, 154, 160, 159, 157, 160, + 6, 160, 151, 152, 153, 154, 159, 159, 157, 159, + 6, 160, 151, 152, 153, 154, 6, 5, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 5, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 159, 157, 162, + 6, 160, 151, 152, 153, 154, 6, 159, 157, 160, + 80, 160, 151, 152, 153, 154, 161, 5, 157, 6, + 6, 160, 151, 152, 153, 154, 160, 159, 157, 5, + 80, 160, 151, 152, 153, 154, 159, 159, 157, 159, + 161, 160, 151, 152, 153, 154, 6, 161, 157, 159, + 161, 160, 151, 152, 153, 154, 159, 162, 157, 159, + 162, 160, 151, 152, 153, 154, 159, 162, 157, 160, + 6, 160, 151, 152, 153, 154, 160, 159, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 161, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 159, 157, 6, + 148, 160, 151, 152, 153, 154, 159, 159, 157, 6, + 161, 160, 151, 152, 153, 154, 161, 161, 157, 159, + 6, 160, 151, 152, 153, 154, 160, 159, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 159, 157, 6, + 161, 160, 151, 152, 153, 154, 161, 161, 157, 6, + 6, 160, 151, 152, 153, 154, 159, 161, 157, 6, + 6, 160, 151, 152, 153, 154, 160, 0, 157, 161, + 161, 160, 151, 152, 153, 154, 6, 0, 157, 6, + 6, 160, 151, 152, 153, 154, 500, 1088, 157, 6, + 6, 160, 151, 152, 153, 154, 6, 475, 157, 732, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + -1, 160, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159, 151, + 152, 153, 154, -1, -1, 157, -1, 159, 151, 152, + 153, 154, -1, -1, 157, -1, 159, 151, 152, 153, + 154, -1, -1, 157, -1, 159, 151, 152, 153, 154, + -1, -1, 157, -1, 159, 151, 152, 153, 154, -1, + -1, 157, -1, 159, 151, 152, 153, 154, -1, -1, + 157, -1, 159, 151, 152, 153, 154, -1, -1, 157, + -1, 159, 151, 152, 153, 154, -1, -1, 157, -1, + 159, 151, 152, 153, 154, -1, -1, 157, -1, 159, + 151, 152, 153, 154, -1, -1, 157, -1, 159 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/local/share/bison.simple" +#line 3 "/usr/lib/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -1608,46 +1632,66 @@ static const short yycheck[] = { 7, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ #ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA #include <alloca.h> #else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ #include <malloc.h> +#endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) -#include <malloc.h> +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include <malloc.h> */ #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca #endif /* __hpux */ +#endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action @@ -1657,8 +1701,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -1739,12 +1783,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -1756,7 +1800,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -1771,10 +1815,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -1784,7 +1828,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "/usr/local/share/bison.simple" +#line 217 "/usr/lib/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -1805,6 +1849,15 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL @@ -1833,6 +1886,7 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -1917,18 +1971,32 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -2089,7 +2157,7 @@ yyreduce: switch (yyn) { case 4: -#line 122 "Gmsh.y" +#line 125 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -2098,7 +2166,7 @@ case 4: ; break;} case 5: -#line 136 "Gmsh.y" +#line 139 "Gmsh.y" { STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -2107,7 +2175,7 @@ case 5: ; break;} case 6: -#line 143 "Gmsh.y" +#line 146 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format Read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -2115,83 +2183,83 @@ case 6: ; break;} case 9: -#line 160 "Gmsh.y" +#line 163 "Gmsh.y" { return 1; ; break;} case 10: -#line 161 "Gmsh.y" +#line 164 "Gmsh.y" { return 1; ; break;} case 11: -#line 162 "Gmsh.y" +#line 165 "Gmsh.y" { return 1; ; break;} case 12: -#line 163 "Gmsh.y" +#line 166 "Gmsh.y" { yyerrok ; return 1; ; break;} case 13: -#line 168 "Gmsh.y" +#line 171 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format"); Create_Step_Solid_BRep(); ; break;} case 14: -#line 173 "Gmsh.y" +#line 176 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read"); Resolve_BREP (); ; break;} case 18: -#line 184 "Gmsh.y" +#line 187 "Gmsh.y" { ; break;} case 19: -#line 187 "Gmsh.y" +#line 190 "Gmsh.y" { ; break;} case 20: -#line 191 "Gmsh.y" +#line 194 "Gmsh.y" { ; break;} case 21: -#line 197 "Gmsh.y" +#line 200 "Gmsh.y" { Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]); ; break;} case 22: -#line 203 "Gmsh.y" +#line 206 "Gmsh.y" { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); ; break;} case 23: -#line 210 "Gmsh.y" +#line 213 "Gmsh.y" { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); ; break;} case 24: -#line 216 "Gmsh.y" +#line 219 "Gmsh.y" { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); ; break;} case 25: -#line 220 "Gmsh.y" +#line 223 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 26: -#line 224 "Gmsh.y" +#line 227 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a Face Bound"); @@ -2199,351 +2267,364 @@ case 26: ; break;} case 27: -#line 231 "Gmsh.y" +#line 234 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 28: -#line 235 "Gmsh.y" +#line 238 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 29: -#line 240 "Gmsh.y" +#line 243 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 244 "Gmsh.y" +#line 247 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 31: -#line 248 "Gmsh.y" +#line 251 "Gmsh.y" { ; break;} case 32: -#line 252 "Gmsh.y" +#line 255 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 33: -#line 256 "Gmsh.y" +#line 259 "Gmsh.y" { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); ; break;} case 34: -#line 260 "Gmsh.y" +#line 263 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 35: -#line 264 "Gmsh.y" +#line 267 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 36: -#line 268 "Gmsh.y" +#line 271 "Gmsh.y" { Msg(PARSER_INFO,"Found a Closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 37: -#line 274 "Gmsh.y" +#line 277 "Gmsh.y" { ; break;} case 38: -#line 277 "Gmsh.y" +#line 280 "Gmsh.y" { ; break;} case 39: -#line 280 "Gmsh.y" +#line 283 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 40: -#line 284 "Gmsh.y" +#line 287 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 41: -#line 288 "Gmsh.y" +#line 291 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 42: -#line 292 "Gmsh.y" +#line 295 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 296 "Gmsh.y" +#line 299 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 44: -#line 301 "Gmsh.y" +#line 304 "Gmsh.y" { ; break;} case 45: -#line 304 "Gmsh.y" +#line 307 "Gmsh.y" { ; break;} case 46: -#line 308 "Gmsh.y" +#line 311 "Gmsh.y" { ; break;} case 47: -#line 311 "Gmsh.y" +#line 314 "Gmsh.y" { ; break;} case 48: -#line 315 "Gmsh.y" +#line 318 "Gmsh.y" { ; break;} case 49: -#line 318 "Gmsh.y" +#line 321 "Gmsh.y" { ; break;} case 50: -#line 321 "Gmsh.y" +#line 324 "Gmsh.y" { ; break;} +case 51: +#line 334 "Gmsh.y" +{ + ; + break;} case 52: -#line 332 "Gmsh.y" +#line 337 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh File Format Read"); ; break;} case 53: -#line 338 "Gmsh.y" +#line 343 "Gmsh.y" { return 1; ; break;} case 54: -#line 339 "Gmsh.y" +#line 344 "Gmsh.y" { return 1; ; break;} case 55: -#line 340 "Gmsh.y" +#line 345 "Gmsh.y" { return 1; ; break;} case 56: -#line 341 "Gmsh.y" +#line 346 "Gmsh.y" { return 1; ; break;} case 57: -#line 342 "Gmsh.y" +#line 347 "Gmsh.y" { return 1; ; break;} case 58: -#line 343 "Gmsh.y" +#line 348 "Gmsh.y" { return 1; ; break;} case 59: -#line 344 "Gmsh.y" +#line 349 "Gmsh.y" { return 1; ; break;} case 60: -#line 345 "Gmsh.y" +#line 350 "Gmsh.y" { return 1; ; break;} case 61: -#line 346 "Gmsh.y" +#line 351 "Gmsh.y" { return 1; ; break;} case 62: -#line 347 "Gmsh.y" +#line 352 "Gmsh.y" { return 1; ; break;} case 63: -#line 348 "Gmsh.y" -{ return 1; ; +#line 353 "Gmsh.y" +{return 1;; break;} case 64: -#line 349 "Gmsh.y" -{ yyerrok; return 1;; +#line 355 "Gmsh.y" +{ return 1; ; break;} case 65: -#line 358 "Gmsh.y" +#line 356 "Gmsh.y" +{ return 1; ; + break;} +case 66: +#line 357 "Gmsh.y" +{ yyerrok; return 1;; + break;} +case 67: +#line 366 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); ; break;} -case 66: -#line 362 "Gmsh.y" +case 68: +#line 370 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]); ; break;} -case 67: -#line 369 "Gmsh.y" +case 69: +#line 377 "Gmsh.y" { BeginView(1); ; break;} -case 80: -#line 388 "Gmsh.y" +case 82: +#line 396 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} -case 81: -#line 390 "Gmsh.y" +case 83: +#line 398 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} -case 82: -#line 395 "Gmsh.y" +case 84: +#line 403 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d); List_Add(ActualView->SP, &yyvsp[-1].d); ; break;} -case 83: -#line 400 "Gmsh.y" +case 85: +#line 408 "Gmsh.y" { ActualView->NbSP++ ; ; break;} -case 84: -#line 407 "Gmsh.y" +case 86: +#line 415 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} -case 85: -#line 409 "Gmsh.y" +case 87: +#line 417 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} -case 86: -#line 414 "Gmsh.y" +case 88: +#line 422 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d); List_Add(ActualView->VP, &yyvsp[-1].d); ; break;} -case 87: -#line 419 "Gmsh.y" +case 89: +#line 427 "Gmsh.y" { ActualView->NbVP++ ; ; break;} -case 88: -#line 426 "Gmsh.y" +case 90: +#line 434 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} -case 89: -#line 428 "Gmsh.y" +case 91: +#line 436 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} -case 90: -#line 433 "Gmsh.y" +case 92: +#line 441 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d); List_Add(ActualView->TP, &yyvsp[-1].d); ; break;} -case 91: -#line 438 "Gmsh.y" +case 93: +#line 446 "Gmsh.y" { ActualView->NbTP++ ; ; break;} -case 92: -#line 445 "Gmsh.y" +case 94: +#line 453 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} -case 93: -#line 447 "Gmsh.y" +case 95: +#line 455 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} -case 94: -#line 453 "Gmsh.y" +case 96: +#line 461 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 95: -#line 459 "Gmsh.y" +case 97: +#line 467 "Gmsh.y" { ActualView->NbSL++ ; ; break;} -case 96: -#line 466 "Gmsh.y" +case 98: +#line 474 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} -case 97: -#line 468 "Gmsh.y" +case 99: +#line 476 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} -case 98: -#line 474 "Gmsh.y" +case 100: +#line 482 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 99: -#line 480 "Gmsh.y" +case 101: +#line 488 "Gmsh.y" { ActualView->NbVL++ ; ; break;} -case 100: -#line 487 "Gmsh.y" +case 102: +#line 495 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} -case 101: -#line 489 "Gmsh.y" +case 103: +#line 497 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} -case 102: -#line 495 "Gmsh.y" +case 104: +#line 503 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d); ; break;} -case 103: -#line 501 "Gmsh.y" +case 105: +#line 509 "Gmsh.y" { ActualView->NbTL++ ; ; break;} -case 104: -#line 508 "Gmsh.y" +case 106: +#line 516 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} -case 105: -#line 510 "Gmsh.y" +case 107: +#line 518 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} -case 106: -#line 517 "Gmsh.y" +case 108: +#line 525 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); List_Add(ActualView->ST, &yyvsp[-5].d); @@ -2553,22 +2634,22 @@ case 106: List_Add(ActualView->ST, &yyvsp[-1].d); ; break;} -case 107: -#line 526 "Gmsh.y" +case 109: +#line 534 "Gmsh.y" { ActualView->NbST++ ; ; break;} -case 108: -#line 533 "Gmsh.y" +case 110: +#line 541 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} -case 109: -#line 535 "Gmsh.y" +case 111: +#line 543 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} -case 110: -#line 542 "Gmsh.y" +case 112: +#line 550 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); List_Add(ActualView->VT, &yyvsp[-5].d); @@ -2578,22 +2659,22 @@ case 110: List_Add(ActualView->VT, &yyvsp[-1].d); ; break;} -case 111: -#line 551 "Gmsh.y" +case 113: +#line 559 "Gmsh.y" { ActualView->NbVT++ ; ; break;} -case 112: -#line 558 "Gmsh.y" +case 114: +#line 566 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} -case 113: -#line 560 "Gmsh.y" +case 115: +#line 568 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} -case 114: -#line 567 "Gmsh.y" +case 116: +#line 575 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); List_Add(ActualView->TT, &yyvsp[-5].d); @@ -2603,22 +2684,22 @@ case 114: List_Add(ActualView->TT, &yyvsp[-1].d); ; break;} -case 115: -#line 576 "Gmsh.y" +case 117: +#line 584 "Gmsh.y" { ActualView->NbTT++ ; ; break;} -case 116: -#line 583 "Gmsh.y" +case 118: +#line 591 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} -case 117: -#line 585 "Gmsh.y" +case 119: +#line 593 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} -case 118: -#line 593 "Gmsh.y" +case 120: +#line 601 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[-23].d); List_Add(ActualView->SS, &yyvsp[-17].d); List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d); @@ -2628,22 +2709,22 @@ case 118: List_Add(ActualView->SS, &yyvsp[-7].d); List_Add(ActualView->SS, &yyvsp[-1].d); ; break;} -case 119: -#line 602 "Gmsh.y" +case 121: +#line 610 "Gmsh.y" { ActualView->NbSS++ ; ; break;} -case 120: -#line 609 "Gmsh.y" +case 122: +#line 617 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} -case 121: -#line 611 "Gmsh.y" +case 123: +#line 619 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} -case 122: -#line 619 "Gmsh.y" +case 124: +#line 627 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[-23].d); List_Add(ActualView->VS, &yyvsp[-17].d); List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d); @@ -2653,22 +2734,22 @@ case 122: List_Add(ActualView->VS, &yyvsp[-7].d); List_Add(ActualView->VS, &yyvsp[-1].d); ; break;} -case 123: -#line 628 "Gmsh.y" +case 125: +#line 636 "Gmsh.y" { ActualView->NbVS++ ; ; break;} -case 124: -#line 635 "Gmsh.y" +case 126: +#line 643 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} -case 125: -#line 637 "Gmsh.y" +case 127: +#line 645 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} -case 126: -#line 645 "Gmsh.y" +case 128: +#line 653 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[-23].d); List_Add(ActualView->TS, &yyvsp[-17].d); List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d); @@ -2678,38 +2759,38 @@ case 126: List_Add(ActualView->TS, &yyvsp[-7].d); List_Add(ActualView->TS, &yyvsp[-1].d); ; break;} -case 127: -#line 654 "Gmsh.y" +case 129: +#line 662 "Gmsh.y" { ActualView->NbTS++ ; ; break;} -case 128: -#line 667 "Gmsh.y" +case 130: +#line 675 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; TheSymbol.val = yyvsp[-1].d; List_Replace(Symbol_L,&TheSymbol,CompareSymbols); ; break;} -case 129: -#line 684 "Gmsh.y" +case 131: +#line 692 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 130: -#line 691 "Gmsh.y" +case 132: +#line 699 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 131: -#line 697 "Gmsh.y" +case 133: +#line 705 "Gmsh.y" { Vertex *v; Attractor *a; @@ -2729,8 +2810,8 @@ case 131: } ; break;} -case 132: -#line 716 "Gmsh.y" +case 134: +#line 724 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -2742,31 +2823,31 @@ case 132: } ; break;} -case 133: -#line 727 "Gmsh.y" +case 135: +#line 735 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} -case 134: -#line 735 "Gmsh.y" +case 136: +#line 743 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 135: -#line 741 "Gmsh.y" +case 137: +#line 749 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 136: -#line 747 "Gmsh.y" +case 138: +#line 755 "Gmsh.y" { Curve *c; Attractor *a; @@ -2786,16 +2867,16 @@ case 136: } ; break;} -case 137: -#line 766 "Gmsh.y" +case 139: +#line 774 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 138: -#line 772 "Gmsh.y" +case 140: +#line 780 "Gmsh.y" { List_T *temp; int i,j; @@ -2812,48 +2893,48 @@ case 138: yyval.s.Num = (int)yyvsp[-6].d; ; break;} -case 139: -#line 789 "Gmsh.y" +case 141: +#line 797 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; yyval.s.Num = (int)yyvsp[-14].d; ; break;} -case 140: -#line 795 "Gmsh.y" +case 142: +#line 803 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 141: -#line 801 "Gmsh.y" +case 143: +#line 809 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 142: -#line 807 "Gmsh.y" +case 144: +#line 815 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 143: -#line 813 "Gmsh.y" +case 145: +#line 821 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 144: -#line 819 "Gmsh.y" +case 146: +#line 827 "Gmsh.y" { List_T *Temp; int i; @@ -2873,8 +2954,8 @@ case 144: List_Delete(Temp); ; break;} -case 145: -#line 838 "Gmsh.y" +case 147: +#line 846 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -2884,16 +2965,16 @@ case 145: yyval.s.Type = c->Typ; ; break;} -case 146: -#line 850 "Gmsh.y" +case 148: +#line 858 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 147: -#line 856 "Gmsh.y" +case 149: +#line 864 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-2].d,THEM); @@ -2913,8 +2994,8 @@ case 147: } ; break;} -case 148: -#line 875 "Gmsh.y" +case 150: +#line 883 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -2936,38 +3017,38 @@ case 148: } ; break;} -case 149: -#line 898 "Gmsh.y" +case 151: +#line 906 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; yyval.s.Num = (int)yyvsp[-16].d; ; break;} -case 150: -#line 906 "Gmsh.y" +case 152: +#line 914 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} -case 151: -#line 910 "Gmsh.y" +case 153: +#line 918 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 152: -#line 916 "Gmsh.y" +case 154: +#line 924 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 153: -#line 922 "Gmsh.y" +case 155: +#line 930 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -2977,85 +3058,85 @@ case 153: yyval.s.Type = s->Typ; ; break;} -case 154: -#line 934 "Gmsh.y" +case 156: +#line 942 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 155: -#line 940 "Gmsh.y" +case 157: +#line 948 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 156: -#line 946 "Gmsh.y" +case 158: +#line 954 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; yyval.s.Num = (int)yyvsp[-4].d; ; break;} -case 157: -#line 959 "Gmsh.y" +case 159: +#line 967 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 158: -#line 964 "Gmsh.y" +case 160: +#line 972 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} -case 159: -#line 969 "Gmsh.y" +case 161: +#line 977 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 160: -#line 974 "Gmsh.y" +case 162: +#line 982 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} -case 161: -#line 981 "Gmsh.y" +case 163: +#line 989 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 162: -#line 982 "Gmsh.y" +case 164: +#line 990 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 163: -#line 983 "Gmsh.y" +case 165: +#line 991 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} -case 164: -#line 988 "Gmsh.y" +case 166: +#line 996 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} -case 165: -#line 992 "Gmsh.y" +case 167: +#line 1000 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} -case 166: -#line 1004 "Gmsh.y" +case 168: +#line 1012 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -3066,8 +3147,8 @@ case 166: } ; break;} -case 167: -#line 1022 "Gmsh.y" +case 169: +#line 1030 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -3075,8 +3156,8 @@ case 167: } ; break;} -case 168: -#line 1037 "Gmsh.y" +case 170: +#line 1045 "Gmsh.y" { yyinTab[RecursionLevel++] = yyin; strcpy(tmpstring, ThePathForIncludes); @@ -3099,71 +3180,168 @@ case 168: } ; break;} -case 169: -#line 1068 "Gmsh.y" +case 171: +#line 1073 "Gmsh.y" +{ + char ext[6]; + strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4)); + Replot(); + extern void CreateImage (FILE *fp); + FILE *fp = 0; + if(!strcmp(ext,".gif")) + { + fp = fopen(yyvsp[-1].c,"wb"); + CTX.print.type = PRINT_GL2GIF; + } + else if(!strcmp(ext,".eps")) + { + fp = fopen(yyvsp[-1].c,"w"); + CTX.print.type = PRINT_GL2PS_RECURSIVE; + } + else if(!strcmp(ext,".xpm")) + { + fp = fopen(yyvsp[-1].c,"wb"); + CTX.print.type = PRINT_XDUMP; + CTX.print.format = FORMAT_XPM; + } + + if(fp) + { + CreateImage(fp); + fclose(fp); + } + ; + break;} +case 172: +#line 1103 "Gmsh.y" +{ + exit(0); + ; + break;} +case 173: +#line 1107 "Gmsh.y" +{ + FILE *ff = yyin; + MergeProblem(yyvsp[-1].c); + yyin = ff; + ; + break;} +case 174: +#line 1121 "Gmsh.y" +{ + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-1].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1 ; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + ; + break;} +case 175: +#line 1134 "Gmsh.y" +{ + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = (int)yyvsp[-5].d ; + LoopControlVariablesTab[ImbricatedLoop][1] = (int)yyvsp[-3].d ; + LoopControlVariablesTab[ImbricatedLoop][2] = (int)yyvsp[-1].d ; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + ; + break;} +case 176: +#line 1147 "Gmsh.y" +{ + if(LoopControlVariablesTab[ImbricatedLoop-1][1] > + LoopControlVariablesTab[ImbricatedLoop-1][0]) + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + LoopControlVariablesTab[ImbricatedLoop-1][0] += + LoopControlVariablesTab[ImbricatedLoop-1][2]; + fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); + } + else + { + ImbricatedLoop--; + } + ; + break;} +case 177: +#line 1186 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} -case 170: -#line 1073 "Gmsh.y" +case 178: +#line 1191 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, &pc,&prc,NULL); ; break;} -case 171: -#line 1079 "Gmsh.y" +case 179: +#line 1197 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} -case 172: -#line 1083 "Gmsh.y" +case 180: +#line 1201 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} -case 173: -#line 1087 "Gmsh.y" +case 181: +#line 1205 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} -case 174: -#line 1091 "Gmsh.y" +case 182: +#line 1209 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} -case 175: -#line 1095 "Gmsh.y" +case 183: +#line 1213 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr); ; break;} -case 176: -#line 1100 "Gmsh.y" +case 184: +#line 1218 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr); ; break;} -case 177: -#line 1108 "Gmsh.y" +case 185: +#line 1226 "Gmsh.y" { ; break;} -case 178: -#line 1111 "Gmsh.y" +case 186: +#line 1229 "Gmsh.y" { ; break;} -case 179: -#line 1117 "Gmsh.y" +case 187: +#line 1235 "Gmsh.y" { double d; int j; @@ -3181,14 +3359,14 @@ case 179: } ; break;} -case 180: -#line 1134 "Gmsh.y" +case 188: +#line 1252 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 181: -#line 1145 "Gmsh.y" +case 189: +#line 1263 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -3206,8 +3384,8 @@ case 181: } ; break;} -case 182: -#line 1162 "Gmsh.y" +case 190: +#line 1280 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -3225,8 +3403,8 @@ case 182: } ; break;} -case 183: -#line 1179 "Gmsh.y" +case 191: +#line 1297 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -3244,8 +3422,8 @@ case 183: } ; break;} -case 184: -#line 1196 "Gmsh.y" +case 192: +#line 1314 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -3267,8 +3445,8 @@ case 184: } ; break;} -case 185: -#line 1217 "Gmsh.y" +case 193: +#line 1335 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -3289,8 +3467,8 @@ case 185: } ; break;} -case 186: -#line 1237 "Gmsh.y" +case 194: +#line 1355 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -3311,8 +3489,8 @@ case 186: } ; break;} -case 187: -#line 1257 "Gmsh.y" +case 195: +#line 1375 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -3330,8 +3508,8 @@ case 187: } ; break;} -case 188: -#line 1274 "Gmsh.y" +case 196: +#line 1392 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -3349,138 +3527,138 @@ case 188: } ; break;} -case 189: -#line 1299 "Gmsh.y" +case 197: +#line 1417 "Gmsh.y" { Coherence_PS(); ; break;} -case 199: -#line 1328 "Gmsh.y" +case 207: +#line 1446 "Gmsh.y" { if(!Set_StringOption(yyvsp[-3].c, GeneralOptions_String, yyvsp[-1].c)) vyyerror("Unknown General Option (String) '%s'", yyvsp[-3].c); ; break;} -case 200: -#line 1333 "Gmsh.y" +case 208: +#line 1451 "Gmsh.y" { if(!Set_NumberOption(yyvsp[-3].c, GeneralOptions_Number, yyvsp[-1].d)) vyyerror("Unknown General Option (Number) '%s'", yyvsp[-3].c); ; break;} -case 201: -#line 1338 "Gmsh.y" +case 209: +#line 1456 "Gmsh.y" { if(!Set_ArrayOption(yyvsp[-3].c, GeneralOptions_Array, yyvsp[-1].v)) vyyerror("Unknown General Option (Array) '%s'", yyvsp[-3].c); ; break;} -case 202: -#line 1342 "Gmsh.y" +case 210: +#line 1460 "Gmsh.y" { ColorField = GeneralOptions_Color; ; break;} -case 206: -#line 1353 "Gmsh.y" +case 214: +#line 1471 "Gmsh.y" { if(!Set_StringOption(yyvsp[-3].c, GeometryOptions_String, yyvsp[-1].c)) vyyerror("Unknown Geometry Option (String) '%s'", yyvsp[-3].c); ; break;} -case 207: -#line 1358 "Gmsh.y" +case 215: +#line 1476 "Gmsh.y" { if(!Set_NumberOption(yyvsp[-3].c, GeometryOptions_Number, yyvsp[-1].d)) vyyerror("Unknown Geometry Option (Number) '%s'", yyvsp[-3].c); ; break;} -case 208: -#line 1363 "Gmsh.y" +case 216: +#line 1481 "Gmsh.y" { if(!Set_ArrayOption(yyvsp[-3].c, GeometryOptions_Array, yyvsp[-1].v)) vyyerror("Unknown Geometry Option (Array) '%s'", yyvsp[-3].c); ; break;} -case 209: -#line 1368 "Gmsh.y" +case 217: +#line 1486 "Gmsh.y" { ColorField = GeometryOptions_Color; ; break;} -case 213: -#line 1379 "Gmsh.y" +case 221: +#line 1497 "Gmsh.y" { if(!Set_StringOption(yyvsp[-3].c, MeshOptions_String, yyvsp[-1].c)) vyyerror("Unknown Mesh Option (String) '%s'", yyvsp[-3].c); ; break;} -case 214: -#line 1384 "Gmsh.y" +case 222: +#line 1502 "Gmsh.y" { if(!Set_NumberOption(yyvsp[-3].c, MeshOptions_Number, yyvsp[-1].d)) vyyerror("Unknown Mesh Option (Number) '%s'", yyvsp[-3].c); ; break;} -case 215: -#line 1389 "Gmsh.y" +case 223: +#line 1507 "Gmsh.y" { if(!Set_ArrayOption(yyvsp[-3].c, MeshOptions_Array, yyvsp[-1].v)) vyyerror("Unknown Mesh Option (Array) '%s'", yyvsp[-3].c); ; break;} -case 216: -#line 1394 "Gmsh.y" +case 224: +#line 1512 "Gmsh.y" { ColorField = MeshOptions_Color; ; break;} -case 220: -#line 1405 "Gmsh.y" +case 228: +#line 1523 "Gmsh.y" { if(!Set_StringOption(yyvsp[-3].c, PostProcessingOptions_String, yyvsp[-1].c)) vyyerror("Unknown PostProcessing Option (String) '%s'", yyvsp[-3].c); ; break;} -case 221: -#line 1410 "Gmsh.y" +case 229: +#line 1528 "Gmsh.y" { if(!Set_NumberOption(yyvsp[-3].c, PostProcessingOptions_Number, yyvsp[-1].d)) vyyerror("Unknown PostProcessing Option (Number) '%s'", yyvsp[-3].c); ; break;} -case 222: -#line 1415 "Gmsh.y" +case 230: +#line 1533 "Gmsh.y" { if(!Set_ArrayOption(yyvsp[-3].c, PostProcessingOptions_Array, yyvsp[-1].v)) vyyerror("Unknown PostProcessing (Array) Option '%s'", yyvsp[-3].c); ; break;} -case 223: -#line 1420 "Gmsh.y" +case 231: +#line 1538 "Gmsh.y" { ColorField = PostProcessingOptions_Color; ; break;} -case 227: -#line 1431 "Gmsh.y" +case 235: +#line 1549 "Gmsh.y" { if(!Set_StringOption(yyvsp[-3].c, PrintOptions_String, yyvsp[-1].c)) vyyerror("Unknown Print Option (String) '%s'", yyvsp[-3].c); ; break;} -case 228: -#line 1436 "Gmsh.y" +case 236: +#line 1554 "Gmsh.y" { if(!Set_NumberOption(yyvsp[-3].c, PrintOptions_Number, yyvsp[-1].d)) vyyerror("Unknown Print Option (Number) '%s'", yyvsp[-3].c); ; break;} -case 229: -#line 1441 "Gmsh.y" +case 237: +#line 1559 "Gmsh.y" { if(!Set_ArrayOption(yyvsp[-3].c, PrintOptions_Array, yyvsp[-1].v)) vyyerror("Unknown Print Option (Array) '%s'", yyvsp[-3].c); ; break;} -case 230: -#line 1446 "Gmsh.y" +case 238: +#line 1564 "Gmsh.y" { ColorField = PrintOptions_Color; ; break;} -case 234: -#line 1457 "Gmsh.y" +case 242: +#line 1575 "Gmsh.y" { i = Get_ColorForString(ColorString, -1, yyvsp[-1].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-1].c); @@ -3488,8 +3666,8 @@ case 234: vyyerror("Unknown Color Field '%s'", yyvsp[-3].c); ; break;} -case 235: -#line 1464 "Gmsh.y" +case 243: +#line 1582 "Gmsh.y" { i = Get_ColorForString(ColorString, (int)yyvsp[-2].d, yyvsp[-4].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-4].c); @@ -3497,16 +3675,16 @@ case 235: vyyerror("Unknown Color Field '%s'", yyvsp[-7].c); ; break;} -case 236: -#line 1471 "Gmsh.y" +case 244: +#line 1589 "Gmsh.y" { if(!Set_ColorOption(yyvsp[-3].c, ColorField, PACK_COLOR((int)yyvsp[-1].v[0], (int)yyvsp[-1].v[1], (int)yyvsp[-1].v[2], (int)yyvsp[-1].v[3]))) vyyerror("Unknown Color Field '%s'", yyvsp[-3].c); ; break;} -case 237: -#line 1480 "Gmsh.y" +case 245: +#line 1598 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; @@ -3514,8 +3692,8 @@ case 237: yyval.v[3]=yyvsp[-1].d; ; break;} -case 238: -#line 1487 "Gmsh.y" +case 246: +#line 1605 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3523,152 +3701,152 @@ case 238: yyval.v[3]=255.; ; break;} -case 239: -#line 1501 "Gmsh.y" +case 247: +#line 1619 "Gmsh.y" {yyval.i = 1;; break;} -case 240: -#line 1502 "Gmsh.y" +case 248: +#line 1620 "Gmsh.y" {yyval.i = 0;; break;} -case 241: -#line 1503 "Gmsh.y" +case 249: +#line 1621 "Gmsh.y" {yyval.i = -1;; break;} -case 242: -#line 1504 "Gmsh.y" +case 250: +#line 1622 "Gmsh.y" {yyval.i = -1;; break;} -case 243: -#line 1505 "Gmsh.y" +case 251: +#line 1623 "Gmsh.y" {yyval.i = -1;; break;} -case 244: -#line 1509 "Gmsh.y" +case 252: +#line 1627 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 245: -#line 1510 "Gmsh.y" +case 253: +#line 1628 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} -case 246: -#line 1511 "Gmsh.y" +case 254: +#line 1629 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} -case 247: -#line 1512 "Gmsh.y" +case 255: +#line 1630 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} -case 248: -#line 1513 "Gmsh.y" +case 256: +#line 1631 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} -case 249: -#line 1514 "Gmsh.y" +case 257: +#line 1632 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d; ; break;} -case 250: -#line 1515 "Gmsh.y" +case 258: +#line 1633 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} -case 251: -#line 1516 "Gmsh.y" +case 259: +#line 1634 "Gmsh.y" { yyval.d = - yyvsp[0].d; ; break;} -case 252: -#line 1517 "Gmsh.y" +case 260: +#line 1635 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 253: -#line 1518 "Gmsh.y" +case 261: +#line 1636 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 254: -#line 1519 "Gmsh.y" +case 262: +#line 1637 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 255: -#line 1520 "Gmsh.y" +case 263: +#line 1638 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 256: -#line 1521 "Gmsh.y" +case 264: +#line 1639 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 257: -#line 1522 "Gmsh.y" +case 265: +#line 1640 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 258: -#line 1523 "Gmsh.y" +case 266: +#line 1641 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 259: -#line 1524 "Gmsh.y" +case 267: +#line 1642 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 260: -#line 1525 "Gmsh.y" +case 268: +#line 1643 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 261: -#line 1526 "Gmsh.y" +case 269: +#line 1644 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 262: -#line 1527 "Gmsh.y" +case 270: +#line 1645 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 263: -#line 1528 "Gmsh.y" +case 271: +#line 1646 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 264: -#line 1529 "Gmsh.y" +case 272: +#line 1647 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 265: -#line 1530 "Gmsh.y" +case 273: +#line 1648 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 266: -#line 1531 "Gmsh.y" +case 274: +#line 1649 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 267: -#line 1532 "Gmsh.y" +case 275: +#line 1650 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 268: -#line 1533 "Gmsh.y" +case 276: +#line 1651 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 269: -#line 1534 "Gmsh.y" +case 277: +#line 1652 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 270: -#line 1535 "Gmsh.y" +case 278: +#line 1653 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 271: -#line 1536 "Gmsh.y" +case 279: +#line 1654 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 272: -#line 1537 "Gmsh.y" +case 280: +#line 1655 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 273: -#line 1541 "Gmsh.y" +case 281: +#line 1659 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 274: -#line 1542 "Gmsh.y" +case 282: +#line 1660 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 275: -#line 1544 "Gmsh.y" +case 283: +#line 1662 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { @@ -3678,16 +3856,16 @@ case 275: Free(yyvsp[0].c); ; break;} -case 276: -#line 1556 "Gmsh.y" +case 284: +#line 1674 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) List_Add(ListOfDouble2_L, &d) ; ; break;} -case 277: -#line 1562 "Gmsh.y" +case 285: +#line 1680 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; if(!yyvsp[-2].d || (yyvsp[-5].d<yyvsp[0].d && yyvsp[-2].d<0) || (yyvsp[-5].d>yyvsp[0].d && yyvsp[-2].d>0)){ @@ -3699,8 +3877,8 @@ case 277: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 278: -#line 1576 "Gmsh.y" +case 286: +#line 1694 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; @@ -3709,8 +3887,8 @@ case 278: yyval.v[4]=yyvsp[-1].d; ; break;} -case 279: -#line 1584 "Gmsh.y" +case 287: +#line 1702 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; @@ -3719,8 +3897,8 @@ case 279: yyval.v[4]=1.0; ; break;} -case 280: -#line 1592 "Gmsh.y" +case 288: +#line 1710 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3729,8 +3907,8 @@ case 280: yyval.v[4]=1.0; ; break;} -case 281: -#line 1600 "Gmsh.y" +case 289: +#line 1718 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3739,84 +3917,84 @@ case 281: yyval.v[4]=1.0; ; break;} -case 282: -#line 1611 "Gmsh.y" +case 290: +#line 1729 "Gmsh.y" { ; break;} -case 283: -#line 1614 "Gmsh.y" +case 291: +#line 1732 "Gmsh.y" { ; break;} -case 284: -#line 1620 "Gmsh.y" +case 292: +#line 1738 "Gmsh.y" { ; break;} -case 285: -#line 1623 "Gmsh.y" +case 293: +#line 1741 "Gmsh.y" { ; break;} -case 286: -#line 1629 "Gmsh.y" +case 294: +#line 1747 "Gmsh.y" { ; break;} -case 287: -#line 1632 "Gmsh.y" +case 295: +#line 1750 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 288: -#line 1636 "Gmsh.y" +case 296: +#line 1754 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 289: -#line 1643 "Gmsh.y" +case 297: +#line 1761 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 290: -#line 1648 "Gmsh.y" +case 298: +#line 1766 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 291: -#line 1655 "Gmsh.y" +case 299: +#line 1773 "Gmsh.y" { ; break;} -case 292: -#line 1658 "Gmsh.y" +case 300: +#line 1776 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 293: -#line 1664 "Gmsh.y" +case 301: +#line 1782 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 294: -#line 1678 "Gmsh.y" +case 302: +#line 1796 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 295: -#line 1683 "Gmsh.y" +case 303: +#line 1801 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -3826,14 +4004,14 @@ case 295: List_Delete(ListOfDouble2_L); ; break;} -case 296: -#line 1692 "Gmsh.y" +case 304: +#line 1810 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 297: -#line 1696 "Gmsh.y" +case 305: +#line 1814 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -3844,7 +4022,7 @@ case 297: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/local/share/bison.simple" +#line 543 "/usr/lib/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -4039,8 +4217,32 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; } -#line 1706 "Gmsh.y" +#line 1824 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index ce416c8116a986ed4c040d1a3e371a32340c63c5..b604cb225cb360b6df664d4b2bcefd3bf9b70638 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -6,148 +6,153 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tExp 265 -#define tLog 266 -#define tLog10 267 -#define tSqrt 268 -#define tSin 269 -#define tAsin 270 -#define tCos 271 -#define tAcos 272 -#define tTan 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 tPoint 285 -#define tCircle 286 -#define tEllipsis 287 -#define tLine 288 -#define tSurface 289 -#define tSpline 290 -#define tVolume 291 -#define tCharacteristic 292 -#define tLength 293 -#define tParametric 294 -#define tElliptic 295 -#define tPlane 296 -#define tRuled 297 -#define tTransfinite 298 -#define tComplex 299 -#define tPhysical 300 -#define tUsing 301 -#define tPower 302 -#define tBump 303 -#define tProgression 304 -#define tAssociation 305 -#define tRotate 306 -#define tTranslate 307 -#define tSymmetry 308 -#define tDilate 309 -#define tExtrude 310 -#define tDuplicata 311 -#define tLoop 312 -#define tInclude 313 -#define tRecombine 314 -#define tDelete 315 -#define tCoherence 316 -#define tView 317 -#define tOffset 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tOptions 340 -#define tGeneral 341 -#define tGeometry 342 -#define tMesh 343 -#define tPostProcessing 344 -#define tPrint 345 -#define tB_SPLINE_SURFACE_WITH_KNOTS 346 -#define tB_SPLINE_CURVE_WITH_KNOTS 347 -#define tCARTESIAN_POINT 348 -#define tTRUE 349 -#define tFALSE 350 -#define tUNSPECIFIED 351 -#define tU 352 -#define tV 353 -#define tEDGE_CURVE 354 -#define tVERTEX_POINT 355 -#define tORIENTED_EDGE 356 -#define tPLANE 357 -#define tFACE_OUTER_BOUND 358 -#define tEDGE_LOOP 359 -#define tADVANCED_FACE 360 -#define tVECTOR 361 -#define tDIRECTION 362 -#define tAXIS2_PLACEMENT_3D 363 -#define tISO 364 -#define tENDISO 365 -#define tENDSEC 366 -#define tDATA 367 -#define tHEADER 368 -#define tFILE_DESCRIPTION 369 -#define tFILE_SCHEMA 370 -#define tFILE_NAME 371 -#define tMANIFOLD_SOLID_BREP 372 -#define tCLOSED_SHELL 373 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 374 -#define tFACE_BOUND 375 -#define tCYLINDRICAL_SURFACE 376 -#define tCONICAL_SURFACE 377 -#define tCIRCLE 378 -#define tTRIMMED_CURVE 379 -#define tGEOMETRIC_SET 380 -#define tCOMPOSITE_CURVE_SEGMENT 381 -#define tCONTINUOUS 382 -#define tCOMPOSITE_CURVE 383 -#define tTOROIDAL_SURFACE 384 -#define tPRODUCT_DEFINITION 385 -#define tPRODUCT_DEFINITION_SHAPE 386 -#define tSHAPE_DEFINITION_REPRESENTATION 387 -#define tELLIPSE 388 -#define tTrimmed 389 -#define tSolid 390 -#define tEndSolid 391 -#define tVertex 392 -#define tFacet 393 -#define tNormal 394 -#define tOuter 395 -#define tLoopSTL 396 -#define tEndLoop 397 -#define tEndFacet 398 -#define UMINUS 399 +#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 tOptions 339 +#define tFor 340 +#define tEndFor 341 +#define tScript 342 +#define tExit 343 +#define tMerge 344 +#define tGeneral 345 +#define tGeometry 346 +#define tMesh 347 +#define tPostProcessing 348 +#define tPrint 349 +#define tB_SPLINE_SURFACE_WITH_KNOTS 350 +#define tB_SPLINE_CURVE_WITH_KNOTS 351 +#define tCARTESIAN_POINT 352 +#define tTRUE 353 +#define tFALSE 354 +#define tUNSPECIFIED 355 +#define tU 356 +#define tV 357 +#define tEDGE_CURVE 358 +#define tVERTEX_POINT 359 +#define tORIENTED_EDGE 360 +#define tPLANE 361 +#define tFACE_OUTER_BOUND 362 +#define tEDGE_LOOP 363 +#define tADVANCED_FACE 364 +#define tVECTOR 365 +#define tDIRECTION 366 +#define tAXIS2_PLACEMENT_3D 367 +#define tISO 368 +#define tENDISO 369 +#define tENDSEC 370 +#define tDATA 371 +#define tHEADER 372 +#define tFILE_DESCRIPTION 373 +#define tFILE_SCHEMA 374 +#define tFILE_NAME 375 +#define tMANIFOLD_SOLID_BREP 376 +#define tCLOSED_SHELL 377 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 378 +#define tFACE_BOUND 379 +#define tCYLINDRICAL_SURFACE 380 +#define tCONICAL_SURFACE 381 +#define tCIRCLE 382 +#define tTRIMMED_CURVE 383 +#define tGEOMETRIC_SET 384 +#define tCOMPOSITE_CURVE_SEGMENT 385 +#define tCONTINUOUS 386 +#define tCOMPOSITE_CURVE 387 +#define tTOROIDAL_SURFACE 388 +#define tPRODUCT_DEFINITION 389 +#define tPRODUCT_DEFINITION_SHAPE 390 +#define tSHAPE_DEFINITION_REPRESENTATION 391 +#define tELLIPSE 392 +#define tTrimmed 393 +#define tSolid 394 +#define tEndSolid 395 +#define tVertex 396 +#define tFacet 397 +#define tNormal 398 +#define tOuter 399 +#define tLoopSTL 400 +#define tEndLoop 401 +#define tEndFacet 402 +#define UMINUS 403 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 64d065cdfaabe1db605cc32d8e9a1e1bf70cf953..ffbc28977ba7699e46dcd37db331da418b9c79a0 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.15 2000-12-05 19:19:54 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.16 2000-12-06 18:28:30 remacle Exp $ */ #include <stdarg.h> @@ -15,6 +15,7 @@ #include "Options.h" #include "Colors.h" #include "Parser.h" +#include "Main.h" #ifdef __DECCXX // bug in bison #include <alloca.h> @@ -29,12 +30,14 @@ extern char ThePathForIncludes[NAME_STR_L]; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; +static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; +static int LoopControlVariablesTab[MAX_OPEN_FILES][3]; 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 int i,j,k,flag,RecursionLevel=0; +static int i,j,k,flag,RecursionLevel=0,ImbricatedLoop = 0; static double d; static ExtrudeParams extr; static StringXColor *ColorField ; @@ -73,7 +76,7 @@ void vyyerror (char *fmt, ...); %token tScalarLine tVectorLine tTensorLine %token tScalarPoint tVectorPoint tTensorPoint %token tBSpline tNurbs tOrder tWith tBounds tKnots -%token tColor tOptions +%token tColor tOptions tFor tEndFor tScript tExit tMerge %token tGeneral tGeometry tMesh tPostProcessing tPrint %token tB_SPLINE_SURFACE_WITH_KNOTS @@ -328,8 +331,10 @@ StepDataItem : GeomFormatList : /* none*/ + { + } | GeomFormatList GeomFormat - { + { Msg(PARSER_INFO,"Gmsh File Format Read"); } ; @@ -345,6 +350,9 @@ GeomFormat : | Transfini { return 1; } | Coherence { return 1; } | Macro { return 1; } + | Loop {return 1;} +/* | Script { return 1; }*/ + | Command { return 1; } | tOptions '{' Options '}' { return 1; } | error tEND { yyerrok; return 1;} ; @@ -1055,9 +1063,119 @@ Macro : yyin = yyinTab[--RecursionLevel]; } } +; +/* ----------------- + C O M M A N D + ----------------- */ +Command : + tPrint tBIGSTR tEND + { + char ext[6]; + strcpy(ext,$2+(strlen($2)-4)); + Replot(); + extern void CreateImage (FILE *fp); + FILE *fp = 0; + if(!strcmp(ext,".gif")) + { + fp = fopen($2,"wb"); + CTX.print.type = PRINT_GL2GIF; + } + else if(!strcmp(ext,".eps")) + { + fp = fopen($2,"w"); + CTX.print.type = PRINT_GL2PS_RECURSIVE; + } + else if(!strcmp(ext,".xpm")) + { + fp = fopen($2,"wb"); + CTX.print.type = PRINT_XDUMP; + CTX.print.format = FORMAT_XPM; + } + + if(fp) + { + CreateImage(fp); + fclose(fp); + } + } + | tExit tEND + { + exit(0); + } + | tMerge tBIGSTR tEND + { + FILE *ff = yyin; + MergeProblem($2); + yyin = ff; + } ; +/* --------------- + L O O P + --------------- */ + +Loop : + + tFor '(' FExpr ':' FExpr ')' + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = (int)$3 ; + LoopControlVariablesTab[ImbricatedLoop][1] = (int)$5 ; + LoopControlVariablesTab[ImbricatedLoop][2] = 1 ; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + } + | tFor '(' FExpr ':' FExpr ':' FExpr ')' + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + // here, we seek remember the position in yyin + LoopControlVariablesTab[ImbricatedLoop][0] = (int)$3 ; + LoopControlVariablesTab[ImbricatedLoop][1] = (int)$5 ; + LoopControlVariablesTab[ImbricatedLoop][2] = (int)$7 ; + fgetpos( ff, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + } + | tEndFor + { + if(LoopControlVariablesTab[ImbricatedLoop-1][1] > + LoopControlVariablesTab[ImbricatedLoop-1][0]) + { + FILE* ff; + if(RecursionLevel) + ff = yyinTab[RecursionLevel-1]; + else + ff = yyin; + LoopControlVariablesTab[ImbricatedLoop-1][0] += + LoopControlVariablesTab[ImbricatedLoop-1][2]; + fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); + } + else + { + ImbricatedLoop--; + } + } + +/* --------------- + S C R I P T + --------------- + +Script : + tScript '(' FExpr ')' '{' GeomFormatList '}' tEND + { + // here put something to close the script which + // number is (int) $3 + } +; +*/ + /* --------------- E X T R U D E diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 1a2e95f72fa50dbb5e914920090abe8573b69c8b..250fc9ba6858e225d801ee51c42df7091fc924c3 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.16 2000-12-05 19:19:54 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.17 2000-12-06 18:28:30 remacle Exp $ */ #define FLEX_SCANNER @@ -283,116 +283,117 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 160 -#define YY_END_OF_BUFFER 161 -static yyconst short int yy_accept[963] = +#define YY_NUM_RULES 165 +#define YY_END_OF_BUFFER 166 +static yyconst short int yy_accept[980] = { 0, - 0, 0, 161, 159, 1, 1, 5, 153, 6, 159, - 159, 154, 2, 9, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 0, 0, 153, 0, 156, 0, 0, - 0, 0, 3, 4, 155, 154, 0, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 62, - 158, 158, 158, 158, 158, 158, 158, 95, 98, 89, - 92, 158, 158, 158, 158, 158, 158, 97, 158, 100, - 158, 91, 94, 158, 158, 158, 158, 96, 99, 90, - 93, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 0, 0, 10, 0, 106, 107, 108, 109, - 155, 0, 0, 157, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - - 158, 26, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 36, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 52, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 74, 158, 158, 158, 158, - 158, 158, 83, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 0, - 0, 0, 156, 0, 0, 155, 158, 11, 158, 158, - 158, 158, 158, 158, 13, 158, 15, 158, 158, 158, - - 158, 21, 158, 158, 158, 158, 158, 158, 158, 24, - 158, 158, 158, 158, 158, 25, 123, 158, 158, 158, - 158, 158, 158, 0, 158, 158, 158, 158, 158, 41, - 158, 43, 158, 158, 158, 158, 158, 0, 158, 158, - 117, 158, 158, 50, 158, 51, 158, 55, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 76, 75, - 158, 73, 158, 158, 158, 158, 82, 158, 158, 158, - 158, 158, 86, 158, 88, 158, 158, 158, 158, 148, - 8, 158, 158, 158, 158, 158, 0, 0, 0, 155, - - 158, 158, 158, 158, 158, 158, 158, 158, 17, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 31, 158, 158, 158, 158, 158, 158, - 158, 0, 158, 158, 158, 158, 158, 42, 158, 158, - 158, 158, 46, 0, 158, 48, 158, 158, 53, 158, - 158, 57, 158, 158, 158, 59, 121, 158, 158, 158, - 63, 64, 158, 65, 69, 158, 158, 158, 72, 158, - 158, 158, 158, 158, 158, 158, 158, 85, 158, 158, - 158, 158, 158, 158, 145, 158, 158, 147, 152, 158, - 0, 0, 158, 158, 158, 158, 12, 14, 16, 158, - - 158, 158, 158, 23, 158, 136, 158, 158, 158, 158, - 158, 158, 28, 158, 158, 158, 33, 34, 158, 158, - 158, 158, 0, 129, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 122, 0, 158, 54, 49, - 158, 56, 158, 58, 158, 158, 158, 158, 158, 158, - 158, 71, 158, 77, 158, 158, 158, 158, 158, 158, - 158, 118, 158, 87, 158, 158, 158, 7, 146, 144, - 0, 0, 158, 158, 158, 158, 18, 158, 158, 22, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 30, - 158, 158, 158, 158, 40, 0, 158, 158, 38, 158, - - 158, 158, 158, 158, 158, 44, 158, 0, 47, 158, - 158, 60, 158, 158, 158, 158, 158, 158, 158, 78, - 158, 158, 158, 158, 158, 84, 158, 158, 149, 158, - 0, 0, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 0, 37, 39, 158, 158, 158, 158, 158, 158, - 45, 0, 158, 158, 158, 158, 61, 158, 158, 158, - 158, 79, 158, 158, 158, 158, 158, 150, 151, 0, - 0, 158, 158, 158, 158, 158, 20, 158, 158, 158, - 158, 158, 158, 158, 158, 29, 119, 35, 158, 112, - - 0, 158, 158, 158, 125, 158, 158, 0, 158, 158, - 158, 158, 158, 158, 70, 158, 158, 158, 158, 81, - 158, 0, 0, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 32, 158, 111, 0, - 115, 158, 158, 158, 158, 0, 158, 158, 158, 67, - 158, 158, 158, 158, 158, 158, 158, 0, 0, 158, - 158, 158, 158, 158, 19, 158, 158, 158, 158, 158, - 158, 158, 158, 0, 158, 158, 124, 158, 0, 158, - 158, 158, 158, 66, 158, 158, 158, 80, 158, 105, - 0, 105, 158, 158, 158, 158, 158, 158, 158, 130, - - 158, 158, 158, 158, 0, 158, 158, 158, 127, 158, - 158, 158, 158, 158, 158, 158, 113, 104, 158, 116, - 104, 158, 158, 158, 158, 158, 158, 158, 158, 0, - 158, 158, 138, 158, 110, 158, 158, 158, 158, 137, - 158, 158, 158, 158, 158, 158, 158, 158, 27, 0, - 158, 158, 158, 158, 68, 158, 158, 158, 158, 158, - 158, 101, 140, 134, 158, 0, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 128, 114, - 126, 158, 158, 158, 135, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 120, 158, 158, 158, 158, - - 158, 141, 158, 158, 158, 158, 158, 133, 132, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 139, 158, 158, 158, 158, 158, 142, 158, - 158, 103, 158, 158, 158, 158, 158, 158, 102, 158, - 158, 158, 158, 158, 158, 158, 158, 143, 158, 158, - 131, 0 + 0, 0, 166, 164, 1, 1, 5, 158, 6, 164, + 164, 159, 2, 9, 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, 0, 0, 158, 0, 161, 0, 0, + 0, 0, 3, 4, 160, 159, 0, 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, 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, 163, 163, 163, + 163, 62, 163, 163, 163, 163, 163, 163, 163, 100, + 103, 94, 97, 163, 163, 163, 163, 163, 163, 163, + 102, 163, 105, 163, 96, 99, 163, 163, 163, 163, + 101, 104, 95, 98, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 0, 0, 10, 0, 111, + 112, 113, 114, 160, 0, 0, 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, 26, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 36, 163, 163, 163, + 163, 163, 163, 89, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 52, 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, 74, 163, 163, 163, 163, 163, 163, + 83, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 0, 0, 0, + 161, 0, 0, 160, 163, 11, 163, 163, 163, 163, + + 163, 163, 13, 163, 15, 163, 163, 163, 163, 21, + 163, 163, 163, 163, 163, 163, 163, 24, 163, 163, + 163, 163, 163, 25, 128, 163, 163, 163, 163, 163, + 163, 0, 163, 163, 163, 92, 163, 163, 163, 41, + 163, 43, 163, 163, 163, 163, 163, 0, 163, 163, + 122, 163, 163, 50, 163, 51, 163, 163, 55, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 76, + 163, 75, 163, 73, 163, 163, 163, 163, 82, 163, + 163, 163, 163, 163, 86, 163, 88, 163, 163, 163, + + 163, 153, 8, 163, 163, 163, 163, 163, 0, 0, + 0, 160, 163, 163, 163, 163, 163, 163, 163, 163, + 17, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 31, 163, 163, 163, 163, + 163, 163, 163, 0, 163, 163, 163, 163, 163, 163, + 42, 163, 163, 163, 163, 46, 0, 163, 48, 163, + 163, 53, 163, 93, 163, 57, 163, 163, 163, 59, + 126, 163, 163, 163, 63, 64, 163, 65, 69, 163, + 163, 163, 72, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 85, 163, 163, 163, 163, 163, 163, 150, + + 163, 163, 152, 157, 163, 0, 0, 163, 163, 163, + 163, 12, 14, 16, 163, 163, 163, 163, 23, 163, + 141, 163, 163, 163, 163, 163, 163, 28, 163, 163, + 163, 33, 34, 163, 163, 163, 163, 0, 134, 163, + 163, 90, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 127, 0, 163, 54, 49, 163, 56, 163, 58, + 163, 163, 163, 163, 163, 163, 163, 71, 163, 91, + 77, 163, 163, 163, 163, 163, 163, 163, 123, 163, + 87, 163, 163, 163, 7, 151, 149, 0, 0, 163, + 163, 163, 163, 18, 163, 163, 22, 163, 163, 163, + + 163, 163, 163, 163, 163, 163, 30, 163, 163, 163, + 163, 40, 0, 163, 163, 38, 163, 163, 163, 163, + 163, 163, 44, 163, 0, 47, 163, 163, 60, 163, + 163, 163, 163, 163, 163, 163, 78, 163, 163, 163, + 163, 163, 84, 163, 163, 154, 163, 0, 0, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 0, 37, + 39, 163, 163, 163, 163, 163, 163, 45, 0, 163, + 163, 163, 163, 61, 163, 163, 163, 163, 79, 163, + 163, 163, 163, 163, 155, 156, 0, 0, 163, 163, + + 163, 163, 163, 20, 163, 163, 163, 163, 163, 163, + 163, 163, 29, 124, 35, 163, 117, 0, 163, 163, + 163, 130, 163, 163, 0, 163, 163, 163, 163, 163, + 163, 70, 163, 163, 163, 163, 81, 163, 0, 0, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 32, 163, 116, 0, 120, 163, 163, + 163, 163, 0, 163, 163, 163, 67, 163, 163, 163, + 163, 163, 163, 163, 0, 0, 163, 163, 163, 163, + 163, 19, 163, 163, 163, 163, 163, 163, 163, 163, + 0, 163, 163, 129, 163, 0, 163, 163, 163, 163, + + 66, 163, 163, 163, 80, 163, 110, 0, 110, 163, + 163, 163, 163, 163, 163, 163, 135, 163, 163, 163, + 163, 0, 163, 163, 163, 132, 163, 163, 163, 163, + 163, 163, 163, 118, 109, 163, 121, 109, 163, 163, + 163, 163, 163, 163, 163, 163, 0, 163, 163, 143, + 163, 115, 163, 163, 163, 163, 142, 163, 163, 163, + 163, 163, 163, 163, 163, 27, 0, 163, 163, 163, + 163, 68, 163, 163, 163, 163, 163, 163, 106, 145, + 139, 163, 0, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 133, 119, 131, 163, 163, + + 163, 140, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 125, 163, 163, 163, 163, 163, 146, 163, + 163, 163, 163, 163, 138, 137, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 144, + 163, 163, 163, 163, 163, 147, 163, 163, 108, 163, + 163, 163, 163, 163, 163, 107, 163, 163, 163, 163, + 163, 163, 163, 163, 148, 163, 163, 136, 0 } ; static yyconst int yy_ec[256] = @@ -438,227 +439,231 @@ static yyconst int yy_meta[67] = 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[968] = +static yyconst short int yy_base[985] = { 0, - 0, 0, 1190, 46, 47, 1191, 48, 58, 54, 87, - 69, 117, 56, 57, 98, 85, 147, 124, 131, 129, - 66, 167, 166, 60, 67, 179, 188, 72, 173, 224, - 172, 263, 309, 154, 235, 97, 116, 180, 191, 204, - 217, 225, 219, 1156, 1156, 290, 1177, 336, 1176, 1175, - 81, 1174, 1191, 1191, 342, 357, 319, 0, 183, 1144, - 1150, 1154, 1134, 57, 120, 1146, 1121, 1141, 1114, 1121, - 1139, 1138, 1139, 51, 1141, 1109, 1117, 1124, 1108, 257, - 1129, 1130, 1111, 1110, 1105, 1136, 1130, 1137, 1105, 55, - 1136, 1126, 1110, 1098, 1097, 1119, 123, 1132, 1093, 1116, - - 1102, 1091, 1114, 1079, 1089, 1088, 163, 1110, 1081, 1093, - 1080, 1111, 1088, 1075, 1088, 1115, 1100, 1073, 1065, 0, - 1086, 189, 90, 1083, 1067, 1074, 1107, 0, 0, 0, - 0, 1062, 1069, 1070, 1063, 1062, 1066, 0, 1084, 0, - 1091, 0, 0, 1062, 199, 1064, 229, 0, 0, 0, - 0, 1067, 1061, 1052, 1065, 1065, 1054, 1045, 1049, 1046, - 1053, 1046, 1072, 1067, 1191, 373, 1191, 1191, 1191, 1191, - 379, 395, 348, 362, 1070, 1041, 1081, 1063, 1062, 249, - 1042, 1040, 1040, 1035, 1040, 1058, 1036, 1033, 1052, 1067, - 1051, 1052, 1058, 1057, 1029, 1029, 1022, 1034, 1031, 1022, - - 1020, 1025, 1056, 1051, 1025, 1028, 1018, 1047, 1042, 161, - 1016, 0, 1008, 1043, 1042, 1004, 1007, 1015, 1030, 1012, - 1005, 1036, 1001, 1047, 1002, 993, 1030, 1004, 1001, 1002, - 1036, 991, 1020, 995, 983, 999, 1020, 982, 989, 992, - 1007, 1016, 993, 976, 980, 979, 972, 984, 976, 980, - 973, 984, 979, 992, 977, 973, 971, 961, 972, 966, - 986, 987, 966, 961, 961, 959, 976, 975, 947, 948, - 958, 263, 960, 950, 231, 952, 957, 952, 942, 965, - 967, 384, 400, 409, 416, 421, 963, 0, 967, 964, - 983, 940, 943, 950, 0, 947, 978, 947, 938, 959, - - 941, 0, 964, 956, 962, 951, 962, 950, 919, 0, - 936, 926, 919, 918, 923, 0, 0, 954, 913, 912, - 920, 928, 936, 942, 945, 910, 904, 922, 921, 0, - 904, 0, 939, 902, 912, 936, 897, 944, 894, 895, - 0, 895, 892, 0, 940, 0, 927, 0, 897, 889, - 916, 899, 890, 886, 921, 905, 888, 889, 892, 878, - 904, 878, 875, 876, 880, 872, 885, 908, 0, 0, - 875, 0, 885, 880, 900, 895, 0, 865, 870, 873, - 889, 898, 0, 866, 0, 875, 862, 861, 855, 0, - 0, 867, 870, 854, 865, 863, 883, 886, 426, 431, - - 881, 886, 883, 862, 844, 848, 847, 849, 0, 854, - 844, 871, 837, 860, 872, 872, 857, 873, 869, 837, - 843, 840, 839, 0, 838, 848, 836, 835, 836, 288, - 845, 844, 858, 234, 831, 228, 260, 0, 840, 832, - 814, 839, 0, 861, 825, 0, 811, 819, 0, 836, - 812, 0, 830, 805, 810, 0, 0, 843, 815, 816, - 0, 0, 802, 0, 0, 812, 814, 810, 0, 814, - 808, 809, 793, 831, 829, 225, 803, 0, 815, 808, - 800, 801, 790, 792, 0, 794, 790, 0, 0, 777, - 809, 819, 807, 815, 816, 802, 0, 0, 821, 790, - - 772, 784, 799, 0, 803, 0, 786, 801, 797, 791, - 772, 763, 0, 768, 757, 794, 0, 0, 776, 781, - 785, 794, 783, 0, 763, 762, 765, 779, 773, 787, - 790, 787, 772, 753, 746, 0, 789, 755, 0, 0, - 772, 0, 778, 0, 740, 762, 737, 753, 740, 735, - 742, 0, 771, 0, 744, 732, 771, 767, 736, 743, - 739, 0, 742, 0, 736, 726, 730, 0, 0, 0, - 743, 753, 741, 756, 750, 746, 0, 714, 718, 0, - 750, 753, 735, 733, 726, 741, 732, 718, 719, 0, - 731, 702, 727, 728, 0, 751, 699, 712, 0, 719, - - 719, 719, 723, 727, 725, 0, 685, 738, 0, 727, - 726, 0, 704, 687, 692, 698, 683, 687, 718, 0, - 674, 709, 695, 682, 675, 0, 701, 673, 0, 686, - 699, 707, 697, 686, 704, 708, 674, 666, 681, 691, - 696, 698, 684, 698, 662, 658, 668, 683, 670, 674, - 678, 698, 0, 0, 678, 686, 687, 684, 683, 684, - 0, 689, 660, 659, 679, 648, 0, 651, 646, 649, - 672, 0, 651, 670, 636, 637, 82, 0, 0, 106, - 133, 177, 302, 210, 245, 242, 0, 427, 270, 291, - 276, 286, 317, 283, 286, 0, 0, 0, 317, 0, - - 329, 344, 344, 348, 0, 370, 363, 410, 384, 403, - 426, 404, 391, 396, 0, 426, 418, 417, 395, 0, - 430, 422, 436, 424, 426, 443, 441, 442, 411, 429, - 430, 435, 440, 450, 437, 443, 0, 414, 0, 460, - 0, 433, 450, 459, 443, 466, 448, 460, 459, 0, - 424, 430, 454, 449, 453, 441, 458, 0, 469, 491, - 471, 482, 482, 474, 0, 471, 472, 477, 481, 474, - 489, 471, 454, 504, 497, 484, 0, 496, 507, 491, - 497, 496, 472, 0, 498, 491, 488, 0, 491, 1191, - 0, 0, 495, 507, 530, 510, 503, 519, 517, 0, - - 510, 527, 513, 498, 536, 519, 516, 517, 1191, 528, - 533, 525, 503, 522, 536, 538, 0, 1191, 519, 0, - 0, 531, 541, 546, 534, 528, 547, 531, 524, 562, - 534, 546, 0, 552, 0, 548, 526, 550, 559, 0, - 543, 543, 538, 561, 546, 561, 562, 551, 0, 573, - 556, 556, 547, 554, 0, 559, 572, 568, 552, 556, - 574, 0, 555, 0, 575, 587, 579, 570, 583, 577, - 573, 583, 588, 593, 582, 567, 575, 593, 1191, 0, - 0, 578, 581, 572, 0, 582, 595, 581, 579, 597, - 600, 599, 591, 589, 602, 0, 600, 600, 603, 606, - - 596, 588, 609, 590, 591, 598, 605, 0, 0, 601, - 604, 604, 611, 615, 619, 617, 609, 622, 614, 604, - 616, 630, 627, 617, 619, 624, 617, 621, 620, 622, - 621, 627, 0, 637, 638, 639, 627, 631, 0, 633, - 630, 0, 630, 631, 646, 634, 652, 640, 0, 636, - 637, 648, 657, 644, 641, 647, 653, 0, 648, 650, - 0, 1191, 680, 683, 686, 689, 692 + 0, 0, 1207, 46, 47, 1208, 48, 58, 54, 87, + 69, 117, 56, 57, 98, 85, 147, 124, 149, 163, + 66, 131, 172, 60, 67, 184, 175, 72, 199, 238, + 191, 277, 323, 123, 249, 97, 154, 129, 204, 236, + 200, 205, 197, 1173, 1173, 251, 1194, 304, 1193, 1192, + 81, 1191, 1208, 1208, 350, 362, 333, 0, 104, 1161, + 1167, 1171, 1151, 57, 102, 1163, 1138, 1158, 1131, 1138, + 1156, 1155, 1156, 51, 1158, 1126, 1134, 1141, 1125, 242, + 1146, 1147, 1128, 1127, 1122, 1153, 1147, 1154, 1122, 1127, + 189, 1152, 1142, 1126, 1114, 1113, 1109, 1134, 60, 1147, + + 1108, 1131, 1117, 1106, 1129, 1094, 1104, 1103, 92, 1125, + 192, 1109, 1096, 1127, 1104, 1091, 1104, 1131, 1116, 1089, + 1081, 0, 1102, 217, 219, 1099, 1083, 1090, 1123, 0, + 0, 0, 0, 1078, 1081, 1084, 1085, 1078, 1077, 1081, + 0, 1099, 0, 1106, 0, 0, 1077, 112, 1079, 209, + 0, 0, 0, 0, 1082, 1076, 1067, 1080, 1080, 1069, + 1060, 1064, 1061, 1068, 1061, 1087, 1082, 1208, 375, 1208, + 1208, 1208, 1208, 380, 392, 399, 404, 1085, 1056, 1096, + 1078, 1077, 288, 1057, 1055, 1055, 1050, 1055, 1073, 1051, + 1048, 1067, 1082, 1066, 1067, 1073, 1072, 1044, 1044, 1037, + + 1049, 1046, 1037, 1035, 1040, 1071, 1066, 1040, 1043, 1033, + 1062, 1057, 179, 1031, 1058, 1020, 0, 1021, 1056, 1055, + 1017, 1020, 1028, 0, 1043, 1025, 1018, 1049, 1014, 1060, + 1015, 1006, 1043, 1017, 1014, 1015, 1049, 1004, 1033, 1009, + 1007, 995, 1011, 1032, 994, 1001, 1004, 1019, 1028, 1005, + 988, 992, 991, 984, 996, 988, 992, 985, 996, 991, + 1004, 989, 984, 984, 982, 972, 983, 977, 997, 998, + 977, 972, 972, 970, 987, 986, 958, 959, 969, 273, + 971, 961, 221, 963, 968, 963, 953, 976, 978, 409, + 417, 426, 431, 436, 974, 0, 978, 975, 994, 951, + + 954, 961, 0, 958, 989, 958, 949, 970, 952, 0, + 975, 967, 973, 962, 973, 961, 930, 0, 947, 937, + 930, 929, 934, 0, 0, 965, 924, 923, 931, 939, + 947, 953, 956, 921, 921, 0, 914, 932, 931, 0, + 914, 0, 949, 912, 922, 946, 907, 954, 904, 905, + 0, 905, 902, 0, 950, 0, 937, 912, 0, 906, + 898, 925, 908, 899, 895, 930, 914, 897, 898, 901, + 887, 913, 887, 884, 885, 889, 881, 894, 917, 0, + 882, 0, 883, 0, 893, 888, 908, 903, 0, 873, + 878, 881, 897, 906, 0, 874, 0, 883, 870, 869, + + 863, 0, 0, 875, 878, 862, 873, 871, 891, 894, + 441, 446, 889, 894, 891, 870, 852, 856, 855, 857, + 0, 862, 852, 879, 845, 868, 880, 880, 865, 881, + 877, 845, 851, 848, 847, 0, 846, 856, 844, 843, + 844, 203, 853, 852, 866, 194, 827, 838, 279, 318, + 0, 847, 839, 821, 846, 0, 868, 832, 0, 818, + 826, 0, 843, 0, 819, 0, 837, 812, 817, 0, + 0, 850, 822, 823, 0, 0, 809, 0, 0, 819, + 821, 817, 0, 821, 802, 814, 815, 799, 837, 835, + 251, 809, 0, 821, 814, 806, 807, 796, 798, 0, + + 800, 796, 0, 0, 783, 815, 825, 813, 821, 822, + 808, 0, 0, 827, 796, 778, 790, 805, 0, 809, + 0, 792, 807, 803, 797, 778, 769, 0, 774, 763, + 800, 0, 0, 782, 787, 791, 800, 789, 0, 769, + 768, 0, 771, 785, 779, 793, 796, 793, 778, 759, + 752, 0, 795, 761, 0, 0, 778, 0, 784, 0, + 746, 768, 743, 759, 746, 741, 748, 0, 777, 0, + 0, 750, 738, 777, 773, 742, 749, 745, 0, 748, + 0, 742, 732, 736, 0, 0, 0, 749, 759, 747, + 762, 756, 752, 0, 720, 724, 0, 756, 759, 741, + + 739, 732, 747, 738, 724, 725, 0, 737, 708, 733, + 734, 0, 757, 705, 718, 0, 725, 725, 725, 729, + 733, 731, 0, 691, 744, 0, 733, 732, 0, 710, + 693, 698, 704, 689, 693, 724, 0, 680, 715, 701, + 688, 681, 0, 707, 679, 0, 692, 705, 713, 703, + 692, 710, 714, 680, 672, 687, 697, 702, 704, 690, + 704, 668, 664, 674, 689, 676, 680, 684, 704, 0, + 0, 684, 692, 693, 690, 688, 687, 0, 690, 659, + 69, 131, 126, 0, 152, 154, 201, 264, 0, 263, + 287, 258, 280, 297, 0, 0, 293, 305, 298, 331, + + 310, 317, 312, 0, 350, 326, 347, 336, 342, 362, + 343, 347, 0, 0, 0, 379, 0, 397, 404, 392, + 401, 0, 406, 420, 455, 429, 443, 444, 422, 409, + 414, 0, 444, 436, 435, 413, 0, 448, 440, 454, + 442, 444, 461, 458, 459, 428, 446, 447, 452, 457, + 467, 454, 460, 0, 431, 0, 477, 0, 450, 467, + 476, 460, 483, 465, 477, 476, 0, 441, 447, 471, + 466, 470, 458, 475, 0, 486, 508, 488, 499, 499, + 491, 0, 488, 489, 494, 498, 491, 506, 488, 471, + 521, 514, 501, 0, 513, 524, 508, 514, 513, 489, + + 0, 515, 508, 505, 0, 508, 1208, 0, 0, 512, + 524, 547, 527, 520, 536, 534, 0, 527, 544, 530, + 515, 553, 536, 533, 534, 1208, 545, 550, 542, 520, + 539, 553, 555, 0, 1208, 536, 0, 0, 548, 558, + 563, 551, 545, 564, 548, 541, 579, 551, 563, 0, + 569, 0, 565, 543, 567, 576, 0, 560, 560, 555, + 578, 563, 578, 579, 568, 0, 590, 573, 573, 564, + 571, 0, 576, 589, 585, 569, 573, 591, 0, 572, + 0, 592, 604, 596, 587, 600, 594, 590, 600, 605, + 610, 599, 584, 592, 610, 1208, 0, 0, 595, 598, + + 589, 0, 599, 612, 598, 596, 614, 617, 616, 608, + 606, 619, 0, 617, 617, 620, 623, 613, 605, 626, + 607, 608, 615, 622, 0, 0, 618, 621, 621, 628, + 632, 636, 634, 626, 639, 631, 621, 633, 647, 644, + 634, 636, 641, 634, 638, 637, 639, 638, 644, 0, + 654, 655, 656, 644, 648, 0, 650, 647, 0, 647, + 648, 663, 651, 669, 657, 0, 653, 654, 665, 674, + 661, 658, 664, 670, 0, 665, 667, 0, 1208, 697, + 700, 703, 706, 709 } ; -static yyconst short int yy_def[968] = +static yyconst short int yy_def[985] = { 0, - 962, 1, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 962, 962, 962, 962, 962, 962, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 962, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 962, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 962, 962, 962, 962, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 962, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 962, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 962, 962, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 962, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 962, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 962, 962, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 962, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 962, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 962, 962, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 962, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 962, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 962, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 962, 963, 963, 963, 963, 963, 963, 962, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 962, 962, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 963, 963, 963, 963, 963, 962, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 964, 962, 965, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 962, 963, 963, 963, 963, 962, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 966, 963, 963, 963, 967, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 962, 963, 963, 963, 962, 963, - 963, 963, 963, 963, 963, 963, 963, 962, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 962, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 962, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 962, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 0, 962, 962, 962, 962, 962 + 979, 1, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 979, 979, + 979, 979, 979, 979, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 979, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 979, 979, + 979, 979, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 979, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 979, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 979, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 979, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 979, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 979, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 979, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 979, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 979, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 979, 979, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 979, 980, 980, + 980, 980, 980, 980, 979, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 979, 979, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 979, 980, 980, 980, + 980, 980, 979, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 981, 979, 982, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 979, 980, 980, 980, 980, 979, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 979, 983, 980, 980, + 980, 984, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 979, 980, 980, 980, 979, 980, 980, 980, 980, + 980, 980, 980, 980, 979, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 979, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 979, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 979, 980, 980, 980, 980, + + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + 980, 980, 980, 980, 980, 980, 980, 980, 0, 979, + 979, 979, 979, 979 } ; -static yyconst short int yy_nxt[1258] = +static yyconst short int yy_nxt[1275] = { 0, 4, 5, 6, 7, 8, 9, 4, 4, 4, 10, 11, 12, 12, 12, 12, 12, 13, 14, 15, 16, @@ -668,60 +673,60 @@ static yyconst short int yy_nxt[1258] = 24, 24, 39, 24, 40, 41, 24, 24, 24, 42, 24, 24, 43, 24, 24, 24, 44, 44, 44, 46, 46, 46, 46, 46, 44, 53, 44, 44, 44, 54, - 66, 192, 193, 45, 45, 45, 66, 66, 96, 44, - 169, 45, 66, 45, 45, 45, 47, 61, 48, 48, - - 48, 48, 48, 61, 61, 66, 45, 44, 181, 61, - 49, 212, 164, 97, 721, 213, 182, 66, 59, 60, - 67, 102, 61, 50, 51, 52, 55, 68, 56, 56, - 56, 56, 56, 111, 61, 61, 66, 44, 62, 57, - 69, 249, 81, 722, 66, 250, 70, 91, 154, 66, - 82, 66, 86, 61, 45, 92, 63, 64, 65, 723, - 87, 61, 88, 183, 57, 71, 61, 66, 61, 324, - 155, 83, 93, 72, 66, 84, 73, 220, 221, 74, - 184, 94, 95, 89, 61, 85, 66, 66, 75, 98, - 76, 61, 66, 66, 77, 90, 325, 78, 79, 66, - - 66, 100, 80, 61, 61, 103, 108, 112, 66, 61, - 61, 66, 231, 146, 724, 175, 61, 61, 232, 124, - 101, 113, 104, 156, 66, 61, 105, 125, 61, 114, - 106, 115, 99, 126, 107, 109, 727, 66, 176, 66, - 246, 61, 264, 110, 66, 66, 157, 528, 247, 267, - 265, 158, 248, 116, 61, 66, 61, 147, 117, 159, - 529, 61, 61, 268, 148, 728, 162, 118, 149, 292, - 150, 151, 61, 559, 119, 120, 121, 560, 160, 122, - 161, 530, 123, 66, 293, 294, 152, 391, 127, 392, - 153, 531, 128, 525, 526, 532, 129, 729, 130, 131, - - 61, 46, 46, 46, 46, 46, 132, 199, 520, 200, - 201, 386, 732, 733, 133, 387, 202, 521, 734, 134, - 135, 725, 388, 735, 136, 726, 173, 173, 137, 66, - 174, 174, 174, 174, 174, 736, 737, 738, 138, 739, - 740, 139, 140, 141, 142, 143, 61, 48, 48, 48, - 48, 48, 144, 171, 171, 171, 171, 171, 166, 174, - 174, 174, 174, 174, 172, 741, 55, 145, 56, 56, - 56, 56, 56, 174, 174, 174, 174, 174, 742, 57, - 282, 282, 743, 166, 283, 283, 283, 283, 283, 172, - 171, 171, 171, 171, 171, 283, 283, 283, 283, 283, - - 744, 284, 285, 285, 57, 745, 286, 286, 286, 286, - 286, 283, 283, 283, 283, 283, 399, 399, 746, 747, - 400, 400, 400, 400, 400, 748, 284, 286, 286, 286, - 286, 286, 286, 286, 286, 286, 286, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 730, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 731, 763, 764, 765, 766, 767, 768, 769, + 66, 195, 196, 45, 45, 45, 66, 66, 98, 44, + 172, 45, 66, 45, 45, 45, 47, 61, 48, 48, + + 48, 48, 48, 61, 61, 66, 45, 44, 184, 61, + 49, 727, 167, 99, 226, 227, 185, 66, 59, 60, + 67, 104, 61, 50, 51, 52, 55, 68, 56, 56, + 56, 56, 56, 113, 61, 61, 178, 44, 62, 57, + 69, 237, 81, 66, 66, 186, 70, 238, 157, 66, + 82, 66, 728, 100, 45, 272, 63, 64, 65, 179, + 61, 61, 187, 273, 57, 71, 61, 66, 61, 66, + 86, 83, 159, 72, 66, 84, 73, 729, 87, 74, + 88, 92, 149, 66, 61, 85, 61, 332, 75, 93, + 76, 61, 66, 110, 77, 66, 101, 78, 79, 730, + + 61, 89, 80, 90, 66, 731, 94, 102, 158, 61, + 105, 66, 61, 91, 333, 95, 96, 66, 97, 66, + 66, 61, 111, 535, 66, 66, 103, 106, 61, 275, + 112, 107, 536, 114, 61, 108, 61, 61, 126, 109, + 216, 61, 61, 276, 165, 217, 127, 115, 732, 218, + 240, 241, 128, 540, 541, 116, 66, 117, 66, 160, + 164, 163, 46, 46, 46, 46, 46, 118, 253, 66, + 256, 150, 119, 61, 257, 61, 254, 403, 151, 404, + 255, 120, 152, 161, 153, 154, 61, 733, 121, 122, + 123, 162, 202, 124, 203, 204, 125, 66, 544, 576, + + 155, 205, 129, 577, 156, 734, 130, 735, 300, 736, + 131, 545, 132, 133, 61, 48, 48, 48, 48, 48, + 134, 398, 135, 301, 302, 399, 169, 737, 136, 738, + 739, 740, 400, 137, 138, 741, 744, 745, 139, 546, + 176, 176, 140, 66, 177, 177, 177, 177, 177, 547, + 742, 169, 141, 548, 743, 142, 143, 144, 145, 146, + 61, 174, 174, 174, 174, 174, 147, 746, 749, 750, + 747, 55, 175, 56, 56, 56, 56, 56, 751, 752, + 753, 148, 290, 290, 57, 748, 291, 291, 291, 291, + 291, 174, 174, 174, 174, 174, 754, 175, 755, 293, + + 293, 756, 292, 294, 294, 294, 294, 294, 757, 57, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 291, 291, 291, 291, 291, 758, 759, 292, 291, 291, + 291, 291, 291, 411, 411, 760, 761, 412, 412, 412, + 412, 412, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 412, 412, 412, 412, 412, 412, 412, 412, + 412, 412, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 791, 790, 790, 793, 790, 790, 790, 790, 790, 790, - - 790, 790, 794, 795, 796, 797, 798, 790, 790, 799, - 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, - 810, 811, 812, 813, 814, 815, 816, 817, 819, 820, - 818, 818, 822, 818, 818, 818, 818, 818, 818, 818, - 818, 823, 824, 825, 826, 827, 818, 818, 828, 829, - 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, - 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, + + 800, 801, 802, 803, 804, 805, 806, 808, 807, 807, + 810, 807, 807, 807, 807, 807, 807, 807, 807, 811, + 812, 813, 814, 815, 807, 807, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 836, 837, 835, 835, 839, + 835, 835, 835, 835, 835, 835, 835, 835, 840, 841, + 842, 843, 844, 835, 835, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, @@ -734,73 +739,75 @@ static yyconst short int yy_nxt[1258] = 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 58, 790, 720, 790, 792, 719, 792, 818, - 718, 818, 821, 717, 821, 716, 715, 714, 713, 712, - - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 676, 675, 674, 673, 672, - 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, - 651, 650, 649, 648, 647, 646, 645, 644, 643, 642, - 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, - - 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, - 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, - 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, - 561, 558, 557, 556, 555, 554, 553, 552, 551, 550, - 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 527, 524, 523, - 522, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, - - 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, - 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, - 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, - 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, - 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, - 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, - 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, - 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, - 420, 419, 418, 417, 416, 415, 414, 413, 412, 411, - 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, - - 398, 397, 396, 395, 394, 393, 390, 389, 385, 384, - 383, 382, 381, 380, 379, 378, 377, 376, 375, 374, - 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, - 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, - 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, - 333, 332, 331, 330, 329, 328, 327, 326, 323, 322, - 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, - 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, - 301, 300, 299, 298, 297, 296, 295, 291, 290, 289, - - 288, 287, 281, 280, 279, 278, 277, 276, 275, 274, - 273, 272, 271, 270, 269, 266, 263, 262, 261, 260, - 259, 258, 257, 256, 255, 254, 253, 252, 251, 245, - 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, - 234, 233, 230, 229, 228, 227, 226, 225, 224, 223, - 222, 219, 218, 217, 216, 215, 214, 211, 210, 209, - 208, 207, 206, 205, 204, 203, 198, 197, 196, 195, - 194, 191, 190, 189, 188, 187, 186, 185, 175, 180, - 179, 178, 177, 170, 168, 167, 165, 164, 163, 962, - 3, 962, 962, 962, 962, 962, 962, 962, 962, 962, - - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962 + 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, + 970, 971, 972, 973, 974, 975, 976, 977, 978, 58, + + 807, 726, 807, 809, 725, 809, 835, 724, 835, 838, + 723, 838, 722, 721, 720, 719, 718, 717, 716, 715, + 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, + 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, + 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, + 674, 673, 672, 671, 670, 669, 668, 667, 666, 665, + 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, + 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, + 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, + + 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, + 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, + 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, + 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, + 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, + 584, 583, 582, 581, 580, 579, 578, 575, 574, 573, + 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, + 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, + 552, 551, 550, 549, 543, 542, 539, 538, 537, 534, + 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, + + 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, + 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, + 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, + 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, + 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, + 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, + 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, + 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, + 443, 442, 441, 440, 439, 438, 437, 436, 435, 434, + 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, + + 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, + 413, 410, 409, 408, 407, 406, 405, 402, 401, 397, + 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, + 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, + 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, + 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, + 346, 345, 344, 343, 342, 341, 340, 339, 338, 337, + 336, 335, 334, 331, 330, 329, 328, 327, 326, 325, + 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, + + 314, 313, 312, 311, 310, 309, 308, 307, 306, 305, + 304, 303, 299, 298, 297, 296, 295, 289, 288, 287, + 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, + 274, 271, 270, 269, 268, 267, 266, 265, 264, 263, + 262, 261, 260, 259, 258, 252, 251, 250, 249, 248, + 247, 246, 245, 244, 243, 242, 239, 236, 235, 234, + 233, 232, 231, 230, 229, 228, 225, 224, 223, 222, + 221, 220, 219, 215, 214, 213, 212, 211, 210, 209, + 208, 207, 206, 201, 200, 199, 198, 197, 194, 193, + 192, 191, 190, 189, 188, 178, 183, 182, 181, 180, + + 173, 171, 170, 168, 167, 166, 979, 3, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979 } ; -static yyconst short int yy_chk[1258] = +static yyconst short int yy_chk[1275] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -814,132 +821,134 @@ static yyconst short int yy_chk[1258] = 51, 9, 28, 13, 14, 8, 10, 24, 10, 10, 10, 10, 10, 21, 25, 16, 11, 10, 64, 28, - 10, 90, 51, 21, 677, 90, 64, 36, 15, 15, + 10, 681, 51, 21, 99, 99, 64, 36, 15, 15, 16, 25, 16, 10, 10, 10, 12, 16, 12, 12, - 12, 12, 12, 28, 36, 15, 37, 12, 15, 12, - 16, 123, 18, 680, 18, 123, 16, 20, 36, 20, - 18, 19, 19, 37, 12, 20, 15, 15, 15, 681, - 19, 18, 19, 65, 12, 17, 20, 17, 19, 210, - 37, 18, 20, 17, 34, 18, 17, 97, 97, 17, - 65, 20, 20, 19, 17, 18, 23, 22, 17, 22, - 17, 34, 31, 29, 17, 19, 210, 17, 17, 26, - - 38, 23, 17, 23, 22, 26, 27, 29, 27, 31, - 29, 39, 107, 34, 682, 59, 26, 38, 107, 31, - 23, 29, 26, 38, 40, 27, 26, 31, 39, 29, - 26, 29, 22, 31, 26, 27, 684, 41, 59, 43, - 122, 40, 145, 27, 30, 42, 39, 436, 122, 147, - 145, 40, 122, 30, 41, 35, 43, 35, 30, 40, - 436, 30, 42, 147, 35, 685, 43, 30, 35, 180, - 35, 35, 35, 476, 30, 30, 30, 476, 41, 30, - 42, 437, 30, 32, 180, 180, 35, 275, 32, 275, - 35, 437, 32, 434, 434, 437, 32, 686, 32, 32, - - 32, 46, 46, 46, 46, 46, 32, 80, 430, 80, - 80, 272, 689, 690, 32, 272, 80, 430, 691, 32, - 32, 683, 272, 692, 32, 683, 57, 57, 32, 33, - 57, 57, 57, 57, 57, 693, 694, 695, 33, 699, - 701, 33, 33, 33, 33, 33, 33, 48, 48, 48, - 48, 48, 33, 55, 55, 55, 55, 55, 48, 173, - 173, 173, 173, 173, 55, 702, 56, 33, 56, 56, - 56, 56, 56, 174, 174, 174, 174, 174, 703, 56, - 166, 166, 704, 48, 166, 166, 166, 166, 166, 55, - 171, 171, 171, 171, 171, 282, 282, 282, 282, 282, - - 706, 171, 172, 172, 56, 707, 172, 172, 172, 172, - 172, 283, 283, 283, 283, 283, 284, 284, 708, 709, - 284, 284, 284, 284, 284, 710, 171, 285, 285, 285, - 285, 285, 286, 286, 286, 286, 286, 399, 399, 399, - 399, 399, 400, 400, 400, 400, 400, 688, 711, 712, - 713, 714, 716, 717, 718, 719, 721, 722, 723, 724, - 725, 726, 688, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 738, 740, 742, 743, 744, 745, 746, - 747, 748, 749, 751, 752, 753, 754, 755, 756, 757, - 759, 760, 760, 761, 760, 760, 760, 760, 760, 760, - - 760, 760, 762, 763, 764, 766, 767, 760, 760, 768, - 769, 770, 771, 772, 773, 774, 775, 776, 778, 779, - 780, 781, 782, 783, 785, 786, 787, 789, 793, 794, - 795, 795, 796, 795, 795, 795, 795, 795, 795, 795, - 795, 797, 798, 799, 801, 802, 795, 795, 803, 804, - 805, 806, 807, 808, 810, 811, 812, 813, 814, 815, - 816, 819, 822, 823, 824, 825, 826, 827, 828, 829, - 830, 831, 832, 834, 836, 837, 838, 839, 841, 842, - 843, 844, 845, 846, 847, 848, 850, 851, 852, 853, - 854, 856, 857, 858, 859, 860, 861, 863, 865, 866, - - 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, - 877, 878, 882, 883, 884, 886, 887, 888, 889, 890, - 891, 892, 893, 894, 895, 897, 898, 899, 900, 901, - 902, 903, 904, 905, 906, 907, 910, 911, 912, 913, - 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, - 924, 925, 926, 927, 928, 929, 930, 931, 932, 934, - 935, 936, 937, 938, 940, 941, 943, 944, 945, 946, - 947, 948, 950, 951, 952, 953, 954, 955, 956, 957, - 959, 960, 963, 964, 676, 964, 965, 675, 965, 966, - 674, 966, 967, 673, 967, 671, 670, 669, 668, 666, - - 665, 664, 663, 662, 660, 659, 658, 657, 656, 655, - 652, 651, 650, 649, 648, 647, 646, 645, 644, 643, - 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, - 632, 631, 630, 628, 627, 625, 624, 623, 622, 621, - 619, 618, 617, 616, 615, 614, 613, 611, 610, 608, - 607, 605, 604, 603, 602, 601, 600, 598, 597, 596, - 594, 593, 592, 591, 589, 588, 587, 586, 585, 584, - 583, 582, 581, 579, 578, 576, 575, 574, 573, 572, - 571, 567, 566, 565, 563, 561, 560, 559, 558, 557, - 556, 555, 553, 551, 550, 549, 548, 547, 546, 545, - - 543, 541, 538, 537, 535, 534, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 523, 522, 521, 520, 519, - 516, 515, 514, 512, 511, 510, 509, 508, 507, 505, - 503, 502, 501, 500, 499, 496, 495, 494, 493, 492, - 491, 490, 487, 486, 484, 483, 482, 481, 480, 479, - 477, 475, 474, 473, 472, 471, 470, 468, 467, 466, - 463, 460, 459, 458, 455, 454, 453, 451, 450, 448, - 447, 445, 444, 442, 441, 440, 439, 435, 433, 432, - 431, 429, 428, 427, 426, 425, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, - - 408, 407, 406, 405, 404, 403, 402, 401, 398, 397, - 396, 395, 394, 393, 392, 389, 388, 387, 386, 384, - 382, 381, 380, 379, 378, 376, 375, 374, 373, 371, - 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, - 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, - 347, 345, 343, 342, 340, 339, 338, 337, 336, 335, - 334, 333, 331, 329, 328, 327, 326, 325, 324, 323, - 322, 321, 320, 319, 318, 315, 314, 313, 312, 311, - 309, 308, 307, 306, 305, 304, 303, 301, 300, 299, - 298, 297, 296, 294, 293, 292, 291, 290, 289, 287, - - 281, 280, 279, 278, 277, 276, 274, 273, 271, 270, - 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, - 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, - 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, - 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, - 219, 218, 217, 216, 215, 214, 213, 211, 209, 208, - 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, - 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, - 187, 186, 185, 184, 183, 182, 181, 179, 178, 177, - - 176, 175, 164, 163, 162, 161, 160, 159, 158, 157, - 156, 155, 154, 153, 152, 146, 144, 141, 139, 137, - 136, 135, 134, 133, 132, 127, 126, 125, 124, 121, - 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, - 109, 108, 106, 105, 104, 103, 102, 101, 100, 99, - 98, 96, 95, 94, 93, 92, 91, 89, 88, 87, - 86, 85, 84, 83, 82, 81, 79, 78, 77, 76, - 75, 73, 72, 71, 70, 69, 68, 67, 66, 63, - 62, 61, 60, 52, 50, 49, 47, 45, 44, 3, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962 + 12, 12, 12, 28, 36, 15, 59, 12, 15, 12, + 16, 109, 18, 34, 18, 65, 16, 109, 36, 38, + 18, 22, 682, 22, 12, 148, 15, 15, 15, 59, + 34, 18, 65, 148, 12, 17, 38, 17, 22, 19, + 19, 18, 38, 17, 37, 18, 17, 683, 19, 17, + 19, 20, 34, 20, 17, 18, 19, 213, 17, 20, + 17, 37, 23, 27, 17, 27, 22, 17, 17, 685, + + 20, 19, 17, 19, 26, 686, 20, 23, 37, 23, + 26, 31, 27, 19, 213, 20, 20, 43, 20, 29, + 41, 26, 27, 442, 39, 42, 23, 26, 31, 150, + 27, 26, 442, 29, 43, 26, 29, 41, 31, 26, + 91, 39, 42, 150, 43, 91, 31, 29, 687, 91, + 111, 111, 31, 446, 446, 29, 40, 29, 30, 39, + 42, 41, 46, 46, 46, 46, 46, 30, 124, 35, + 125, 35, 30, 40, 125, 30, 124, 283, 35, 283, + 124, 30, 35, 40, 35, 35, 35, 688, 30, 30, + 30, 40, 80, 30, 80, 80, 30, 32, 449, 491, + + 35, 80, 32, 491, 35, 690, 32, 691, 183, 692, + 32, 449, 32, 32, 32, 48, 48, 48, 48, 48, + 32, 280, 32, 183, 183, 280, 48, 693, 32, 694, + 697, 698, 280, 32, 32, 699, 701, 702, 32, 450, + 57, 57, 32, 33, 57, 57, 57, 57, 57, 450, + 700, 48, 33, 450, 700, 33, 33, 33, 33, 33, + 33, 55, 55, 55, 55, 55, 33, 703, 706, 707, + 705, 56, 55, 56, 56, 56, 56, 56, 708, 709, + 710, 33, 169, 169, 56, 705, 169, 169, 169, 169, + 169, 174, 174, 174, 174, 174, 711, 55, 712, 175, + + 175, 716, 174, 175, 175, 175, 175, 175, 718, 56, + 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, + 290, 290, 290, 290, 290, 719, 720, 174, 291, 291, + 291, 291, 291, 292, 292, 721, 723, 292, 292, 292, + 292, 292, 293, 293, 293, 293, 293, 294, 294, 294, + 294, 294, 411, 411, 411, 411, 411, 412, 412, 412, + 412, 412, 724, 725, 726, 727, 728, 729, 730, 731, + 733, 734, 735, 736, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 755, 757, 759, 760, 761, 762, 763, 764, 765, 766, + + 768, 769, 770, 771, 772, 773, 774, 776, 777, 777, + 778, 777, 777, 777, 777, 777, 777, 777, 777, 779, + 780, 781, 783, 784, 777, 777, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 795, 796, 797, 798, 799, + 800, 802, 803, 804, 806, 810, 811, 812, 812, 813, + 812, 812, 812, 812, 812, 812, 812, 812, 814, 815, + 816, 818, 819, 812, 812, 820, 821, 822, 823, 824, + 825, 827, 828, 829, 830, 831, 832, 833, 836, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 851, 853, 854, 855, 856, 858, 859, 860, 861, 862, + + 863, 864, 865, 867, 868, 869, 870, 871, 873, 874, + 875, 876, 877, 878, 880, 882, 883, 884, 885, 886, + 887, 888, 889, 890, 891, 892, 893, 894, 895, 899, + 900, 901, 903, 904, 905, 906, 907, 908, 909, 910, + 911, 912, 914, 915, 916, 917, 918, 919, 920, 921, + 922, 923, 924, 927, 928, 929, 930, 931, 932, 933, + 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, + 944, 945, 946, 947, 948, 949, 951, 952, 953, 954, + 955, 957, 958, 960, 961, 962, 963, 964, 965, 967, + 968, 969, 970, 971, 972, 973, 974, 976, 977, 980, + + 981, 680, 981, 982, 679, 982, 983, 677, 983, 984, + 676, 984, 675, 674, 673, 672, 669, 668, 667, 666, + 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, + 655, 654, 653, 652, 651, 650, 649, 648, 647, 645, + 644, 642, 641, 640, 639, 638, 636, 635, 634, 633, + 632, 631, 630, 628, 627, 625, 624, 622, 621, 620, + 619, 618, 617, 615, 614, 613, 611, 610, 609, 608, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 596, + 595, 593, 592, 591, 590, 589, 588, 584, 583, 582, + 580, 578, 577, 576, 575, 574, 573, 572, 569, 567, + + 566, 565, 564, 563, 562, 561, 559, 557, 554, 553, + 551, 550, 549, 548, 547, 546, 545, 544, 543, 541, + 540, 538, 537, 536, 535, 534, 531, 530, 529, 527, + 526, 525, 524, 523, 522, 520, 518, 517, 516, 515, + 514, 511, 510, 509, 508, 507, 506, 505, 502, 501, + 499, 498, 497, 496, 495, 494, 492, 490, 489, 488, + 487, 486, 485, 484, 482, 481, 480, 477, 474, 473, + 472, 469, 468, 467, 465, 463, 461, 460, 458, 457, + 455, 454, 453, 452, 448, 447, 445, 444, 443, 441, + 440, 439, 438, 437, 435, 434, 433, 432, 431, 430, + + 429, 428, 427, 426, 425, 424, 423, 422, 420, 419, + 418, 417, 416, 415, 414, 413, 410, 409, 408, 407, + 406, 405, 404, 401, 400, 399, 398, 396, 394, 393, + 392, 391, 390, 388, 387, 386, 385, 383, 381, 379, + 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 363, 362, 361, 360, 358, + 357, 355, 353, 352, 350, 349, 348, 347, 346, 345, + 344, 343, 341, 339, 338, 337, 335, 334, 333, 332, + 331, 330, 329, 328, 327, 326, 323, 322, 321, 320, + 319, 317, 316, 315, 314, 313, 312, 311, 309, 308, + + 307, 306, 305, 304, 302, 301, 300, 299, 298, 297, + 295, 289, 288, 287, 286, 285, 284, 282, 281, 279, + 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, + 268, 267, 266, 265, 264, 263, 262, 261, 260, 259, + 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, + 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, + 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, + 228, 227, 226, 225, 223, 222, 221, 220, 219, 218, + 216, 215, 214, 212, 211, 210, 209, 208, 207, 206, + 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, + + 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, + 185, 184, 182, 181, 180, 179, 178, 167, 166, 165, + 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, + 149, 147, 144, 142, 140, 139, 138, 137, 136, 135, + 134, 129, 128, 127, 126, 123, 121, 120, 119, 118, + 117, 116, 115, 114, 113, 112, 110, 108, 107, 106, + 105, 104, 103, 102, 101, 100, 98, 97, 96, 95, + 94, 93, 92, 90, 89, 88, 87, 86, 85, 84, + 83, 82, 81, 79, 78, 77, 76, 75, 73, 72, + 71, 70, 69, 68, 67, 66, 63, 62, 61, 60, + + 52, 50, 49, 47, 45, 44, 3, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979 } ; static yy_state_type yy_last_accepting_state; @@ -997,7 +1006,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 1001 "Gmsh.yy.cpp" +#line 1010 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1145,13 +1154,13 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 60 "Gmsh.l" -#line 1155 "Gmsh.yy.cpp" +#line 1164 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1202,13 +1211,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 963 ) + if ( yy_current_state >= 980 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1191 ); + while ( yy_base[yy_current_state] != 1208 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1676,356 +1685,381 @@ return tWith; YY_BREAK case 89: YY_RULE_SETUP -#line 175 "Gmsh.l" -return tScalarTetrahedron; +#line 174 "Gmsh.l" +return tFor; YY_BREAK case 90: YY_RULE_SETUP -#line 176 "Gmsh.l" -return tVectorTetrahedron; +#line 175 "Gmsh.l" +return tEndFor; YY_BREAK case 91: YY_RULE_SETUP -#line 177 "Gmsh.l" -return tTensorTetrahedron; +#line 176 "Gmsh.l" +return tScript; YY_BREAK case 92: YY_RULE_SETUP -#line 178 "Gmsh.l" -return tScalarTriangle; +#line 177 "Gmsh.l" +return tExit; YY_BREAK case 93: YY_RULE_SETUP -#line 179 "Gmsh.l" -return tVectorTriangle; +#line 178 "Gmsh.l" +return tMerge; YY_BREAK case 94: YY_RULE_SETUP #line 180 "Gmsh.l" -return tTensorTriangle; +return tScalarTetrahedron; YY_BREAK case 95: YY_RULE_SETUP #line 181 "Gmsh.l" -return tScalarLine; +return tVectorTetrahedron; YY_BREAK case 96: YY_RULE_SETUP #line 182 "Gmsh.l" -return tVectorLine; +return tTensorTetrahedron; YY_BREAK case 97: YY_RULE_SETUP #line 183 "Gmsh.l" -return tTensorLine; +return tScalarTriangle; YY_BREAK case 98: YY_RULE_SETUP #line 184 "Gmsh.l" -return tScalarPoint; +return tVectorTriangle; YY_BREAK case 99: YY_RULE_SETUP #line 185 "Gmsh.l" -return tVectorPoint; +return tTensorTriangle; YY_BREAK case 100: YY_RULE_SETUP #line 186 "Gmsh.l" -return tTensorPoint; +return tScalarLine; YY_BREAK case 101: YY_RULE_SETUP -#line 189 "Gmsh.l" -return tCARTESIAN_POINT; +#line 187 "Gmsh.l" +return tVectorLine; YY_BREAK case 102: YY_RULE_SETUP -#line 190 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 188 "Gmsh.l" +return tTensorLine; YY_BREAK case 103: YY_RULE_SETUP -#line 191 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +#line 189 "Gmsh.l" +return tScalarPoint; YY_BREAK case 104: YY_RULE_SETUP -#line 192 "Gmsh.l" -return tUNSPECIFIED; +#line 190 "Gmsh.l" +return tVectorPoint; YY_BREAK case 105: YY_RULE_SETUP -#line 193 "Gmsh.l" -return tCONTINUOUS; +#line 191 "Gmsh.l" +return tTensorPoint; YY_BREAK case 106: YY_RULE_SETUP #line 194 "Gmsh.l" -return tFALSE; +return tCARTESIAN_POINT; YY_BREAK case 107: YY_RULE_SETUP #line 195 "Gmsh.l" -return tTRUE; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 108: YY_RULE_SETUP #line 196 "Gmsh.l" -return tU; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 109: YY_RULE_SETUP #line 197 "Gmsh.l" -return tV; +return tUNSPECIFIED; YY_BREAK case 110: YY_RULE_SETUP #line 198 "Gmsh.l" -return tORIENTED_EDGE; +return tCONTINUOUS; YY_BREAK case 111: YY_RULE_SETUP #line 199 "Gmsh.l" -return tEDGE_CURVE; +return tFALSE; YY_BREAK case 112: YY_RULE_SETUP #line 200 "Gmsh.l" -return tEDGE_LOOP; +return tTRUE; YY_BREAK case 113: YY_RULE_SETUP #line 201 "Gmsh.l" -return tVERTEX_POINT; +return tU; YY_BREAK case 114: YY_RULE_SETUP #line 202 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tV; YY_BREAK case 115: YY_RULE_SETUP #line 203 "Gmsh.l" -return tFACE_BOUND; +return tORIENTED_EDGE; YY_BREAK case 116: YY_RULE_SETUP #line 204 "Gmsh.l" -return tADVANCED_FACE; +return tEDGE_CURVE; YY_BREAK case 117: YY_RULE_SETUP #line 205 "Gmsh.l" -return tLine; +return tEDGE_LOOP; YY_BREAK case 118: YY_RULE_SETUP #line 206 "Gmsh.l" -return tVECTOR; +return tVERTEX_POINT; YY_BREAK case 119: YY_RULE_SETUP #line 207 "Gmsh.l" -return tDIRECTION; +return tFACE_OUTER_BOUND; YY_BREAK case 120: YY_RULE_SETUP #line 208 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tFACE_BOUND; YY_BREAK case 121: YY_RULE_SETUP #line 209 "Gmsh.l" -return tPLANE; +return tADVANCED_FACE; YY_BREAK case 122: YY_RULE_SETUP #line 210 "Gmsh.l" -return tHEADER; +return tLine; YY_BREAK case 123: YY_RULE_SETUP #line 211 "Gmsh.l" -return tDATA; +return tVECTOR; YY_BREAK case 124: YY_RULE_SETUP #line 212 "Gmsh.l" -return tFILE_SCHEMA; +return tDIRECTION; YY_BREAK case 125: YY_RULE_SETUP #line 213 "Gmsh.l" -return tFILE_NAME; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 126: YY_RULE_SETUP #line 214 "Gmsh.l" -return tFILE_DESCRIPTION; +return tPLANE; YY_BREAK case 127: YY_RULE_SETUP #line 215 "Gmsh.l" -return tISO; +return tHEADER; YY_BREAK case 128: YY_RULE_SETUP #line 216 "Gmsh.l" -return tENDISO; +return tDATA; YY_BREAK case 129: YY_RULE_SETUP #line 217 "Gmsh.l" -return tENDSEC; +return tFILE_SCHEMA; YY_BREAK case 130: YY_RULE_SETUP #line 218 "Gmsh.l" -return tCLOSED_SHELL; +return tFILE_NAME; YY_BREAK case 131: YY_RULE_SETUP #line 219 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tFILE_DESCRIPTION; YY_BREAK case 132: YY_RULE_SETUP #line 220 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tISO; YY_BREAK case 133: YY_RULE_SETUP #line 221 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tENDISO; YY_BREAK case 134: YY_RULE_SETUP #line 222 "Gmsh.l" -return tCONICAL_SURFACE; +return tENDSEC; YY_BREAK case 135: YY_RULE_SETUP #line 223 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCLOSED_SHELL; YY_BREAK case 136: YY_RULE_SETUP #line 224 "Gmsh.l" -return tCIRCLE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 137: YY_RULE_SETUP #line 225 "Gmsh.l" -return tTRIMMED_CURVE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 138: YY_RULE_SETUP #line 226 "Gmsh.l" -return tGEOMETRIC_SET; +return tCYLINDRICAL_SURFACE; YY_BREAK case 139: YY_RULE_SETUP #line 227 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tCONICAL_SURFACE; YY_BREAK case 140: YY_RULE_SETUP #line 228 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 141: YY_RULE_SETUP #line 229 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCIRCLE; YY_BREAK case 142: YY_RULE_SETUP #line 230 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tTRIMMED_CURVE; YY_BREAK case 143: YY_RULE_SETUP #line 231 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tGEOMETRIC_SET; YY_BREAK case 144: YY_RULE_SETUP -#line 233 "Gmsh.l" -return tVertex; +#line 232 "Gmsh.l" +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 145: YY_RULE_SETUP -#line 234 "Gmsh.l" -return tFacet; +#line 233 "Gmsh.l" +return tCOMPOSITE_CURVE; YY_BREAK case 146: YY_RULE_SETUP -#line 235 "Gmsh.l" -return tNormal; +#line 234 "Gmsh.l" +return tPRODUCT_DEFINITION; YY_BREAK case 147: YY_RULE_SETUP -#line 236 "Gmsh.l" -return tOuter; +#line 235 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 148: YY_RULE_SETUP -#line 237 "Gmsh.l" -return tLoopSTL; +#line 236 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 149: YY_RULE_SETUP #line 238 "Gmsh.l" -return tEndLoop; +return tVertex; YY_BREAK case 150: YY_RULE_SETUP #line 239 "Gmsh.l" -return tEndFacet; +return tFacet; YY_BREAK case 151: YY_RULE_SETUP #line 240 "Gmsh.l" -{skipline();return tEndSolid;} +return tNormal; YY_BREAK case 152: YY_RULE_SETUP #line 241 "Gmsh.l" -{skipline();return tSolid;} +return tOuter; YY_BREAK case 153: YY_RULE_SETUP -#line 243 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 242 "Gmsh.l" +return tLoopSTL; YY_BREAK case 154: -#line 246 "Gmsh.l" +YY_RULE_SETUP +#line 243 "Gmsh.l" +return tEndLoop; + YY_BREAK case 155: -#line 247 "Gmsh.l" +YY_RULE_SETUP +#line 244 "Gmsh.l" +return tEndFacet; + YY_BREAK case 156: -#line 248 "Gmsh.l" +YY_RULE_SETUP +#line 245 "Gmsh.l" +{skipline();return tEndSolid;} + YY_BREAK case 157: YY_RULE_SETUP +#line 246 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK +case 158: +YY_RULE_SETUP #line 248 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK +case 159: +#line 251 "Gmsh.l" +case 160: +#line 252 "Gmsh.l" +case 161: +#line 253 "Gmsh.l" +case 162: +YY_RULE_SETUP +#line 253 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 158: +case 163: YY_RULE_SETUP -#line 250 "Gmsh.l" +#line 255 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 159: +case 164: YY_RULE_SETUP -#line 252 "Gmsh.l" +#line 257 "Gmsh.l" return yytext[0]; YY_BREAK -case 160: +case 165: YY_RULE_SETUP -#line 254 "Gmsh.l" +#line 259 "Gmsh.l" ECHO; YY_BREAK -#line 2029 "Gmsh.yy.cpp" +#line 2063 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2317,7 +2351,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 963 ) + if ( yy_current_state >= 980 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2352,11 +2386,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 963 ) + if ( yy_current_state >= 980 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 962); + yy_is_jam = (yy_current_state == 979); return yy_is_jam ? 0 : yy_current_state; } @@ -2911,7 +2945,7 @@ int main() return 0; } #endif -#line 254 "Gmsh.l" +#line 259 "Gmsh.l" #undef yywrap diff --git a/Unix/CbFile.cpp b/Unix/CbFile.cpp index 6f8e52f38ca4a37038d59ccc8535b488e433e18d..19168be0ffccbb2b6376d6a71b2fe5b0d6e662e2 100644 --- a/Unix/CbFile.cpp +++ b/Unix/CbFile.cpp @@ -1,4 +1,4 @@ -/* $Id: CbFile.cpp,v 1.7 2000-11-26 15:43:47 geuzaine Exp $ */ +/* $Id: CbFile.cpp,v 1.8 2000-12-06 18:28:30 remacle Exp $ */ #include <unistd.h> @@ -91,6 +91,8 @@ void CreateImage (FILE *fp) { break ; case PRINT_GL2GIF : + // have to replot for filling again buffer ... + Replot(); create_gif(fp, CTX.viewport[2]-CTX.viewport[0], CTX.viewport[3]-CTX.viewport[1]); Msg(INFOS, "GIF Dump Complete '%s'", KeepFileName); diff --git a/Unix/Main.cpp b/Unix/Main.cpp index 41ac30f0db7dffdff7f89916335b73ee1b68d53a..89c07f25edb30733ec35969b479d9d19213efd7d 100644 --- a/Unix/Main.cpp +++ b/Unix/Main.cpp @@ -1,4 +1,4 @@ -/* $Id: Main.cpp,v 1.20 2000-12-05 23:01:06 geuzaine Exp $ */ +/* $Id: Main.cpp,v 1.21 2000-12-06 18:28:30 remacle Exp $ */ #include <signal.h> @@ -46,6 +46,7 @@ char gmsh_help[] = " -0 output current options, flattened geometry and exit\n" "Mesh options:\n" " -1, -2, -3 perform batch 1D, 2D and 3D mesh generation\n" + " -script gmsh in script mode\n" " -format msh|unv|gref set output mesh format (default: msh)\n" " -algo iso|aniso select mesh algorithm (default: iso)\n" " -smooth int set mesh smoothing (default: 0)\n" @@ -99,10 +100,14 @@ void ParseFile(char *f){ Msg(INFO, "File '%s' Does not Exist", f); return; } - + + fpos_t position; + fgetpos(yyin, &position); fgets(String, sizeof(String), yyin) ; - rewind(yyin); + fsetpos(yyin, &position); + printf("String :: %s",String); + if(!strncmp(String, "$PTS", 4) || !strncmp(String, "$NO", 3) || !strncmp(String, "$ELM", 4)){ @@ -214,6 +219,9 @@ void Get_Options (int argc, char *argv[], int *nbfiles) { else if(!strcmp(argv[i]+1, "3")){ CTX.interactive = 3; i++; } + else if(!strcmp(argv[i]+1, "script")){ + CTX.script = 1; i++; + } else if(!strcmp(argv[i]+1, "path")){ i++; /* we need to make a copy because of bison */ @@ -571,7 +579,7 @@ int main(int argc, char *argv[]){ OpenProblem(TheFileName); if(yyerrorstate) exit(1); - else{ + else { if(nbf > 1){ for(i=1;i<nbf;i++) MergeProblem(TheFileNameTab[i]); } @@ -862,6 +870,11 @@ int main(int argc, char *argv[]){ Msg(STATUS, "Ready"); Msg(SELECT, "Gmsh %g", GMSH_VERSION); + /* Compute viewport and Draw */ + CTX.expose = 1 ; + Init(); + Draw(); + /* Open input file */ OpenProblem(TheFileName); @@ -886,10 +899,7 @@ int main(int argc, char *argv[]){ Msg(ERROR, "Invalid Background Mesh (no View)"); } - /* Compute viewport and Draw */ - CTX.expose = 1 ; - Init(); - Draw(); + Replot(); /* Loop until were done */