diff --git a/Common/Colors.h b/Common/Colors.h index 4cdf0bb43013631e1155976f808a835b6665372d..68b1e4fac4f25efa250dfda760088ced00470749 100644 --- a/Common/Colors.h +++ b/Common/Colors.h @@ -1,63 +1,9 @@ -/* $Id: Colors.h,v 1.2 2000-11-23 14:11:27 geuzaine Exp $ */ +/* $Id: Colors.h,v 1.3 2000-12-05 15:23:54 geuzaine Exp $ */ #ifndef _COLORS_H_ #define _COLORS_H_ #include "Context.h" -extern Context_T CTX ; - -StringXPointer ColorGeneral[] = { - { "Background" , &CTX.color.bg }, - { "Foreground" , &CTX.color.fg }, - { "Text" , &CTX.color.text }, - { "Axes" , &CTX.color.axes }, - { "SmallAxes" , &CTX.color.little_axes }, - { NULL , NULL } -} ; - -StringXPointer ColorGeometry[] = { - { "Points" , &CTX.color.geom.point }, - { "Lines" , &CTX.color.geom.line }, - { "Surfaces" , &CTX.color.geom.surface }, - { "Volumes" , &CTX.color.geom.volume }, - { "PointsSelect" , &CTX.color.geom.point_sel }, - { "LinesSelect" , &CTX.color.geom.line_sel }, - { "SurfacesSelect" , &CTX.color.geom.surface_sel }, - { "VolumesSelect" , &CTX.color.geom.volume_sel }, - { "PointsHighlight" , &CTX.color.geom.point_hlt }, - { "LinesHighlight" , &CTX.color.geom.line_hlt }, - { "SurfacesHighlight" , &CTX.color.geom.surface_hlt }, - { "VolumesHighlight" , &CTX.color.geom.volume_hlt }, - { "Tangents" , &CTX.color.geom.tangents }, - { "Normals" , &CTX.color.geom.normals }, - { NULL , NULL } -} ; - -StringXPointer ColorMesh[] = { - { "Points" , &CTX.color.mesh.vertex }, - { "PointsSupp" , &CTX.color.mesh.vertex_supp }, - { "Lines" , &CTX.color.mesh.line }, - { "Triangles" , &CTX.color.mesh.triangle }, - { "Quadrangles" , &CTX.color.mesh.quadrangle }, - { "Tetrahedra" , &CTX.color.mesh.tetrahedron }, - { "Hexahedra" , &CTX.color.mesh.hexahedron }, - { "Prisms" , &CTX.color.mesh.prism }, - { "Pyramids" , &CTX.color.mesh.pyramid }, - { "Tangents" , &CTX.color.mesh.tangents }, - { "Normals" , &CTX.color.mesh.normals }, - { "One" , &CTX.color.mesh.carousel[0] }, - { "Two" , &CTX.color.mesh.carousel[1] }, - { "Three" , &CTX.color.mesh.carousel[2] }, - { "Four" , &CTX.color.mesh.carousel[3] }, - { "Five" , &CTX.color.mesh.carousel[4] }, - { "Six" , &CTX.color.mesh.carousel[5] }, - { "Seven" , &CTX.color.mesh.carousel[6] }, - { "Eight" , &CTX.color.mesh.carousel[7] }, - { "Nine" , &CTX.color.mesh.carousel[8] }, - { "Ten" , &CTX.color.mesh.carousel[9] }, - { NULL , NULL } -} ; - StringX4Int ColorString[] = { { "Snow" , 255, 250, 250, 255 } , { "GhostWhite" , 248, 248, 255, 255 } , @@ -720,6 +666,8 @@ StringX4Int ColorString[] = { { NULL , 0 , 0, 0, 255 } } ; +int Get_ColorForString(StringX4Int SX4I[], int alpha, + char * string, int * FlagError); #endif diff --git a/Common/Context.cpp b/Common/Context.cpp index 79e93e93f9c530a2fbd8aebadc0ebf43b111bb21..d7a402d96c59d4fddf38c60ae804ba206f1eec7a 100644 --- a/Common/Context.cpp +++ b/Common/Context.cpp @@ -1,4 +1,4 @@ -/* $Id: Context.cpp,v 1.9 2000-12-04 11:28:11 geuzaine Exp $ */ +/* $Id: Context.cpp,v 1.10 2000-12-05 15:23:54 geuzaine Exp $ */ #include "Gmsh.h" #include "Const.h" @@ -7,394 +7,386 @@ #include "Draw.h" #include "Context.h" -void InitColors(rgbacolors * col, int num){ +extern Context_T CTX ; - if(col->id == num){ - return ; +extern StringXString GeneralOptions_String[] ; +extern StringXString GeometryOptions_String[] ; +extern StringXString MeshOptions_String[] ; +extern StringXString PostProcessingOptions_String[] ; +extern StringXString PrintOptions_String[] ; + +extern StringXNumber GeneralOptions_Number[] ; +extern StringXNumber GeometryOptions_Number[] ; +extern StringXNumber MeshOptions_Number[] ; +extern StringXNumber PostProcessingOptions_Number[] ; +extern StringXNumber PrintOptions_Number[] ; + +extern StringXArray GeneralOptions_Array[] ; +extern StringXArray GeometryOptions_Array[] ; +extern StringXArray MeshOptions_Array[] ; +extern StringXArray PostProcessingOptions_Array[] ; +extern StringXArray PrintOptions_Array[] ; + +extern StringXColor GeneralOptions_Color[] ; +extern StringXColor GeometryOptions_Color[] ; +extern StringXColor MeshOptions_Color[] ; +extern StringXColor PostProcessingOptions_Color[] ; +extern StringXColor PrintOptions_Color[] ; + + +// STRING OPTIONS + +void Set_DefaultStringOptions(StringXString s[]){ + int i = 0; + while(s[i].str){ + *s[i].ptr = s[i].def ; + i++; } +} - col->id = num ; +int Set_StringOption(char *str, StringXString s[], char *val){ + int i = 0 ; - switch(num){ + while ((s[i].str != NULL) && (strcmp(s[i].str, str))) i++ ; + if(!s[i].str) + return 0; + else{ + *s[i].ptr = val ; + return 1; + } +} - case 0 : /* default drawing colors: black background */ - case 1 : /* alternative drawing colors: white background */ - switch(num){ - case 0 : - col->bg = PACK_COLOR(0, 0, 0, 255) ; - col->fg = PACK_COLOR(255, 255, 255, 255) ; - col->text = PACK_COLOR(255, 255, 255, 255) ; - col->axes = PACK_COLOR(255, 255, 0, 255) ; - col->little_axes = PACK_COLOR(255, 255, 255, 255) ; - break; - case 1 : - col->bg = PACK_COLOR(255, 255, 255, 255) ; - col->fg = PACK_COLOR(0, 0, 0, 255) ; - col->text = PACK_COLOR(0, 0, 0, 255) ; - col->axes = PACK_COLOR(128, 128, 128, 255) ; - col->little_axes = PACK_COLOR(0, 0, 0, 255) ; +void Print_StringOptions(StringXString s[], FILE *file){ + int i = 0; + + while(s[i].str){ + fprintf(file, " %s = \"%s\";\n", s[i].str, *s[i].ptr) ; + i++; + } +} + +// NUMBER OPTIONS + +void Set_DefaultNumberOptions(StringXNumber s[]){ + int i = 0; + + while(s[i].str){ + switch(s[i].type){ + case GMSH_INT: *(int*)s[i].ptr = (int)s[i].def; break; + case GMSH_LONG: *(long*)s[i].ptr = (long)s[i].def; break; + case GMSH_FLOAT: *(float*)s[i].ptr = (float)s[i].def; break; + case GMSH_DOUBLE: *(double*)s[i].ptr = (double)s[i].def; break; + } + i++; + } +} + +int Set_NumberOption(char *str, StringXNumber s[], double val){ + int i = 0; + + while ((s[i].str != NULL) && (strcmp(s[i].str, str))) i++ ; + if(!s[i].str) + return 0; + else{ + switch(s[i].type){ + case GMSH_INT: *(int*)s[i].ptr = (int)val; break; + case GMSH_LONG: *(long*)s[i].ptr = (long)val; break; + case GMSH_FLOAT: *(float*)s[i].ptr = (float)val; break; + case GMSH_DOUBLE: *(double*)s[i].ptr = (double)val; break; + } + return 1; + } +} + +void Print_NumberOptions(StringXNumber s[], FILE *file){ + int i = 0; + + while(s[i].str){ + switch(s[i].type){ + case GMSH_INT : fprintf(file, " %s = %d;\n", s[i].str, *(int*)s[i].ptr); break; + case GMSH_LONG : fprintf(file, " %s = %ld;\n", s[i].str, *(long*)s[i].ptr); break; + case GMSH_FLOAT : fprintf(file, " %s = %g;\n", s[i].str, *(float*)s[i].ptr); break; + case GMSH_DOUBLE : fprintf(file, " %s = %g;\n", s[i].str, *(double*)s[i].ptr); break; + } + i++; + } +} + + +// ARRAY OPTIONS + +void Set_DefaultArrayOptions(StringXArray s[]){ + int i = 0; + + while(s[i].str){ + switch(s[i].type){ + case GMSH_INT: + ((int*)s[i].ptr)[0] = (int)s[i].def1; + ((int*)s[i].ptr)[1] = (int)s[i].def2; + ((int*)s[i].ptr)[2] = (int)s[i].def3; + ((int*)s[i].ptr)[3] = (int)s[i].def4; + break; + case GMSH_LONG: + ((long*)s[i].ptr)[0] = (long)s[i].def1; + ((long*)s[i].ptr)[1] = (long)s[i].def2; + ((long*)s[i].ptr)[2] = (long)s[i].def3; + ((long*)s[i].ptr)[3] = (long)s[i].def4; + break; + case GMSH_FLOAT: + ((float*)s[i].ptr)[0] = (float)s[i].def1; + ((float*)s[i].ptr)[1] = (float)s[i].def2; + ((float*)s[i].ptr)[2] = (float)s[i].def3; + ((float*)s[i].ptr)[3] = (float)s[i].def4; + break; + case GMSH_DOUBLE: + ((double*)s[i].ptr)[0] = (double)s[i].def1; + ((double*)s[i].ptr)[1] = (double)s[i].def2; + ((double*)s[i].ptr)[2] = (double)s[i].def3; + ((double*)s[i].ptr)[3] = (double)s[i].def4; break; } - col->geom.point = PACK_COLOR(178, 182, 129, 255) ; - col->geom.line = PACK_COLOR(0, 0, 255, 255) ; - col->geom.surface = PACK_COLOR(128, 128, 128, 255) ; - col->geom.volume = PACK_COLOR(128, 128, 128, 255) ; - col->geom.point_sel = PACK_COLOR(255, 0, 0, 255) ; - col->geom.line_sel = PACK_COLOR(255, 0, 0, 255) ; - col->geom.surface_sel = PACK_COLOR(255, 0, 0, 255) ; - col->geom.volume_sel = PACK_COLOR(255, 0, 0, 255) ; - col->geom.point_hlt = PACK_COLOR(0, 255, 0, 255) ; - col->geom.line_hlt = PACK_COLOR(0, 0, 255, 255) ; - col->geom.surface_hlt = PACK_COLOR(128, 128, 128, 255) ; - col->geom.volume_hlt = PACK_COLOR(128, 128, 128, 255) ; - col->geom.tangents = PACK_COLOR(255, 255, 0, 255) ; - col->geom.normals = PACK_COLOR(255, 0, 0, 255) ; - - col->mesh.vertex = PACK_COLOR(0 , 123, 59 , 255) ; - col->mesh.vertex_supp = PACK_COLOR(255, 0, 255, 255) ; - col->mesh.line = PACK_COLOR(0, 255, 0, 255) ; - col->mesh.triangle = PACK_COLOR(0, 255, 0, 255) ; - col->mesh.quadrangle = PACK_COLOR(0, 255, 0, 255) ; - col->mesh.tetrahedron = PACK_COLOR(0, 255, 0, 255) ; - col->mesh.hexahedron = PACK_COLOR(128, 255, 0, 255) ; - col->mesh.prism = PACK_COLOR(0, 255, 128, 255) ; - col->mesh.pyramid = PACK_COLOR(128, 255, 128, 255) ; - col->mesh.tangents = PACK_COLOR(128, 128, 128, 255) ; - col->mesh.normals = PACK_COLOR(128, 128, 128, 255) ; - - col->mesh.carousel[0] = PACK_COLOR(0 , 82 , 138, 255) ; - col->mesh.carousel[1] = PACK_COLOR(255, 0 , 0 , 255) ; - col->mesh.carousel[2] = PACK_COLOR(31 , 110, 171, 255) ; - col->mesh.carousel[3] = PACK_COLOR(255, 255, 0 , 255) ; - col->mesh.carousel[4] = PACK_COLOR(255, 0 , 255, 255) ; - col->mesh.carousel[4] = PACK_COLOR(0 , 255, 255, 255) ; - col->mesh.carousel[5] = PACK_COLOR(128, 128, 0 , 255) ; - col->mesh.carousel[6] = PACK_COLOR(128, 0 , 255, 255) ; - col->mesh.carousel[7] = PACK_COLOR(128, 128, 255, 255) ; - col->mesh.carousel[8] = PACK_COLOR(128, 128, 255, 255) ; - col->mesh.carousel[9] = PACK_COLOR(0 , 0 , 255, 255) ; - break; - - case 2 : /* grayscale */ - col->bg = PACK_COLOR(255, 255, 255, 255) ; - col->fg = PACK_COLOR(0, 0, 0, 255) ; - col->text = PACK_COLOR(0, 0, 0, 255) ; - col->axes = PACK_COLOR(0, 0, 0, 255) ; - col->little_axes = PACK_COLOR(0, 0, 0, 255) ; - - col->geom.point = PACK_COLOR(0, 0, 0, 255) ; - col->geom.line = PACK_COLOR(0, 0, 0, 255) ; - col->geom.surface = PACK_COLOR(0, 0, 0, 255) ; - col->geom.volume = PACK_COLOR(0, 0, 0, 255) ; - col->geom.point_sel = PACK_COLOR(0, 0, 0, 255) ; - col->geom.line_sel = PACK_COLOR(0, 0, 0, 255) ; - col->geom.surface_sel = PACK_COLOR(0, 0, 0, 255) ; - col->geom.volume_sel = PACK_COLOR(0, 0, 0, 255) ; - col->geom.point_hlt = PACK_COLOR(0, 0, 0, 255) ; - col->geom.line_hlt = PACK_COLOR(0, 0, 0, 255) ; - col->geom.surface_hlt = PACK_COLOR(0, 0, 0, 255) ; - col->geom.volume_hlt = PACK_COLOR(0, 0, 0, 255) ; - col->geom.tangents = PACK_COLOR(0, 0, 0, 255) ; - col->geom.normals = PACK_COLOR(0, 0, 0, 255) ; - - col->mesh.vertex = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.vertex_supp = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.line = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.triangle = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.quadrangle = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.tetrahedron = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.hexahedron = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.prism = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.pyramid = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.tangents = PACK_COLOR(0, 0, 0, 255) ; - col->mesh.normals = PACK_COLOR(0, 0, 0, 255) ; - - col->mesh.carousel[0] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[1] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[2] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[3] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[4] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[4] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[5] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[6] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[7] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[8] = PACK_COLOR(255, 255, 255, 255) ; - col->mesh.carousel[9] = PACK_COLOR(255, 255, 255, 255) ; + i++; + } +} +int Set_ArrayOption(char *str, StringXArray s[], double *val){ + int i = 0; + + while ((s[i].str != NULL) && (strcmp(s[i].str, str))) i++ ; + if(!s[i].str) + return 0; + else{ + switch(s[i].type){ + case GMSH_INT: + ((int*)s[i].ptr)[0] = (int)val[0]; + ((int*)s[i].ptr)[1] = (int)val[1]; + ((int*)s[i].ptr)[2] = (int)val[2]; + ((int*)s[i].ptr)[3] = (int)val[3]; + break; + case GMSH_LONG: + ((long*)s[i].ptr)[0] = (long)val[0]; + ((long*)s[i].ptr)[1] = (long)val[1]; + ((long*)s[i].ptr)[2] = (long)val[2]; + ((long*)s[i].ptr)[3] = (long)val[3]; + break; + case GMSH_FLOAT: + ((float*)s[i].ptr)[0] = (float)val[0]; + ((float*)s[i].ptr)[1] = (float)val[1]; + ((float*)s[i].ptr)[2] = (float)val[2]; + ((float*)s[i].ptr)[3] = (float)val[3]; + break; + case GMSH_DOUBLE: + ((double*)s[i].ptr)[0] = (double)val[0]; + ((double*)s[i].ptr)[1] = (double)val[1]; + ((double*)s[i].ptr)[2] = (double)val[2]; + ((double*)s[i].ptr)[3] = (double)val[3]; + break; + } + return 1; } +} +void Print_ArrayOptions(StringXArray s[], FILE *file){ + int i = 0; + + while(s[i].str){ + fprintf(file, " %s = {", s[i].str); + switch(s[i].type){ + case GMSH_INT : + fprintf(file, "%d,%d,%d,%d};\n", + ((int*)s[i].ptr)[0], ((int*)s[i].ptr)[1], + ((int*)s[i].ptr)[2], ((int*)s[i].ptr)[3]); + break; + case GMSH_LONG : + fprintf(file, "%ld,%ld,%ld,%ld};\n", + ((long*)s[i].ptr)[0], ((long*)s[i].ptr)[1], + ((long*)s[i].ptr)[2], ((long*)s[i].ptr)[3]); + break; + case GMSH_FLOAT : + fprintf(file, "%g,%g,%g,%g};\n", + ((float*)s[i].ptr)[0], ((float*)s[i].ptr)[1], + ((float*)s[i].ptr)[2], ((float*)s[i].ptr)[3]); + break; + case GMSH_DOUBLE : + fprintf(file, "%g,%g,%g,%g};\n", + ((double*)s[i].ptr)[0], ((double*)s[i].ptr)[1], + ((double*)s[i].ptr)[2], ((double*)s[i].ptr)[3]); + break; + } + i++; + } } -void InitContext(Context_T *ctx){ - - ctx->interactive = 0 ; - ctx->verbosity = 2 ; - ctx->expose = 0 ; - - ctx->r[0] = 0.0 ; - ctx->r[1] = 0.0 ; - ctx->r[2] = 0.0 ; - ctx->t[0] = 0.0 ; - ctx->t[1] = 0.0 ; - ctx->t[2] = 0.0 ; - ctx->s[0] = 1.0 ; - ctx->s[1] = 1.0 ; - ctx->s[2] = 1.0 ; - - ctx->min[0] = 0.0 ; - ctx->min[1] = 0.0 ; - ctx->min[2] = 0.0 ; - ctx->max[0] = 0.0 ; - ctx->max[1] = 0.0 ; - ctx->max[2] = 0.0 ; - ctx->range[0] = 0.0 ; - ctx->range[1] = 0.0 ; - ctx->range[2] = 0.0 ; - - ctx->viewport[0] = 0 ; - ctx->viewport[1] = 0 ; - ctx->viewport[2] = 1 ; - ctx->viewport[3] = 1 ; - ctx->vxmin = 0. ; - ctx->vymin = 0. ; - ctx->vxmax = 0. ; - ctx->vymax = 0. ; - ctx->render_mode = GMSH_RENDER ; - ctx->pixel_equiv_x = 0. ; - ctx->pixel_equiv_y = 0. ; - ctx->clip[0] = 0; - ctx->clip[1] = 0; - ctx->clip[2] = 0; - ctx->clip[3] = 0; - ctx->clip[4] = 0; - ctx->clip[5] = 0; - - ctx->font_string = "-*-helvetica-medium-r-*-*-*-*-*-*-*-*-*-*"; - ctx->colorbar_font_string = "fixed"; - - ctx->light0[0] = 0.5 ; - ctx->light0[1] = 0.3 ; - ctx->light0[2] = 1.0 ; - ctx->light0[3] = 0.0 ; - ctx->shine = 0.4 ; - ctx->alpha = 0 ; /* disable alpha blending by default */ - ctx->flash = 0 ; - ctx->same_visual = 0 ; - - ctx->db = 1 ; - ctx->overlay = 1 ; - ctx->stream = TO_SCREEN ; - ctx->axes = 1 ; - ctx->little_axes = 1 ; - ctx->ortho = 1 ; - ctx->fast = 1 ; - ctx->display_lists = 0 ; - ctx->command_win = 0 ; - ctx->threads = 1 ; // effective on Unix only with -D_USETHREADS - ctx->threads_lock = 0 ; - - ctx->geom.vis_type = 0 ; - ctx->geom.points = 1 ; - ctx->geom.lines = 1 ; - ctx->geom.surfaces = 0 ; - ctx->geom.volumes = 0 ; - ctx->geom.points_num = 0 ; - ctx->geom.lines_num = 0 ; - ctx->geom.surfaces_num = 0 ; - ctx->geom.volumes_num = 0 ; - ctx->geom.level = ELEMENTARY ; - ctx->geom.normals = 0.0 ; - ctx->geom.tangents = 0.0 ; - ctx->geom.highlight = 1 ; - ctx->geom.hidden = 0 ; - ctx->geom.shade = 0 ; - - ctx->mesh.vis_type = 0 ; - ctx->mesh.draw = 1 ; - ctx->mesh.points = 1 ; - ctx->mesh.lines = 1 ; - ctx->mesh.surfaces = 1 ; - ctx->mesh.volumes = 1 ; - ctx->mesh.points_num = 0 ; - ctx->mesh.lines_num = 0 ; - ctx->mesh.surfaces_num = 0 ; - ctx->mesh.volumes_num = 0 ; - ctx->mesh.normals = 0.0 ; - ctx->mesh.tangents = 0.0 ; - ctx->mesh.explode = 1.0 ; - ctx->mesh.hidden = 0 ; - ctx->mesh.shade = 0 ; - ctx->mesh.format = FORMAT_MSH ; - ctx->mesh.nb_smoothing = 0 ; - ctx->mesh.algo = DELAUNAY_OLDALGO ; - ctx->mesh.point_insertion = CENTER_CIRCCIRC; - ctx->mesh.speed_max = 0 ; - ctx->mesh.degree = 1 ; - ctx->mesh.scaling_factor = 1.0 ; - ctx->mesh.lc_factor = 1.0 ; - ctx->mesh.rand_factor = 1.e-5 ; - ctx->mesh.limit_gamma = 0.0 ; - ctx->mesh.limit_eta = 0.0 ; - ctx->mesh.limit_rho = 0.0 ; - ctx->mesh.dual = 0 ; - ctx->mesh.interactive = 0 ; - - ctx->post.draw = 1 ; - ctx->post.scales = 1 ; - ctx->post.link = 0 ; - ctx->post.initial_visibility = 1 ; - ctx->post.initial_intervals = DRAW_POST_ISO ; - ctx->post.initial_nbiso = 15 ; - ctx->post.anim_delay = 0 ; - - ctx->print.type = PRINT_GL2PS_SIMPLE ; - ctx->print.format = FORMAT_EPS ; - ctx->print.font = "Courier" ; - ctx->print.fontsize = 12 ; - - ctx->color.id = -1; - InitColors(&ctx->color, 0) ; +// COLORS +void Set_DefaultColorOptions(StringXColor s[], int num){ + int i = 0; + + while(s[i].str){ + switch(num){ + case 0 : *s[i].ptr = s[i].def1; break; + case 1 : *s[i].ptr = s[i].def2; break; + case 2 : *s[i].ptr = s[i].def3; break; + } + i++; + } } -#define UNPACK_RGB(thecol) \ - UNPACK_RED(thecol), UNPACK_GREEN(thecol), UNPACK_BLUE(thecol) - -void PrintContext(Context_T *ctx, FILE *file){ - int i; - - fprintf(file, "Options {\n"); - - fprintf(file, " General {\n"); - fprintf(file, " Interactive = %d;\n", ctx->verbosity); - fprintf(file, " Rotation = {%g, %g, %g};\n", ctx->r[0], ctx->r[1], ctx->r[2]); - fprintf(file, " Translation = {%g, %g, %g};\n", ctx->t[0], ctx->t[1], ctx->t[2]); - fprintf(file, " Scale = {%g, %g, %g};\n", ctx->s[0], ctx->s[1], ctx->s[2]); - for(i = 0 ; i < 6 ; i++) - if(ctx->clip[i]) - fprintf(file, " Clip Plane (%d) = {%g, %g, %g, %g};\n", - ctx->clip[i], ctx->s[0], ctx->s[1], ctx->s[2], ctx->s[3]); - fprintf(file, " Proportional Font = \"%s\";\n", ctx->font_string); - fprintf(file, " Fixed Font = \"%s\"\n", ctx->colorbar_font_string); - fprintf(file, " Light (0) = {%g, %g, %g, %g};\n", - ctx->light0[0],ctx->light0[1],ctx->light0[2],ctx->light0[3]); - fprintf(file, " Shine = %g;\n", ctx->shine); - fprintf(file, " Alpha = %d;\n", ctx->alpha); - fprintf(file, " Axes = %d;\n", ctx->axes); - fprintf(file, " Little Axes = %d;\n", ctx->little_axes); - fprintf(file, " Ortho = %d;\n", ctx->ortho); - fprintf(file, " Fast = %d;\n", ctx->fast); - fprintf(file, " Display Lists = %d;\n", ctx->display_lists); - fprintf(file, " Colors {\n"); - fprintf(file, " Background = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.bg)); - fprintf(file, " Foreground = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.fg)); - fprintf(file, " Text = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.text)); - fprintf(file, " Axes = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.axes)); - fprintf(file, " Little Axes = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.little_axes)); - fprintf(file, " }\n"); - fprintf(file, " }\n"); +int Set_ColorOption(char *str, StringXColor s[], unsigned int val) { + int i = 0 ; + + while ((s[i].str != NULL) && (strcmp(s[i].str, str))) i++ ; + if(!s[i].str) + return 0; + else{ + *s[i].ptr = val ; + return 1; + } +} - fprintf(file, " Geometry {\n"); - fprintf(file, " Points = %d;\n", ctx->geom.points); - fprintf(file, " Lines = %d;\n", ctx->geom.lines); - fprintf(file, " Surfaces = %d;\n", ctx->geom.surfaces); - fprintf(file, " Volumes = %d;\n", ctx->geom.volumes); - fprintf(file, " Points Numbers = %d;\n", ctx->geom.points_num); - fprintf(file, " Lines Numbers = %d;\n", ctx->geom.lines_num); - fprintf(file, " Surfaces Numbers = %d;\n", ctx->geom.surfaces_num); - fprintf(file, " Volumes Numbers = %d;\n", ctx->geom.volumes_num); - fprintf(file, " Normals = %g;\n", ctx->geom.normals); - fprintf(file, " Tangents = %g;\n", ctx->geom.tangents); - fprintf(file, " Highlight = %d;\n", ctx->geom.highlight); - fprintf(file, " Hidden = %d;\n", ctx->geom.hidden); - fprintf(file, " Shade = %d;\n", ctx->geom.shade); - fprintf(file, " Colors {\n"); - fprintf(file, " Points = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.point)); - fprintf(file, " Lines = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.line)); - fprintf(file, " Surfaces = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.surface)); - fprintf(file, " Volumes = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.volume)); - fprintf(file, " PointsSelect = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.point_sel)); - fprintf(file, " LinesSelect = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.line_sel)); - fprintf(file, " SurfacesSelect = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.surface_sel)); - fprintf(file, " VolumesSelect = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.volume_sel)); - fprintf(file, " PointsHighlight = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.point_hlt)); - fprintf(file, " LinesHighlight = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.line_hlt)); - fprintf(file, " SurfacesHighlight = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.surface_hlt)); - fprintf(file, " VolumesHighlight = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.volume_hlt)); - fprintf(file, " Tangents = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.tangents)); - fprintf(file, " Normals = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.geom.normals)); +void Print_ColorOptions(StringXColor s[], FILE *file){ + int i = 0; + + fprintf(file, " Color {\n"); + while(s[i].str){ + fprintf(file, " %s = {%d,%d,%d};\n", + s[i].str, + UNPACK_RED(*s[i].ptr), + UNPACK_GREEN(*s[i].ptr), + UNPACK_BLUE(*s[i].ptr)); + i++; + } fprintf(file, " }\n"); +} + +int Get_ColorForString(StringX4Int SX4I[], int alpha, + char * str, int * FlagError) { + int i = 0 ; + while ((SX4I[i].str != NULL) && (strcmp(SX4I[i].str, str))) i++ ; + *FlagError = (SX4I[i].str == NULL)? 1 : 0 ; + if(alpha > 0) + return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,alpha) ; + else + return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,SX4I[i].int4) ; +} + + +/* ------------------------------------------------------------------------ */ +/* C o n t e x t */ +/* ------------------------------------------------------------------------ */ + +void Init_Colors(int num){ + if(num < 0 || num > 2){ + Msg(ERROR, "Unknown Default Color Scheme"); + return; + } + CTX.color.id = num ; + Set_DefaultColorOptions(GeneralOptions_Color, num); + Set_DefaultColorOptions(GeometryOptions_Color, num); + Set_DefaultColorOptions(MeshOptions_Color, num); + Set_DefaultColorOptions(PostProcessingOptions_Color, num); + Set_DefaultColorOptions(PrintOptions_Color, num); +} + +void Init_Context(void){ + + // Cannot be set by the user + CTX.interactive = 0 ; + CTX.expose = 0 ; + CTX.db = 1 ; + CTX.overlay = 1 ; + CTX.stream = TO_SCREEN ; + CTX.command_win = 0 ; + CTX.threads = 1 ; // effective on Unix only with -D_USETHREADS + CTX.threads_lock = 0 ; + + CTX.font = "-*-helvetica-medium-r-*-*-*-*-*-*-*-*-*-*" ; + CTX.fixed_font = "fixed" ; + + CTX.min[0] = CTX.min[1] = CTX.min[2] = 0.0 ; + CTX.max[0] = CTX.max[1] = CTX.max[2] = 0.0 ; + CTX.range[0] = CTX.range[1] = CTX.range[2] = 0.0 ; + + CTX.viewport[0] = CTX.viewport[1] = 0 ; + CTX.viewport[2] = CTX.viewport[3] = 1 ; + + CTX.vxmin = CTX.vymin = CTX.vxmax = CTX.vymax = 0. ; + + CTX.render_mode = GMSH_RENDER ; + CTX.pixel_equiv_x = CTX.pixel_equiv_y = 0. ; + CTX.geom.vis_type = 0 ; + CTX.geom.level = ELEMENTARY ; + CTX.mesh.vis_type = 0 ; + CTX.mesh.draw = 1 ; + CTX.post.draw = 1 ; + + // Default string options + Set_DefaultStringOptions(GeneralOptions_String); + Set_DefaultStringOptions(GeometryOptions_String); + Set_DefaultStringOptions(MeshOptions_String); + Set_DefaultStringOptions(PostProcessingOptions_String); + Set_DefaultStringOptions(PrintOptions_String); + + // Default number options + Set_DefaultNumberOptions(GeneralOptions_Number); + Set_DefaultNumberOptions(GeometryOptions_Number); + Set_DefaultNumberOptions(MeshOptions_Number); + Set_DefaultNumberOptions(PostProcessingOptions_Number); + Set_DefaultNumberOptions(PrintOptions_Number); + + // Default array options + Set_DefaultArrayOptions(GeneralOptions_Array); + Set_DefaultArrayOptions(GeometryOptions_Array); + Set_DefaultArrayOptions(MeshOptions_Array); + Set_DefaultArrayOptions(PostProcessingOptions_Array); + Set_DefaultArrayOptions(PrintOptions_Array); + + // Default color options + Init_Colors(0); + + //Print_Context(stdout); +} + +void Print_Context(FILE *file){ + + fprintf(file, "Options{\n"); + + fprintf(file, " General{\n"); + Print_StringOptions(GeneralOptions_String, file); + Print_NumberOptions(GeneralOptions_Number, file); + Print_ArrayOptions(GeneralOptions_Array, file); + Print_ColorOptions(GeneralOptions_Color, file); fprintf(file, " }\n"); - fprintf(file, " Mesh {\n"); - fprintf(file, " Points = %d;\n", ctx->mesh.points); - fprintf(file, " Lines = %d;\n", ctx->mesh.lines); - fprintf(file, " Surfaces = %d;\n", ctx->mesh.surfaces); - fprintf(file, " Volumes = %d;\n", ctx->mesh.volumes); - fprintf(file, " Points Numbers = %d;\n", ctx->mesh.points_num); - fprintf(file, " Lines Numbers = %d;\n", ctx->mesh.lines_num); - fprintf(file, " Surfaces Numbers = %d;\n", ctx->mesh.surfaces_num); - fprintf(file, " Volumes Numbers = %d;\n", ctx->mesh.volumes_num); - fprintf(file, " Normals = %g;\n", ctx->mesh.normals); - fprintf(file, " Tangents = %g;\n", ctx->mesh.tangents); - fprintf(file, " Explode = %g;\n", ctx->mesh.explode); - fprintf(file, " Hidden = %d;\n", ctx->mesh.hidden); - fprintf(file, " Shade = %d;\n", ctx->mesh.shade); - fprintf(file, " Format = %d;\n", ctx->mesh.format); - fprintf(file, " Smoothing = %d;\n", ctx->mesh.nb_smoothing); - fprintf(file, " Algorithm = %d;\n", ctx->mesh.algo); - fprintf(file, " Degree = %d;\n", ctx->mesh.degree); - fprintf(file, " ScalingFactor = %g;\n", ctx->mesh.scaling_factor); - fprintf(file, " Characteristic Length Factor = %g;\n", ctx->mesh.lc_factor); - fprintf(file, " Random Factor = %g;\n", ctx->mesh.rand_factor); - fprintf(file, " Gamma Limit = %g;\n", ctx->mesh.limit_gamma); - fprintf(file, " Eta Limit = %g;\n", ctx->mesh.limit_eta); - fprintf(file, " Rho Limit = %g;\n", ctx->mesh.limit_rho); - fprintf(file, " Dual = %d;\n", ctx->mesh.dual); - fprintf(file, " interactive = %d;\n", ctx->mesh.interactive); - fprintf(file, " Colors {\n"); - fprintf(file, " Vertex = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.vertex)); - fprintf(file, " VertexSupp = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.vertex_supp)); - fprintf(file, " Line = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.line)); - fprintf(file, " Triangle = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.triangle)); - fprintf(file, " Quadrangle = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.quadrangle)); - fprintf(file, " Tetrahedron = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.tetrahedron)); - fprintf(file, " Hexahedron = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.hexahedron)); - fprintf(file, " Prism = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.prism)); - fprintf(file, " Pyramid = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.pyramid)); - fprintf(file, " One = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[0])); - fprintf(file, " Two = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[1])); - fprintf(file, " Three = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[2])); - fprintf(file, " Four = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[3])); - fprintf(file, " Five = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[4])); - fprintf(file, " Six = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[5])); - fprintf(file, " Seven = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[6])); - fprintf(file, " Eight = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[7])); - fprintf(file, " Nine = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[8])); - fprintf(file, " Ten = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.carousel[9])); - fprintf(file, " Tangents = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.tangents)); - fprintf(file, " Normals = {%d,%d,%d};\n", UNPACK_RGB(ctx->color.mesh.normals)); - fprintf(file, " }\n"); + fprintf(file, " Geometry{\n"); + Print_StringOptions(GeometryOptions_String, file); + Print_NumberOptions(GeometryOptions_Number, file); + Print_ArrayOptions(GeometryOptions_Array, file); + Print_ColorOptions(GeometryOptions_Color, file); fprintf(file, " }\n"); - fprintf(file, " Post {\n"); - fprintf(file, " Scales = %d;\n", ctx->post.scales); - fprintf(file, " Link = %d;\n", ctx->post.link); - fprintf(file, " Visibility = %d;\n", ctx->post.initial_visibility); - fprintf(file, " Intervals = %d;\n", ctx->post.initial_intervals); - fprintf(file, " NbIso = %d;\n", ctx->post.initial_nbiso); - fprintf(file, " Animation Delay= %ld;\n", ctx->post.anim_delay); + fprintf(file, " Mesh{\n"); + Print_StringOptions(MeshOptions_String, file); + Print_NumberOptions(MeshOptions_Number, file); + Print_ArrayOptions(MeshOptions_Array, file); + Print_ColorOptions(MeshOptions_Color, file); fprintf(file, " }\n"); + fprintf(file, " PostProcessing{\n"); + Print_StringOptions(PostProcessingOptions_String, file); + Print_NumberOptions(PostProcessingOptions_Number, file); + Print_ArrayOptions(PostProcessingOptions_Array, file); + Print_ColorOptions(PostProcessingOptions_Color, file); + fprintf(file, " }\n"); - fprintf(file, " Print {\n"); - fprintf(file, " Font = \"%s\";\n", ctx->print.font); - fprintf(file, " Font Size = \"%s\";\n", ctx->print.font); - fprintf(file, " Type = %d;\n", ctx->print.type); - fprintf(file, " Format = %d;\n", ctx->print.format); + fprintf(file, " Print{\n"); + Print_StringOptions(PrintOptions_String, file); + Print_NumberOptions(PrintOptions_Number, file); + Print_ArrayOptions(PrintOptions_Array, file); + Print_ColorOptions(PrintOptions_Color, file); fprintf(file, " }\n"); fprintf(file, "}\n"); - } + diff --git a/Common/Context.h b/Common/Context.h index d5124798d5467d3d1ac01b022dcae3e90e6e0400..87c4a5685973980909d98e77e483316fd0efdeef 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -1,4 +1,4 @@ -/* $Id: Context.h,v 1.10 2000-12-04 11:28:11 geuzaine Exp $ */ +/* $Id: Context.h,v 1.11 2000-12-05 15:23:54 geuzaine Exp $ */ #ifndef _CONTEXT_H_ #define _CONTEXT_H_ @@ -6,6 +6,11 @@ Interface-independant context */ +#define GMSH_INT 1 +#define GMSH_LONG 2 +#define GMSH_FLOAT 3 +#define GMSH_DOUBLE 4 + /* How RGBA values are packed and unpacked into/from a 4-byte integer */ # ifdef _LITTLE_ENDIAN @@ -26,7 +31,7 @@ typedef struct{ int id; /* the current rgbacolors id */ /* general colors */ - unsigned int bg, fg, text, axes, little_axes; + unsigned int bg, fg, text, axes, small_axes; /* geometry colors */ struct{ @@ -72,20 +77,21 @@ typedef struct { int command_win; /* command window? */ int display_lists; /* use display lists? */ int font_base; /* display list indice for the font */ - int axes, little_axes; /* draw axes? */ + int axes, small_axes; /* draw axes? */ int threads, threads_lock; /* threads?, lock (should be a mutex...) */ int alpha; /* enable alpha blending */ int flash; /* authorize colormap flashing (beek) */ int same_visual; /* force same visual for GUI and Graphics */ - char *font_string; /* main font */ - char *colorbar_font_string; /* font for colorbar */ + char *font; /* main font */ + char *fixed_font; /* font for colorbar */ /* OpenGL stuff */ int viewport[4]; /* current viewport */ double vxmin, vxmax, vymin, vymax; /* current viewport in real coordinates */ - float light0[4]; /* light source position */ + int light[6]; /* status of light */ + float light_position[6][4]; /* light sources positions */ float shine; /* specular value */ int render_mode; /* GMSH_RENDER, GMSH_SELECT, GMSH_FEEDBACK */ int clip[6]; /* status of clip planes */ @@ -132,23 +138,58 @@ typedef struct { struct{ int format, type; char *font; - int fontsize; + int font_size; } print; } Context_T; typedef struct { - char *string ; + char *str ; int int1, int2, int3, int4 ; } StringX4Int; typedef struct { - char *string ; - void *Pointer ; -} StringXPointer ; + char *str, **ptr, *def ; +} StringXString ; + +typedef struct { + char *str; + int type; + void *ptr; + double def ; +} StringXNumber ; -void InitContext (Context_T * ctx); -void PrintContext(Context_T *ctx, FILE *file); -void InitColors (rgbacolors * col, int num); +typedef struct { + char *str; + int type; + void *ptr; + double def1, def2, def3, def4 ; +} StringXArray ; + +typedef struct { + char *str ; + unsigned int *ptr ; + unsigned int def1, def2, def3 ; +} StringXColor ; + + +void Set_DefaultStringOptions(StringXString s[]); +void Set_DefaultNumberOptions(StringXNumber s[]); +void Set_DefaultArrayOptions(StringXArray s[]); +void Set_DefaultColorOptions(StringXColor s[], int num); + +int Set_StringOption(char *str, StringXString s[], char *val); +int Set_NumberOption(char *str, StringXNumber s[], double val); +int Set_ArrayOption(char *str, StringXArray s[], double *val); +int Set_ColorOption(char *str, StringXColor s[], unsigned int val); + +void Print_StringOptions(StringXString s[], FILE *file); +void Print_NumberOptions(StringXNumber s[], FILE *file); +void Print_ArrayOptions(StringXArray s[], FILE *file); +void Print_ColorOptions(StringXArray s[], FILE *file); + +void Init_Colors (int num); +void Init_Context (void); +void Print_Context(FILE *file); #endif diff --git a/Graphics/Draw.cpp b/Graphics/Draw.cpp index ac0ebc7d417223f45a78081db3570d2edb649ab3..06f9c03c14e2b35400b9d7b36530bdaf783131f1 100644 --- a/Graphics/Draw.cpp +++ b/Graphics/Draw.cpp @@ -1,4 +1,4 @@ -/* $Id: Draw.cpp,v 1.6 2000-11-26 18:43:48 geuzaine Exp $ */ +/* $Id: Draw.cpp,v 1.7 2000-12-05 15:23:56 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -80,7 +80,7 @@ void Draw2d(void){ glPushMatrix(); if(CTX.post.scales) Draw_Scales(); - if(CTX.little_axes) Draw_SmallAxes(); + if(CTX.small_axes) Draw_SmallAxes(); glPopMatrix(); } @@ -197,11 +197,16 @@ void InitOv(void){ void InitShading(void){ GLfloat specular[4]; + int i; - glLightfv(GL_LIGHT0, GL_POSITION, CTX.light0); glEnable(GL_LIGHTING); - glEnable(GL_LIGHT0); glEnable(GL_NORMALIZE); + for(i = 0 ; i < 6 ; i++){ + if(CTX.light[i]){ + glLightfv(GL_LIGHT0 + i, GL_POSITION, CTX.light_position[i]); + glEnable(GL_LIGHT0 + i ); + } + } /* simple color commands will automatically create appropriate materials */ glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); diff --git a/Graphics/Scale.cpp b/Graphics/Scale.cpp index 6ec143015fe3141acc17f5bd8926a9dbd313f2c7..d0bb9d5d614a8e3824a2389b14140c271ef5e2cf 100644 --- a/Graphics/Scale.cpp +++ b/Graphics/Scale.cpp @@ -1,4 +1,4 @@ -/* $Id: Scale.cpp,v 1.6 2000-12-04 11:28:26 geuzaine Exp $ */ +/* $Id: Scale.cpp,v 1.7 2000-12-05 15:23:56 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -34,7 +34,7 @@ void Draw_String(char *s){ if(CTX.stream == TO_FILE){ if(CTX.print.type == PRINT_GL2PS_SIMPLE || CTX.print.type == PRINT_GL2PS_RECURSIVE) { - gl2psText(s,CTX.print.font,CTX.print.fontsize); + gl2psText(s,CTX.print.font,CTX.print.font_size); return ; } } @@ -303,7 +303,7 @@ void Draw_SmallAxes(void){ yx = -l*cos(b)*sin(c) ; yy = -l*(sin(a)*sin(b)*sin(c)-cos(a)*cos(c)) ; zx = l*sin(b) ; zy = -l*sin(a)*cos(b) ; - glColor4ubv((GLubyte*)&CTX.color.little_axes); + glColor4ubv((GLubyte*)&CTX.color.small_axes); glBegin(GL_LINES); glVertex2d(cx,cy); glVertex2d(cx+xx,cy+xy); diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index f50146270347df5b5fc692e30d2abdd5d9ab65c7..18ff550fd74e1367546854424db5455719b6f5fe 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.l,v 1.6 2000-12-04 09:29:38 colignon Exp $ */ +%{ /* $Id: Gmsh.l,v 1.7 2000-12-05 15:23:57 geuzaine Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -96,7 +96,6 @@ Coherence return tCoherence; Complex return tComplex; Color return tColor; CatmullRom return tSpline; -Clip return tClip; Delete return tDelete; Dilate return tDilate; @@ -135,6 +134,7 @@ Nurbs return tNurbs; Offset return tOffset; Order return tOrder; +Options return tOptions; Physical return tPhysical; Pi return tPi; @@ -143,6 +143,8 @@ Point return tPoint; Power return tProgression; Progression return tProgression; Parametric return tParametric; +PostProcessing return tPostProcessing; +Print return tPrint; Recombine return tRecombine; Rotate return tRotate; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 10e8bb4456c98eb435f53acaf089e76a5eeb5b8c..5eca5a189535d334d801e5318075b3ff80b43673 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,152 +1,155 @@ /* A Bison parser, made from Gmsh.y - by GNU Bison version 1.28 */ + by GNU Bison version 1.25 + */ #define YYBISON 1 /* Identify Bison output. */ -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tExp 264 -#define tLog 265 -#define tLog10 266 -#define tSqrt 267 -#define tSin 268 -#define tAsin 269 -#define tCos 270 -#define tAcos 271 -#define tTan 272 -#define tAtan 273 -#define tAtan2 274 -#define tSinh 275 -#define tCosh 276 -#define tTanh 277 -#define tFabs 278 -#define tFloor 279 -#define tCeil 280 -#define tFmod 281 -#define tModulo 282 -#define tHypot 283 -#define tPoint 284 -#define tCircle 285 -#define tEllipsis 286 -#define tLine 287 -#define tSurface 288 -#define tSpline 289 -#define tVolume 290 -#define tCharacteristic 291 -#define tLength 292 -#define tParametric 293 -#define tElliptic 294 -#define tPlane 295 -#define tRuled 296 -#define tTransfinite 297 -#define tComplex 298 -#define tPhysical 299 -#define tUsing 300 -#define tPower 301 -#define tBump 302 -#define tProgression 303 -#define tAssociation 304 -#define tRotate 305 -#define tTranslate 306 -#define tSymmetry 307 -#define tDilate 308 -#define tExtrude 309 -#define tDuplicata 310 -#define tLoop 311 -#define tInclude 312 -#define tRecombine 313 -#define tDelete 314 -#define tCoherence 315 -#define tView 316 -#define tOffset 317 -#define tAttractor 318 -#define tLayers 319 -#define tScalarTetrahedron 320 -#define tVectorTetrahedron 321 -#define tTensorTetrahedron 322 -#define tScalarTriangle 323 -#define tVectorTriangle 324 -#define tTensorTriangle 325 -#define tScalarLine 326 -#define tVectorLine 327 -#define tTensorLine 328 -#define tScalarPoint 329 -#define tVectorPoint 330 -#define tTensorPoint 331 -#define tBSpline 332 -#define tNurbs 333 -#define tOrder 334 -#define tWith 335 -#define tBounds 336 -#define tKnots 337 -#define tColor 338 -#define tGeneral 339 -#define tGeometry 340 -#define tMesh 341 -#define tClip 342 -#define tB_SPLINE_SURFACE_WITH_KNOTS 343 -#define tB_SPLINE_CURVE_WITH_KNOTS 344 -#define tCARTESIAN_POINT 345 -#define tTRUE 346 -#define tFALSE 347 -#define tUNSPECIFIED 348 -#define tU 349 -#define tV 350 -#define tEDGE_CURVE 351 -#define tVERTEX_POINT 352 -#define tORIENTED_EDGE 353 -#define tPLANE 354 -#define tFACE_OUTER_BOUND 355 -#define tEDGE_LOOP 356 -#define tADVANCED_FACE 357 -#define tVECTOR 358 -#define tDIRECTION 359 -#define tAXIS2_PLACEMENT_3D 360 -#define tISO 361 -#define tENDISO 362 -#define tENDSEC 363 -#define tDATA 364 -#define tHEADER 365 -#define tFILE_DESCRIPTION 366 -#define tFILE_SCHEMA 367 -#define tFILE_NAME 368 -#define tMANIFOLD_SOLID_BREP 369 -#define tCLOSED_SHELL 370 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 371 -#define tFACE_BOUND 372 -#define tCYLINDRICAL_SURFACE 373 -#define tCONICAL_SURFACE 374 -#define tCIRCLE 375 -#define tTRIMMED_CURVE 376 -#define tGEOMETRIC_SET 377 -#define tCOMPOSITE_CURVE_SEGMENT 378 -#define tCONTINUOUS 379 -#define tCOMPOSITE_CURVE 380 -#define tTOROIDAL_SURFACE 381 -#define tPRODUCT_DEFINITION 382 -#define tPRODUCT_DEFINITION_SHAPE 383 -#define tSHAPE_DEFINITION_REPRESENTATION 384 -#define tELLIPSE 385 -#define tTrimmed 386 -#define tSolid 387 -#define tEndSolid 388 -#define tVertex 389 -#define tFacet 390 -#define tNormal 391 -#define tOuter 392 -#define tLoopSTL 393 -#define tEndLoop 394 -#define tEndFacet 395 -#define UMINUS 396 +#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 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.13 2000-12-04 09:51:51 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.14 2000-12-05 15:23:57 geuzaine Exp $ */ #include <stdarg.h> @@ -160,6 +163,7 @@ #include "Create.h" #include "Views.h" #include "StepGeomDatabase.h" +#include "Options.h" #include "Colors.h" #include "Parser.h" @@ -181,23 +185,17 @@ static char tmpstring[NAME_STR_L]; static Symbol TheSymbol; static Surface *STL_Surf; static Shape TheShape; -static unsigned int *ptr ; static int i,j,k,flag,RecursionLevel=0; static double d; static ExtrudeParams extr; -static StringXPointer *ColorField ; +static StringXColor *ColorField ; static List_T *ListOfDouble_L,*ListOfDouble2_L; static List_T *ListOfListOfDouble_L; void yyerror (char *s); void vyyerror (char *fmt, ...); -int Get_ColorForString(StringX4Int SX4I[], int alpha, - char * string, int * FlagError); -void Get_ColorPointerForString(StringXPointer SXP[], char * string, - int * FlagError, unsigned int **Pointer); - -#line 53 "Gmsh.y" +#line 48 "Gmsh.y" typedef union { char *c; int i; @@ -216,26 +214,26 @@ typedef union { -#define YYFINAL 1342 +#define YYFINAL 1402 #define YYFLAG -32768 -#define YYNTBASE 158 +#define YYNTBASE 160 -#define YYTRANSLATE(x) ((unsigned)(x) <= 396 ? yytranslate[x] : 238) +#define YYTRANSLATE(x) ((unsigned)(x) <= 399 ? yytranslate[x] : 251) 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, 148, 2, 2, 151, - 153, 146, 144, 152, 145, 2, 147, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 142, - 2, 143, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 156, 2, 157, 150, 2, 2, 2, 2, 2, 2, + 158, 2, 159, 152, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 154, 2, 155, 2, 2, 2, 2, 2, + 2, 2, 156, 2, 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, 2, 2, 2, 2, 2, 2, 2, @@ -248,21 +246,21 @@ 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, 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, 149 + 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 }; #if YYDEBUG != 0 @@ -273,243 +271,261 @@ 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, 518, 521, 528, 537, 538, 541, 544, - 547, 550, 553, 556, 559, 562, 565, 568, 571, 574, - 576, 580, 581, 595, 597, 601, 602, 616, 618, 622, - 623, 637, 639, 643, 644, 664, 666, 670, 671, 691, - 693, 697, 698, 718, 720, 724, 725, 751, 753, 757, - 758, 784, 786, 790, 791, 817, 819, 823, 824, 856, - 858, 862, 863, 895, 897, 901, 902, 934, 939, 947, - 956, 969, 976, 982, 990, 998, 1011, 1019, 1029, 1047, - 1055, 1064, 1073, 1081, 1093, 1099, 1108, 1118, 1127, 1150, - 1171, 1180, 1189, 1195, 1204, 1212, 1221, 1227, 1239, 1245, - 1255, 1257, 1259, 1261, 1262, 1265, 1270, 1275, 1279, 1288, - 1301, 1310, 1323, 1332, 1345, 1357, 1373, 1375, 1378, 1388, - 1391, 1398, 1408, 1418, 1427, 1436, 1445, 1452, 1457, 1460, - 1465, 1482, 1483, 1486, 1487, 1493, 1494, 1500, 1501, 1507, - 1508, 1511, 1516, 1525, 1530, 1540, 1548, 1550, 1552, 1554, - 1556, 1558, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1587, - 1590, 1595, 1600, 1605, 1610, 1615, 1620, 1625, 1630, 1635, - 1640, 1647, 1652, 1657, 1662, 1667, 1672, 1677, 1684, 1691, - 1698, 1700, 1702, 1704, 1708, 1715, 1727, 1737, 1745, 1753, - 1754, 1758, 1760, 1764, 1765, 1769, 1773, 1775, 1779, 1780, - 1782, 1786, 1788, 1790, 1794 + 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 }; -static const short yyrhs[] = { 160, - 0, 159, 0, 165, 0, 133, 0, 136, 137, 228, - 228, 228, 138, 139, 135, 228, 228, 228, 135, 228, - 228, 228, 135, 228, 228, 228, 140, 141, 0, 134, - 0, 0, 160, 161, 0, 162, 0, 164, 0, 163, - 0, 1, 6, 0, 107, 6, 0, 108, 6, 0, - 110, 6, 0, 109, 6, 0, 111, 6, 0, 112, - 151, 232, 152, 5, 153, 6, 0, 113, 151, 232, - 153, 6, 0, 114, 151, 5, 152, 5, 152, 232, - 152, 232, 152, 5, 152, 5, 152, 5, 153, 6, - 0, 3, 7, 91, 151, 5, 152, 231, 153, 6, - 0, 3, 7, 90, 151, 5, 152, 228, 152, 236, - 152, 227, 152, 227, 152, 227, 152, 236, 152, 236, - 152, 227, 153, 6, 0, 3, 7, 89, 151, 5, - 152, 228, 152, 228, 152, 234, 152, 227, 152, 227, - 152, 227, 152, 227, 152, 236, 152, 236, 152, 236, - 152, 236, 152, 227, 153, 6, 0, 3, 7, 97, - 151, 5, 152, 3, 152, 3, 152, 3, 152, 227, - 153, 6, 0, 3, 7, 101, 151, 5, 152, 3, - 152, 227, 153, 6, 0, 3, 7, 118, 151, 5, - 152, 3, 152, 227, 153, 6, 0, 3, 7, 99, - 151, 5, 152, 146, 152, 146, 152, 228, 152, 227, - 153, 6, 0, 3, 7, 102, 151, 5, 152, 236, - 153, 6, 0, 3, 7, 103, 151, 5, 152, 236, - 152, 3, 152, 227, 153, 6, 0, 3, 7, 98, - 151, 5, 152, 3, 153, 6, 0, 3, 7, 104, - 151, 5, 152, 3, 152, 228, 153, 6, 0, 3, - 7, 106, 151, 5, 152, 3, 152, 3, 152, 3, - 153, 6, 0, 3, 7, 105, 151, 5, 152, 231, - 153, 6, 0, 3, 7, 100, 151, 5, 152, 3, - 153, 6, 0, 3, 7, 33, 151, 5, 152, 3, - 152, 3, 153, 6, 0, 3, 7, 116, 151, 5, - 152, 236, 153, 6, 0, 3, 7, 117, 151, 5, - 152, 236, 152, 3, 153, 6, 0, 3, 7, 115, - 151, 5, 152, 3, 153, 6, 0, 3, 7, 119, - 151, 5, 152, 3, 152, 228, 153, 6, 0, 3, - 7, 120, 151, 5, 152, 3, 152, 228, 152, 228, - 153, 6, 0, 3, 7, 127, 151, 5, 152, 3, - 152, 228, 152, 228, 153, 6, 0, 3, 7, 121, - 151, 5, 152, 3, 152, 228, 153, 6, 0, 3, - 7, 131, 151, 5, 152, 3, 152, 228, 152, 228, - 153, 6, 0, 3, 7, 122, 151, 5, 152, 3, - 152, 236, 152, 236, 152, 227, 152, 227, 153, 6, - 0, 3, 7, 123, 151, 5, 152, 236, 153, 6, - 0, 3, 7, 124, 151, 125, 152, 227, 152, 3, - 153, 6, 0, 3, 7, 126, 151, 5, 152, 236, - 152, 227, 153, 6, 0, 3, 7, 128, 151, 5, - 152, 5, 152, 3, 152, 3, 153, 6, 0, 3, - 7, 129, 151, 5, 152, 5, 152, 3, 153, 6, - 0, 3, 7, 130, 151, 3, 152, 3, 153, 6, - 0, 0, 165, 166, 0, 167, 0, 205, 0, 206, - 0, 207, 0, 210, 0, 211, 0, 213, 0, 216, - 0, 217, 0, 212, 0, 218, 0, 1, 6, 0, - 62, 5, 154, 168, 155, 6, 0, 62, 5, 63, - 231, 154, 168, 155, 6, 0, 0, 168, 170, 0, - 168, 173, 0, 168, 176, 0, 168, 179, 0, 168, - 182, 0, 168, 185, 0, 168, 188, 0, 168, 191, - 0, 168, 194, 0, 168, 197, 0, 168, 200, 0, - 168, 203, 0, 228, 0, 169, 152, 228, 0, 0, - 75, 151, 228, 152, 228, 152, 228, 153, 171, 154, - 169, 155, 6, 0, 228, 0, 172, 152, 228, 0, - 0, 76, 151, 228, 152, 228, 152, 228, 153, 174, - 154, 172, 155, 6, 0, 228, 0, 175, 152, 228, - 0, 0, 77, 151, 228, 152, 228, 152, 228, 153, - 177, 154, 175, 155, 6, 0, 228, 0, 178, 152, - 228, 0, 0, 72, 151, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 153, 180, 154, 178, - 155, 6, 0, 228, 0, 181, 152, 228, 0, 0, - 73, 151, 228, 152, 228, 152, 228, 152, 228, 152, - 228, 152, 228, 153, 183, 154, 181, 155, 6, 0, - 228, 0, 184, 152, 228, 0, 0, 74, 151, 228, - 152, 228, 152, 228, 152, 228, 152, 228, 152, 228, - 153, 186, 154, 184, 155, 6, 0, 228, 0, 187, - 152, 228, 0, 0, 69, 151, 228, 152, 228, 152, - 228, 152, 228, 152, 228, 152, 228, 152, 228, 152, - 228, 152, 228, 153, 189, 154, 187, 155, 6, 0, - 228, 0, 190, 152, 228, 0, 0, 70, 151, 228, - 152, 228, 152, 228, 152, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 153, 192, 154, 190, - 155, 6, 0, 228, 0, 193, 152, 228, 0, 0, - 71, 151, 228, 152, 228, 152, 228, 152, 228, 152, - 228, 152, 228, 152, 228, 152, 228, 152, 228, 153, - 195, 154, 193, 155, 6, 0, 228, 0, 196, 152, - 228, 0, 0, 66, 151, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 152, 228, 153, 198, - 154, 196, 155, 6, 0, 228, 0, 199, 152, 228, - 0, 0, 67, 151, 228, 152, 228, 152, 228, 152, - 228, 152, 228, 152, 228, 152, 228, 152, 228, 152, - 228, 152, 228, 152, 228, 152, 228, 153, 201, 154, - 199, 155, 6, 0, 228, 0, 202, 152, 228, 0, - 0, 68, 151, 228, 152, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 152, 228, 153, 204, 154, 202, - 155, 6, 0, 4, 7, 228, 6, 0, 30, 151, - 228, 153, 7, 231, 6, 0, 45, 30, 151, 228, - 153, 7, 236, 6, 0, 64, 30, 236, 7, 151, - 228, 152, 228, 152, 228, 153, 6, 0, 37, 38, - 236, 7, 228, 6, 0, 30, 154, 228, 155, 6, - 0, 33, 151, 228, 153, 7, 236, 6, 0, 35, - 151, 228, 153, 7, 236, 6, 0, 64, 33, 236, - 7, 154, 228, 152, 228, 152, 228, 155, 6, 0, - 31, 151, 228, 153, 7, 236, 6, 0, 31, 151, - 228, 153, 7, 236, 41, 231, 6, 0, 39, 151, - 228, 153, 7, 154, 228, 152, 228, 152, 5, 152, - 5, 152, 5, 155, 6, 0, 32, 151, 228, 153, - 7, 236, 6, 0, 45, 33, 151, 228, 153, 7, - 236, 6, 0, 33, 57, 151, 228, 153, 7, 236, - 6, 0, 78, 151, 228, 153, 7, 236, 6, 0, - 79, 151, 228, 153, 7, 236, 83, 236, 80, 228, - 6, 0, 33, 154, 228, 155, 6, 0, 41, 34, - 151, 228, 153, 7, 236, 6, 0, 132, 34, 151, - 228, 153, 7, 228, 236, 6, 0, 42, 34, 151, - 228, 153, 7, 236, 6, 0, 79, 34, 81, 82, - 151, 228, 153, 7, 234, 83, 154, 236, 152, 236, - 155, 80, 154, 228, 152, 228, 155, 6, 0, 79, - 34, 151, 228, 153, 7, 234, 83, 154, 236, 152, - 236, 155, 80, 154, 228, 152, 228, 155, 6, 0, - 45, 34, 151, 228, 153, 7, 236, 6, 0, 34, - 57, 151, 228, 153, 7, 236, 6, 0, 34, 154, - 228, 155, 6, 0, 44, 36, 151, 228, 153, 7, - 236, 6, 0, 36, 151, 228, 153, 7, 236, 6, - 0, 45, 36, 151, 228, 153, 7, 236, 6, 0, - 52, 231, 154, 208, 155, 0, 51, 154, 231, 152, - 231, 152, 228, 155, 154, 208, 155, 0, 53, 231, - 154, 208, 155, 0, 54, 154, 231, 152, 228, 155, - 154, 208, 155, 0, 210, 0, 209, 0, 207, 0, - 0, 209, 206, 0, 56, 154, 209, 155, 0, 60, - 154, 209, 155, 0, 58, 5, 6, 0, 55, 30, - 154, 228, 152, 231, 155, 6, 0, 55, 30, 154, - 228, 152, 231, 152, 231, 152, 228, 155, 6, 0, - 55, 33, 154, 228, 152, 231, 155, 6, 0, 55, - 33, 154, 228, 152, 231, 152, 231, 152, 228, 155, - 6, 0, 55, 34, 154, 228, 152, 231, 155, 6, - 0, 55, 34, 154, 228, 152, 231, 152, 231, 152, - 228, 155, 6, 0, 55, 34, 154, 228, 152, 231, - 155, 154, 214, 155, 6, 0, 55, 34, 154, 228, - 152, 231, 152, 231, 152, 228, 155, 154, 214, 155, - 6, 0, 215, 0, 214, 215, 0, 65, 154, 236, - 152, 236, 152, 236, 155, 6, 0, 59, 6, 0, - 43, 33, 236, 7, 228, 6, 0, 43, 33, 236, - 7, 228, 46, 49, 228, 6, 0, 43, 33, 236, - 7, 228, 46, 48, 228, 6, 0, 43, 34, 154, - 228, 155, 7, 236, 6, 0, 40, 34, 154, 228, - 155, 7, 236, 6, 0, 43, 36, 154, 228, 155, - 7, 236, 6, 0, 59, 34, 236, 7, 228, 6, - 0, 59, 34, 236, 6, 0, 61, 6, 0, 84, - 154, 219, 155, 0, 88, 41, 151, 228, 153, 7, - 154, 228, 152, 228, 152, 228, 152, 228, 155, 6, - 0, 0, 219, 220, 0, 0, 85, 221, 154, 224, - 155, 0, 0, 86, 222, 154, 224, 155, 0, 0, - 87, 223, 154, 224, 155, 0, 0, 225, 224, 0, - 4, 7, 4, 6, 0, 4, 7, 154, 4, 152, - 228, 155, 6, 0, 4, 7, 226, 6, 0, 154, - 228, 152, 228, 152, 228, 152, 228, 155, 0, 154, - 228, 152, 228, 152, 228, 155, 0, 92, 0, 93, - 0, 94, 0, 95, 0, 96, 0, 229, 0, 151, - 228, 153, 0, 228, 145, 228, 0, 228, 144, 228, - 0, 228, 146, 228, 0, 228, 147, 228, 0, 228, - 150, 228, 0, 145, 228, 0, 144, 228, 0, 10, - 151, 228, 153, 0, 11, 151, 228, 153, 0, 12, - 151, 228, 153, 0, 13, 151, 228, 153, 0, 14, - 151, 228, 153, 0, 15, 151, 228, 153, 0, 16, - 151, 228, 153, 0, 17, 151, 228, 153, 0, 18, - 151, 228, 153, 0, 19, 151, 228, 153, 0, 20, - 151, 228, 152, 228, 153, 0, 21, 151, 228, 153, - 0, 22, 151, 228, 153, 0, 23, 151, 228, 153, - 0, 24, 151, 228, 153, 0, 25, 151, 228, 153, - 0, 26, 151, 228, 153, 0, 27, 151, 228, 152, - 228, 153, 0, 28, 151, 228, 152, 228, 153, 0, - 29, 151, 228, 152, 228, 153, 0, 3, 0, 9, - 0, 4, 0, 228, 8, 228, 0, 228, 8, 156, - 228, 157, 228, 0, 154, 228, 152, 228, 152, 228, - 152, 228, 152, 228, 155, 0, 154, 228, 152, 228, - 152, 228, 152, 228, 155, 0, 154, 228, 152, 228, - 152, 228, 155, 0, 151, 228, 152, 228, 152, 228, - 153, 0, 0, 151, 233, 153, 0, 5, 0, 233, - 152, 5, 0, 0, 154, 235, 155, 0, 151, 235, - 153, 0, 236, 0, 235, 152, 236, 0, 0, 228, - 0, 154, 237, 155, 0, 228, 0, 230, 0, 237, - 152, 228, 0, 237, 152, 230, 0 +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, 153, 241, 154, 241, 154, 241, 155, 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 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 114, 116, 117, 124, 132, 146, 158, 160, 163, 165, - 166, 167, 170, 176, 181, 182, 183, 186, 190, 193, - 199, 204, 210, 218, 223, 227, 233, 238, 242, 247, - 251, 254, 259, 263, 267, 271, 276, 280, 283, 287, - 291, 295, 299, 303, 307, 310, 314, 317, 321, 324, - 333, 335, 341, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 360, 365, 371, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 390, - 393, 397, 403, 409, 412, 416, 422, 428, 431, 435, - 441, 447, 450, 454, 462, 468, 471, 475, 483, 489, - 492, 496, 504, 510, 513, 517, 529, 535, 538, 542, - 554, 560, 563, 567, 579, 585, 588, 592, 605, 611, - 614, 618, 631, 637, 640, 644, 657, 669, 683, 694, - 700, 719, 730, 738, 744, 750, 769, 775, 791, 798, - 804, 810, 816, 822, 841, 853, 859, 878, 899, 907, - 913, 919, 925, 937, 943, 949, 961, 967, 972, 977, - 984, 986, 987, 990, 995, 1006, 1024, 1039, 1070, 1076, - 1082, 1086, 1090, 1094, 1098, 1103, 1110, 1114, 1119, 1137, - 1147, 1165, 1182, 1199, 1220, 1240, 1260, 1277, 1301, 1312, - 1314, 1329, 1331, 1334, 1337, 1338, 1340, 1341, 1343, 1346, - 1348, 1351, 1362, 1372, 1382, 1390, 1466, 1468, 1469, 1470, - 1471, 1474, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 1506, 1508, 1509, 1520, 1527, 1540, 1549, 1557, 1565, 1575, - 1579, 1584, 1588, 1593, 1597, 1601, 1607, 1613, 1619, 1623, - 1629, 1642, 1648, 1657, 1661 + 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 }; #endif @@ -527,29 +543,32 @@ 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","tGeneral","tGeometry", -"tMesh","tClip","tB_SPLINE_SURFACE_WITH_KNOTS","tB_SPLINE_CURVE_WITH_KNOTS", -"tCARTESIAN_POINT","tTRUE","tFALSE","tUNSPECIFIED","tU","tV","tEDGE_CURVE","tVERTEX_POINT", -"tORIENTED_EDGE","tPLANE","tFACE_OUTER_BOUND","tEDGE_LOOP","tADVANCED_FACE", -"tVECTOR","tDIRECTION","tAXIS2_PLACEMENT_3D","tISO","tENDISO","tENDSEC","tDATA", -"tHEADER","tFILE_DESCRIPTION","tFILE_SCHEMA","tFILE_NAME","tMANIFOLD_SOLID_BREP", -"tCLOSED_SHELL","tADVANCED_BREP_SHAPE_REPRESENTATION","tFACE_BOUND","tCYLINDRICAL_SURFACE", -"tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE","tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT", -"tCONTINUOUS","tCOMPOSITE_CURVE","tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE", -"tSHAPE_DEFINITION_REPRESENTATION","tELLIPSE","tTrimmed","tSolid","tEndSolid", -"tVertex","tFacet","tNormal","tOuter","tLoopSTL","tEndLoop","tEndFacet","'<'", -"'>'","'+'","'-'","'*'","'/'","'%'","UMINUS","'^'","'('","','","')'","'{'","'}'", -"'['","']'","All","STLFormatItem","StepFormatItems","StepFormatItem","StepSpecial", -"StepHeaderItem","StepDataItem","GeomFormatList","GeomFormat","View","Views", -"ScalarPointValues","ScalarPoint","@1","VectorPointValues","VectorPoint","@2", -"TensorPointValues","TensorPoint","@3","ScalarLineValues","ScalarLine","@4", -"VectorLineValues","VectorLine","@5","TensorLineValues","TensorLine","@6","ScalarTriangleValues", -"ScalarTriangle","@7","VectorTriangleValues","VectorTriangle","@8","TensorTriangleValues", -"TensorTriangle","@9","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues", +"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", +"tFACE_BOUND","tCYLINDRICAL_SURFACE","tCONICAL_SURFACE","tCIRCLE","tTRIMMED_CURVE", +"tGEOMETRIC_SET","tCOMPOSITE_CURVE_SEGMENT","tCONTINUOUS","tCOMPOSITE_CURVE", +"tTOROIDAL_SURFACE","tPRODUCT_DEFINITION","tPRODUCT_DEFINITION_SHAPE","tSHAPE_DEFINITION_REPRESENTATION", +"tELLIPSE","tTrimmed","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter", +"tLoopSTL","tEndLoop","tEndFacet","'<'","'>'","'+'","'-'","'*'","'/'","'%'", +"UMINUS","'^'","'('","','","')'","'{'","'}'","'['","']'","All","STLFormatItem", +"StepFormatItems","StepFormatItem","StepSpecial","StepHeaderItem","StepDataItem", +"GeomFormatList","GeomFormat","View","Views","ScalarPointValues","ScalarPoint", +"@1","VectorPointValues","VectorPoint","@2","TensorPointValues","TensorPoint", +"@3","ScalarLineValues","ScalarLine","@4","VectorLineValues","VectorLine","@5", +"TensorLineValues","TensorLine","@6","ScalarTriangleValues","ScalarTriangle", +"@7","VectorTriangleValues","VectorTriangle","@8","TensorTriangleValues","TensorTriangle", +"@9","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues", "VectorTetrahedron","@11","TensorTetrahedronValues","TensorTetrahedron","@12", "Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata", "Delete","Macro","Extrude","ExtrudeParameters","ExtrudeParameter","Transfini", -"Coherence","Options","ColorSections","ColorSection","@13","@14","@15","ColorAffects", +"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 @@ -557,33 +576,36 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", #endif static const short yyr1[] = { 0, - 158, 158, 158, 159, 159, 159, 160, 160, 161, 161, - 161, 161, 162, 162, 162, 162, 162, 163, 163, 163, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 165, 165, 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, 168, 169, - 169, 171, 170, 172, 172, 174, 173, 175, 175, 177, - 176, 178, 178, 180, 179, 181, 181, 183, 182, 184, - 184, 186, 185, 187, 187, 189, 188, 190, 190, 192, - 191, 193, 193, 195, 194, 196, 196, 198, 197, 199, - 199, 201, 200, 202, 202, 204, 203, 205, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - 208, 208, 208, 209, 209, 210, 211, 212, 213, 213, - 213, 213, 213, 213, 213, 213, 214, 214, 215, 215, - 216, 216, 216, 216, 216, 216, 216, 216, 217, 218, - 218, 219, 219, 221, 220, 222, 220, 223, 220, 224, - 224, 225, 225, 225, 226, 226, 227, 227, 227, 227, - 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 229, 229, 229, 230, 230, 231, 231, 231, 231, 232, - 232, 233, 233, 234, 234, 234, 235, 235, 236, 236, - 236, 237, 237, 237, 237 + 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 }; static const short yyr2[] = { 0, @@ -593,7 +615,7 @@ 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, 1, 2, 6, 8, 0, 2, 2, 2, + 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, @@ -605,15 +627,18 @@ static const short yyr2[] = { 0, 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, 4, - 16, 0, 2, 0, 5, 0, 5, 0, 5, 0, - 2, 4, 8, 4, 9, 7, 1, 1, 1, 1, - 1, 1, 3, 3, 3, 3, 3, 3, 2, 2, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 6, 4, 4, 4, 4, 4, 4, 6, 6, 6, - 1, 1, 1, 3, 6, 11, 9, 7, 7, 0, - 3, 1, 3, 0, 3, 3, 1, 3, 0, 1, - 3, 1, 1, 3, 3 + 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, @@ -622,129 +647,135 @@ 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, 0, 52, 53, 54, 55, 56, - 57, 58, 62, 59, 60, 61, 63, 241, 243, 242, - 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 212, 12, 0, 13, 14, 16, - 15, 17, 250, 250, 0, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 259, 164, 189, 0, 259, 259, 0, 0, - 0, 192, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 220, 219, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 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, 0, 292, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 215, 214, 216, 217, 218, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 262, 263, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 0, 0, 0, 128, 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, 194, 196, 198, 190, 193, - 0, 0, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 0, 232, 233, 234, 235, 236, 237, 0, - 0, 0, 215, 214, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 251, 0, 19, 0, - 0, 133, 259, 259, 0, 259, 145, 0, 153, 259, - 259, 0, 0, 261, 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, 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, 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, 0, 0, 0, 0, - 0, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 0, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 259, - 0, 0, 0, 0, 259, 259, 0, 0, 0, 0, - 0, 259, 0, 259, 0, 0, 0, 0, 0, 253, - 0, 250, 0, 0, 0, 259, 0, 259, 0, 0, - 0, 244, 264, 265, 132, 0, 259, 259, 259, 181, - 0, 259, 259, 259, 259, 259, 259, 259, 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, 254, 0, 200, 200, 200, 0, - 0, 231, 238, 239, 240, 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, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 208, 209, 210, 211, 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, 286, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 0, 259, 259, 0, 259, 0, 0, 200, - 0, 0, 0, 259, 0, 0, 0, 259, 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, + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 0, 142, 152, 0, - 0, 185, 146, 148, 0, 0, 184, 186, 154, 130, - 141, 151, 156, 0, 249, 0, 248, 0, 0, 169, - 0, 171, 0, 173, 0, 66, 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, 29, 32, 40, 0, 41, 48, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 0, 257, 0, 0, 0, 0, 195, 201, 197, - 199, 0, 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, 245, 0, 183, 182, - 164, 0, 160, 0, 0, 0, 0, 0, 0, 177, + 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 256, 255, 259, 0, - 0, 0, 0, 0, 147, 0, 0, 254, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 247, 0, 0, 0, 180, 259, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 202, 243, 0, - 204, 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, 259, 259, 144, + 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 170, 172, - 174, 0, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 82, 86, 90, 131, 136, 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, - 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 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, - 206, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, - 0, 44, 20, 139, 179, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 83, 85, 87, 89, 91, - 0, 0, 205, 0, 0, 259, 0, 0, 0, 0, - 0, 0, 94, 98, 102, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 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, - 259, 0, 0, 0, 0, 0, 0, 0, 0, 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, 259, + 0, 0, 0, 93, 95, 97, 99, 101, 103, 291, 0, 0, 0, 106, 110, 114, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 108, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 107, 109, 111, 113, 115, @@ -754,768 +785,813 @@ static const short yydefact[] = { 51, 0, 0 }; -static const short yydefgoto[] = { 1340, - 4, 5, 18, 19, 20, 21, 6, 56, 57, 379, - 1112, 502, 1058, 1114, 503, 1059, 1116, 504, 1060, 1224, - 505, 1197, 1226, 506, 1198, 1228, 507, 1199, 1285, 508, - 1271, 1287, 509, 1272, 1289, 510, 1273, 1322, 511, 1316, - 1324, 512, 1317, 1326, 513, 1318, 58, 374, 364, 365, - 366, 367, 62, 63, 64, 859, 860, 65, 66, 67, - 266, 390, 520, 521, 522, 719, 720, 883, 655, 231, - 95, 346, 135, 215, 329, 716, 802, 803, 347 +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 yypact[] = { 7, --32768,-32768, -120,-32768, 465, 1499, 1350, 30, 38, 37, - 47, 52, 61, 67, -80, -68, -61,-32768,-32768,-32768, --32768, 92, 132, -126, -23, 45, -46, -31, 46, 53, - 107, 62, 172, 192, 208, 63, 188, 58, 76, -16, - -16, 93, 26, 94, 244, 220, 104, 253, 261, 39, - 116, -29, 126, 240, 272,-32768,-32768,-32768,-32768,-32768, +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, 1267, 1278, 663, + 1342, 501, 663, 564, 1352, 1362, 663, 222, 656, 1373, + 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, 1385, 625, + 663, 1395, 42, 663, 1405, 1415, 1441, 1501, 1516, 1526, + 1536, 1594, 1604, 1614, 2053, 1624, 1634, 1644, 1654, 1664, + 1674, 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, 1684, 813, 786, 1694, 816, 819, 823, + 207,-32768, 119, 663, 828, 577, 1704, 1714, 663, 775, + 814, 1724, 1734, 1744, 1754, 1764, -77, 663, 663,-32768, + 620, 1168,-32768, 671, 663, 2089, 2098, 2107,-32768,-32768, +-32768, 663,-32768, 680, 802, 684, 704, 852, 708, 1774, + 855, 707, 711, 724, 726, 729,-32768,-32768, 1784,-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, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 156, 176, 178, 189, 199, 206, 224, 225, 233, 251, - 260, 264, 265, 267, 276, 281, 284, 285, 298, 300, - 1350, 1350, 1350, 1323,-32768,-32768, 1322,-32768,-32768,-32768, --32768,-32768, 301, 301, 308,-32768, 1350, 1350, 1350, 1350, - 1350, 302, 1350, 1350, 303, 1350, 1350, 1350, 937, 1350, - 205, 309, 310, 937, 241, 292, 311, 316, 318, 320, - 322, -16, 1350, 1350, 324, 325, -16, 333, 334, 336, --32768, 332, 937,-32768,-32768, -59, 937, 937, 1350, -62, - 1350,-32768, 340, 341, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 215, 215, 749, 1350, 1350, 1350, - 1350, 1350, 1323, 342, 343, 347, 348, 358, 364, 365, - 368, 369, 370, 372, 380, 385, 387, 411, 412, 419, - 429, 430, 434, 435, 436, 437, 438, 439, 452, 483, - 485, 486, 487, 424, 381, 463, 489, 40, 830, 330, - 891, 901, 1350, 915, 367, 1350, 382, 951, 961, 1350, - 668, 632, 993, 1350, 1350, 1350, 636, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 492, 1073, 1159, 187, 187, 493, - 1350, 1350, 1350, 289,-32768, 9, 576, -16,-32768, 640, - 641, 1006, 567, 1350, 1016, -73, 1350, 1350, 1035, 1063, - 1093, 1113, 1130, 1149, 1310, 1331, 1343, 1360, 1172, 1370, - 1420, 1435, 1445, 1455, 1465, 1848, 1857, 1866, 1350, 1350, --32768, 197, 214, 215, 215, 215, -70, 645, 646, 647, - 655, 659, 661, 663, 664, 665, 669, 674, 675, 678, - 679, 681, 682, 684, 686, 688, 693, 694, 696, 697, - 536, 701, 702, 704, 705, 670, 708,-32768, -6, 709, - 706, 710,-32768, 712, 711, 718, 719, 1475, 721, 723, - 1488, 727, 728, 729, 55,-32768, -74, 1350, 738, 512, - 1498, 1508, 1350, 550, 577, 1518, 1528, 1538, 1548, 1558, - -16, 1350, 1350,-32768, 579, 731,-32768, 592, 1350, 1875, - 1884, 1893,-32768,-32768,-32768, 1350,-32768, 595, 556, 599, - 598, 748, 605, 1568, 750,-32768,-32768,-32768,-32768,-32768, - 1578, 1588,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1350,-32768,-32768,-32768,-32768,-32768,-32768, 1350, - 1350, 1350, -14, -14, 619, 607, 608, 622, 625, 626, - 627, 644, 652, 653, 680, 685, 691, 692, 703, 713, - 716, 720, 722, 724, 726, 734, 736, 737, 739, 746, - 751, 753, 756, 758, 759, 766,-32768, 639,-32768, 760, - -16,-32768, 937, 937, 786, 937,-32768, 791,-32768, 937, - 937, 275, 1350,-32768, 48, 654, 792, 809, 810, 33, - 826, 827, 829, 831, 839, 849, 863, 773, 1902, 1911, --32768,-32768, 596, -16, -16, -16, 64,-32768, 732, 779, - 783, 784, 787, 788, 793, 794, 820, 821, 841, 852, - 865,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1350, 1350, 937, 1350, 880, 937, 747, - 789, 828, 926, 935, 1598, 1608, 1618, 1628, 846, 997, - 1350, 1350, -16, 999, 1001, 859, 1017, 1018, 937, 937, - 1020, -16, 1021, 1022, 937, 937, 1029, 1030, 1037, 1039, - 1046, 937, 305, 937, 1047, 1048, 1050, 1049, 1053,-32768, - 1057, 301, 1058, 3, 1060, 937, 1061, 937, 1077, 1078, - 1350, 668, 55,-32768,-32768, 1350, 937, 937, 937,-32768, - 133, 937, 937, 937, 937, 937, 937, 937, 1350, 1350, - 1350, 931, 60, 65, 66,-32768, 754, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,-32768, - 1920, 1929, 1081, 1638, 71, 1007, 1085, 1085, 1085, 938, - 1350,-32768,-32768,-32768,-32768, 1350, 941, 1938, 1947, 946, - 948, 949, 957, 950, 958, 962, 965, 966, 967, 970, - 980, 982, 989, 992, 995, 996, 1002, 1003, 1004,-32768, --32768,-32768,-32768,-32768, 1015, 1024, 1025, 1031, 1032, 1005, - 1034,-32768, 1038,-32768,-32768, -16,-32768, 1139,-32768, 1162, --32768,-32768, -95, 1956, 1181, 1183, 1185, 1350, 1350, 1188, - 1189, 1190, 1191, 1205, 1206, 1208, 656, 1648, 262, 187, - -16, 1209, -16, 1215, -16, 15, 1216, 1965, 1974, 1983, - 1992, 2001, 2010, 2019, 2028, 2037, 2046, 2055, 2064, 1350, - 1350,-32768, 1112, 937, 937, 1141, 937, 1226, 1080, 1085, - 1086, 1087, 1350, 531, 1323, 1241, 1350, 937, 1239, 1244, - 1242, 1103, 1245, 305, 1246, 1247, 1350, 1255, 1250, 1256, - 1258, 1262, 305, 1350, 1350, 1350, 937, 1261, 1275, 305, - 1350, 1276, 1278, 1283, 1350, 301, 1285,-32768,-32768, 1350, - 1350,-32768,-32768,-32768, 106, 118,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1128,-32768, 1350,-32768, 1129, 1145,-32768, - 1146,-32768, 1148,-32768, -32,-32768, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 2073, 2082, - 71, 36,-32768, 121, 1147, 1227, 14,-32768,-32768,-32768, --32768, 2091, 1302, 1323, 1157, 2100, 1163,-32768, 1168,-32768, - 1176,-32768, 1177,-32768, 1179, 1658,-32768, 1204,-32768,-32768, - 1229, 1230, 1668, 2109, 1678, 1232,-32768, 1254, 1257, 2118, - 1233, 1263,-32768, 2127, 1265,-32768, 668, 2136,-32768,-32768, - 187, 278,-32768, 1350, 1350, 1350, 1351, 1175, -25,-32768, - 2145, 2154, 2163, 2172, 2181, 2190, 2199, 2208, 2217, 2226, - 2235, 2244, 1350, 1350, 1325, 937,-32768,-32768, 937, 1350, - 1352, 1377, 1403, 1350,-32768, -115, 1408, 71, 305, 1412, - 1350, 1423, 305, 1424, 1415, 1425, 1426, 1427, 1350, 1428, - 937, 1429, 1430, 1350, 1444, 1452, 1350, 1454, 1456, 1307, - 1350,-32768, 695, 707, 714,-32768, 937, 1458,-32768, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1688, 735, 1311,-32768, 1314, 125,-32768, 1319, 2253, --32768, 2262, 1350,-32768, 1320, 1327, 1328, 2271,-32768, 1329, --32768, 1330,-32768,-32768,-32768, 1698,-32768, 1333,-32768,-32768, - 1708, 1338,-32768, 1718, 1334, 1340,-32768, 782, 1491, 1492, - 16, 1356,-32768, 2280, 2289, 2298, 2307, 2316, 2325, 2334, - 2343, 2352, 1728, 1738, 1748, 1496, 1503, 937, 937,-32768, - 1350, 1350, 1350, 1323, 305, 305, 305, 305, 1505, 1506, - 1512, 305, 1513, 1519, 1520, 1522, 1532,-32768,-32768,-32768, --32768, -32, 937, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350,-32768,-32768,-32768,-32768,-32768, 1372, 1390, 823, - 2361, 2370, 1323, 1394, 1395, 1396, 1409,-32768,-32768,-32768, - 1404,-32768,-32768,-32768, 1416, 1417, -18, 1419, 2379, 2388, - 2397, 2406, 2415, 2424, 2433, 2442, 2451, 1418, 1421, 1422, - 937, 1468, 1580, 1350, 1350, 242, 305, 305, 1587, 1590, - 305, 1569, 1579, 1591, 937, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1439, 1449,-32768, - 295, 844, 1350, 1461, 1462,-32768,-32768, 1451, 1453, 1469, --32768, 1471, 2460, 2469, 2478, 2487, 2496, 2505, 2514, 2523, - 2532, 122, 668, 153, 668, 162, 668, 1527, 1350, 1350, --32768, 1610, 1323, 305, 937, 1611, 1617, 1621, 1623, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1624, - 1350, 1630, 1350, 1631, 1485, 2541, 851,-32768, 1323, 1494, - 1495,-32768,-32768,-32768,-32768, 2550, 2559, 2568, 2577, 2586, - 2595, 1758, 1768, 1778, 668,-32768, 668,-32768, 668,-32768, - 1350, 1350,-32768, 421, 305, 937, 1350, 1350, 1350, 1350, - 1350, 1350,-32768,-32768,-32768, 2604, 872, 1509, 1497, 1504, - 2613, 2622, 2631, 2640, 2649, 2658, 1486, 1515, 1516, 1350, - 1651,-32768, 937, 305, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 884,-32768, 1507, 1514, 2667, 2676, 2685, - 2694, 2703, 2712, 163, 668, 184, 668, 190, 668, 1654, - 937, 1660, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1670, - 1350, 1671, 1350, 1673,-32768, 1534,-32768, 2721, 2730, 2739, - 1788, 1798, 1808, 668,-32768, 668,-32768, 668,-32768, 937, - 1350, 1350, 1350,-32768,-32768,-32768, 1535, 2748, 2757, 2766, - 1526, 1536, 1542, 937, 1350, 1350, 1350, 1350, 1350, 1350, - 1537, 2775, 2784, 2793, 196, 668, 211, 668, 218, 668, - 305, 1350, 1350, 1350, 1350, 1691, 1350, 1693, 1350, 1694, - 1553, 1818, 1828, 1838, 668,-32768, 668,-32768, 668,-32768, - 1701,-32768,-32768,-32768,-32768, 1555, 1556, 1562, 1350, 1350, - 1350, 228, 668, 238, 668, 239, 668, 1350, 1711, 1350, - 1713, 1350, 1714, 668,-32768, 668,-32768, 668,-32768, 1726, - 1727,-32768 + 663, 663, 1428, 663, 1094, 1428,-32768,-32768,-32768,-32768, +-32768, 1096, 1794, 1804, 1814, 1824, 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, 1834, 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, 1844, 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, 1414, 300, 1417, 1418, 663, + 1422, 1426, 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, 1854,-32768, 1412,-32768,-32768, 1404, 1410, 1864, + 2314, 1874, 1419,-32768, 1413, 1416, 2323, 1423, 1421,-32768, + 2332, 1424,-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, + 1566, 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, 1884, 999, 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, 1012, + 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, 1151, 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, 1192, 663,-32768, 1635, 1691, 1693, 2800, 2809, + 2818, 2827, 2836, 2845, 1682, 1692, 1699, 663, 1848, 1207, +-32768, 1428, 300, 663, 663, 663, 663, 663, 663, 663, + 663, 663, 1214,-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 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1248, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1439, -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, 1723, 1724, -247, - 269, 1731,-32768,-32768,-32768, 744, -856,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, -595,-32768,-32768, -686, -7, --32768, 1277, -3, -103,-32768, -795, 1042, -82,-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,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, -837,-32768,-32768, -744, + -7,-32768, 1475, 3, -100,-32768, -807, 1223, 204,-32768 }; -#define YYLAST 2945 - - -static const short yytable[] = { 94, - 216, 368, 919, 258, 150, 875, -7, -7, 665, -7, - 112, 386, 387, 388, 375, 376, 7, 881, 263, 943, - 784, 1011, 721, 722, 108, 115, 857, 109, 289, 290, - 180, 181, 858, 857, 182, 96, 232, 136, 580, 858, - 857, 237, 98, 666, 97, 333, 858, 823, 289, 290, - 180, 181, 99, 575, 182, 138, 832, 100, 139, 140, - 256, 760, 462, 839, 260, 261, 101, 415, 147, 596, - 103, 148, 102, 289, 290, 180, 181, 463, 581, 182, - 464, 389, 104, 175, 176, 177, 183, 128, 264, 105, - 129, 130, 945, 131, 259, 124, 125, 106, 126, 218, - 219, 220, 221, 222, 113, 224, 225, 114, 227, 228, - 229, 849, 233, -7, -7, -7, -7, -7, -7, -7, - -7, 151, 116, 850, 809, 246, 247, 110, 245, 918, - 990, 180, 181, 250, 133, 182, 1074, 134, 107, 1, - 2, 262, 3, 265, 119, 446, 447, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 882, 785, 1012, - 292, 293, 294, 295, 296, 297, 289, 290, 180, 181, - 678, 679, 182, 289, 290, 180, 181, 876, 877, 182, - 919, 289, 290, 180, 181, 111, 117, 182, 289, 290, - 180, 181, 946, 118, 182, 121, 950, 289, 290, 180, - 181, 691, 120, 182, 692, 338, 693, 695, 341, 694, - 696, 714, 345, 127, 715, 122, 350, 351, 352, 132, - 354, 355, 356, 357, 358, 359, 360, 39, 40, 41, - 42, 123, 44, 370, 371, 372, 137, 141, 142, 289, - 290, 180, 181, 143, 378, 182, 384, 144, 145, 391, - 392, 289, 290, 180, 181, 146, 149, 182, 289, 290, - 180, 181, 876, 1139, 182, 878, 1140, 68, 69, 152, - 153, 413, 414, 70, 71, 72, 73, 74, 75, 76, +#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, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 1141, 154, 155, 1142, 1034, 1035, - 1036, 1037, 217, 1143, 1239, 1041, 1144, 1240, 24, 25, - 26, 27, 28, 29, 30, 31, 156, 32, 157, 34, - 35, -220, 37, 38, -220, 1241, -220, 255, 1242, 158, - 465, 1243, -220, -220, 1244, 470, 182, 1295, -219, 159, - 1296, -219, 50, -219, 479, 480, 160, 478, 234, -219, - -219, 483, 1297, 182, 182, 1298, 51, 52, 487, 1299, - 564, 565, 1300, 567, 161, 162, 1093, 569, 570, 1328, - 1094, 1095, 1329, 163, 1098, 289, 290, 180, 181, 1330, - 1332, 182, 1331, 1333, 238, 525, 650, 651, 652, 653, - 654, 164, 526, 527, 528, 289, 290, 180, 181, 254, - 165, 182, 257, 776, 166, 167, 777, 168, 91, 92, - 55, 289, 290, 180, 181, 93, 169, 182, 328, 911, - 571, 170, 912, 613, 171, 172, 616, 1150, 289, 290, - 180, 181, 778, 373, 182, 239, 1120, 563, 173, 1121, - 174, 214, 223, 226, 572, 573, 636, 637, 663, 235, - 236, 240, 642, 643, -1, 8, 241, 9, 242, 649, - 243, 656, 244, 289, 290, 180, 181, 248, 249, 182, - 593, 594, 595, 668, 335, 670, 251, 252, 1189, 253, - 267, 268, 298, 299, 675, 676, 677, 300, 301, 680, - 681, 682, 683, 684, 685, 686, 611, 612, 302, 614, - 289, 290, 180, 181, 303, 304, 182, 1217, 305, 306, - 307, 340, 308, 628, 629, 289, 290, 180, 181, 630, - 309, 182, 330, 68, 69, 310, 342, 311, 639, 70, + 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, 89, 90, - 1188, 312, 313, 673, 289, 290, 180, 181, 674, 314, - 182, 10, 11, 12, 13, 14, 15, 16, 17, 315, - 316, 687, 688, 689, 317, 318, 319, 320, 321, 322, - 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, - 708, 709, 323, 910, 1301, 24, 25, 26, 27, 28, - 29, 30, 31, 724, 32, 331, 34, 35, 725, 37, - 38, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 324, 806, 325, 326, 327, 348, 50, - 332, 813, 353, 361, 369, 817, 380, 381, 383, 416, - 417, 418, 845, 51, 52, 289, 290, 180, 181, 419, - 439, 182, 757, 420, 836, 421, 467, 422, 423, 424, - 765, 766, 444, 425, 178, 179, 180, 181, 426, 427, - 182, 93, 428, 429, 230, 430, 431, 779, 432, 781, - 433, 783, 434, 289, 290, 180, 181, 435, 436, 182, - 437, 438, 799, 800, 471, 440, 441, 55, 442, 443, - 501, 449, 445, 448, 450, 812, 452, 814, 451, 816, - 289, 290, 180, 181, 453, 454, 182, 456, 457, 826, - 377, 472, 459, 481, 460, 461, 833, 834, 835, 289, - 290, 180, 181, 840, 466, 182, 482, 844, 488, 514, - 592, 515, 847, 848, 516, 517, 519, 529, 530, 531, - 24, 25, 26, 27, 28, 29, 30, 31, 852, 32, - 560, 34, 35, 532, 37, 38, 533, 534, 535, 861, - 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, - 872, 561, 566, 935, 50, 536, 936, 568, 577, 289, - 290, 180, 181, 537, 538, 182, 886, 576, 51, 52, - 774, 289, 290, 180, 181, 578, 579, 182, 958, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 539, 582, 583, 972, 584, 540, 585, 289, 290, - 180, 181, 541, 542, 182, 586, 913, 914, 915, 969, - 289, 290, 180, 181, 543, 587, 182, 289, 290, 180, - 181, 970, 55, 182, 544, 932, 933, 545, 971, 588, - 610, 546, 937, 547, 940, 548, 942, 549, 289, 290, - 180, 181, 598, 948, 182, 550, 615, 551, 552, 987, - 553, 956, 289, 290, 180, 181, 961, 554, 182, 964, - 617, 291, 555, 968, 556, 1028, 1029, 557, 697, 558, - 559, 562, 974, 975, 976, 977, 978, 979, 980, 981, - 982, 983, 984, 985, 589, 289, 290, 180, 181, 599, - 1048, 182, 620, 600, 601, 994, 1008, 602, 603, 68, - 69, 621, 618, 604, 605, 70, 71, 72, 73, 74, + 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, + 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, 89, 90, 289, 290, 180, 181, - 606, 607, 182, 289, 290, 180, 181, 1063, 1088, 182, - 626, 619, 334, 1030, 1031, 1032, 1033, 289, 290, 180, - 181, 608, 1102, 182, 289, 290, 180, 181, 1122, 627, - 182, 631, 609, 632, 633, 1173, 1049, 1050, 1051, 1052, - 1053, 1054, 1055, 1056, 1057, 289, 290, 180, 181, 634, - 635, 182, 638, 640, 641, 1066, 1201, 289, 290, 180, - 181, 644, 645, 182, 289, 290, 180, 181, 1230, 646, - 182, 647, 1151, 336, 289, 290, 180, 181, 648, 657, - 182, 660, 658, 337, 659, 661, 1091, 1092, 289, 290, - 180, 181, 662, 664, 182, 667, 669, 339, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1113, 1115, 1117, - 91, 92, 671, 672, 690, 1123, 712, 93, 718, 717, - 230, 723, 726, 1190, 289, 290, 180, 181, 729, 730, - 182, 731, 733, 343, 289, 290, 180, 181, 732, 734, - 182, 1146, 1147, 344, 735, 1149, 736, 737, 801, 738, - 1216, 739, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 740, 1167, 741, 1169, 289, 290, 180, 181, - 742, 1174, 182, 743, 758, 349, 744, 745, 1246, 289, - 290, 180, 181, 746, 747, 182, 748, 754, 382, 289, - 290, 180, 181, 1186, 1187, 182, 749, 759, 385, 1191, - 1192, 1193, 1194, 1195, 1196, 750, 751, 1267, 289, 290, - 180, 181, 752, 753, 182, 755, 762, 393, 763, 756, - 764, 1281, 1214, 767, 768, 769, 770, 1218, 1219, 1220, - 1221, 1222, 1223, 1225, 1227, 1229, 289, 290, 180, 181, - 771, 772, 182, 773, 780, 394, 289, 290, 180, 181, - 782, 786, 182, 805, 362, 1248, 1249, 1250, 1251, 1252, - 1253, 1254, 807, 1256, 808, 1258, 289, 290, 180, 181, - 810, 811, 182, 815, 818, 395, 819, 820, 821, 825, - 822, 824, 828, 1268, 1269, 1270, 289, 290, 180, 181, - 827, 829, 182, 830, 831, 396, 837, 1282, 1283, 1284, - 1286, 1288, 1290, 289, 290, 180, 181, 838, 841, 182, - 842, 851, 397, 853, 1302, 1303, 1304, 1305, 843, 1307, - 846, 1309, 289, 290, 180, 181, 854, 855, 182, 856, - 879, 398, 289, 290, 180, 181, 880, 885, 182, 887, - 363, 1323, 1325, 1327, 889, 289, 290, 180, 181, 890, - 1334, 182, 1336, 403, 1338, 68, 69, 891, 917, 892, - 893, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 68, 69, 184, 895, 916, 938, 70, 71, + 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, 1039, 633, 285, 286, 177, + 178, 634, 637, 179, 639, 640, 643, 1201, 1064, 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, 1202, 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, 1259, 1367, + 765, 1369, 285, 286, 177, 178, 766, 768, 179, 285, + 286, 177, 178, 1275, 696, 179, 769, 814, 793, 795, + 1290, 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, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 285, 286, 177, 178, 837, 838, 179, 839, + 842, 332, 841, 285, 286, 177, 178, 844, 845, 179, + 66, 67, 333, 848, 846, 1248, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 68, - 939, 896, 897, 901, 905, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 902, 934, 941, 903, - 185, 186, 187, 944, 947, 906, 908, 952, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 949, 951, - 953, 954, 955, 957, 959, 960, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 962, 208, 209, 210, - 211, 212, 213, 289, 290, 180, 181, 963, 965, 182, - 966, 967, 399, 973, 988, 989, 178, 179, 180, 181, - 991, 995, 182, 93, 289, 290, 180, 181, 996, 997, - 182, 999, 1000, 400, 1002, 1006, 289, 290, 180, 181, - 1004, 1007, 182, 91, 92, 401, 1009, 1010, -3, 22, - 93, 1026, 23, 289, 290, 180, 181, 1013, 1027, 182, - 1038, 1039, 402, 289, 290, 180, 181, 1040, 1042, 182, - 91, 92, 404, 1061, 1043, 1044, 1045, 93, 24, 25, - 26, 27, 28, 29, 30, 31, 1046, 32, 33, 34, - 35, 36, 37, 38, 1062, 1067, 1068, 1089, 1069, 39, - 40, 41, 42, 43, 44, 1071, 45, 46, 47, 48, - 49, 1070, 50, 289, 290, 180, 181, 1072, 1073, 182, - 1075, 1085, 405, 1099, 1086, 1087, 51, 52, 289, 290, - 180, 181, 53, 1100, 182, 1090, 54, 406, 289, 290, - 180, 181, 1096, 1118, 182, 1097, 1101, 407, 289, 290, - 180, 181, 1119, 1126, 182, 1127, 1145, 408, 289, 290, - 180, 181, 1124, 1125, 182, 1148, 1152, 409, 289, 290, - 180, 181, 1153, 1128, 182, 1129, 1154, 455, 1155, 1166, - 55, 289, 290, 180, 181, 1168, 1170, 182, 1171, 1211, - 458, 289, 290, 180, 181, 1175, 1176, 182, 1203, 1202, - 468, 289, 290, 180, 181, 1204, 1215, 182, 1231, 1245, - 469, 289, 290, 180, 181, 1247, 1232, 182, 1212, 1213, - 473, 289, 290, 180, 181, 1255, 1257, 182, 1259, 1278, - 474, 289, 290, 180, 181, 1260, 1274, 182, 1291, 1279, - 475, 289, 290, 180, 181, 1280, 1306, 182, 1308, 1310, - 476, 289, 290, 180, 181, 1311, 1315, 182, 1319, 1320, - 477, 289, 290, 180, 181, 1321, 1335, 182, 1337, 1339, - 518, 289, 290, 180, 181, 1341, 1342, 182, 59, 60, - 523, 289, 290, 180, 181, 597, 61, 182, 0, 574, - 524, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 622, 289, 290, 180, 181, 1047, 804, 182, 0, 0, - 623, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 624, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 625, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 713, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 775, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 894, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 898, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 900, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 986, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1001, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1003, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1005, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1023, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1024, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1025, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1183, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1184, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1185, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1264, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1265, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1266, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1312, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1313, 289, 290, 180, 181, 0, 0, 182, 0, 0, - 1314, 289, 290, 180, 181, 0, 0, 182, 0, 410, - 289, 290, 180, 181, 0, 0, 182, 0, 411, 289, - 290, 180, 181, 0, 0, 182, 0, 412, 289, 290, - 180, 181, 0, 0, 182, 0, 484, 289, 290, 180, - 181, 0, 0, 182, 0, 485, 289, 290, 180, 181, - 0, 0, 182, 0, 486, 289, 290, 180, 181, 0, - 0, 182, 0, 590, 289, 290, 180, 181, 0, 0, - 182, 0, 591, 289, 290, 180, 181, 0, 0, 182, - 0, 710, 289, 290, 180, 181, 0, 0, 182, 0, - 711, 289, 290, 180, 181, 0, 0, 182, 0, 727, - 289, 290, 180, 181, 0, 0, 182, 0, 728, 289, - 290, 180, 181, 0, 0, 182, 0, 761, 289, 290, - 180, 181, 0, 0, 182, 0, 787, 289, 290, 180, - 181, 0, 0, 182, 0, 788, 289, 290, 180, 181, - 0, 0, 182, 0, 789, 289, 290, 180, 181, 0, - 0, 182, 0, 790, 289, 290, 180, 181, 0, 0, - 182, 0, 791, 289, 290, 180, 181, 0, 0, 182, - 0, 792, 289, 290, 180, 181, 0, 0, 182, 0, - 793, 289, 290, 180, 181, 0, 0, 182, 0, 794, - 289, 290, 180, 181, 0, 0, 182, 0, 795, 289, - 290, 180, 181, 0, 0, 182, 0, 796, 289, 290, - 180, 181, 0, 0, 182, 0, 797, 289, 290, 180, - 181, 0, 0, 182, 0, 798, 289, 290, 180, 181, - 0, 0, 182, 0, 873, 289, 290, 180, 181, 0, - 0, 182, 0, 874, 289, 290, 180, 181, 0, 0, - 182, 0, 884, 289, 290, 180, 181, 0, 0, 182, - 0, 888, 289, 290, 180, 181, 0, 0, 182, 0, - 899, 289, 290, 180, 181, 0, 0, 182, 0, 904, - 289, 290, 180, 181, 0, 0, 182, 0, 907, 289, - 290, 180, 181, 0, 0, 182, 0, 909, 289, 290, - 180, 181, 0, 0, 182, 0, 920, 289, 290, 180, - 181, 0, 0, 182, 0, 921, 289, 290, 180, 181, - 0, 0, 182, 0, 922, 289, 290, 180, 181, 0, - 0, 182, 0, 923, 289, 290, 180, 181, 0, 0, - 182, 0, 924, 289, 290, 180, 181, 0, 0, 182, - 0, 925, 289, 290, 180, 181, 0, 0, 182, 0, - 926, 289, 290, 180, 181, 0, 0, 182, 0, 927, - 289, 290, 180, 181, 0, 0, 182, 0, 928, 289, - 290, 180, 181, 0, 0, 182, 0, 929, 289, 290, - 180, 181, 0, 0, 182, 0, 930, 289, 290, 180, - 181, 0, 0, 182, 0, 931, 289, 290, 180, 181, - 0, 0, 182, 0, 992, 289, 290, 180, 181, 0, - 0, 182, 0, 993, 289, 290, 180, 181, 0, 0, - 182, 0, 998, 289, 290, 180, 181, 0, 0, 182, - 0, 1014, 289, 290, 180, 181, 0, 0, 182, 0, - 1015, 289, 290, 180, 181, 0, 0, 182, 0, 1016, - 289, 290, 180, 181, 0, 0, 182, 0, 1017, 289, - 290, 180, 181, 0, 0, 182, 0, 1018, 289, 290, - 180, 181, 0, 0, 182, 0, 1019, 289, 290, 180, - 181, 0, 0, 182, 0, 1020, 289, 290, 180, 181, - 0, 0, 182, 0, 1021, 289, 290, 180, 181, 0, - 0, 182, 0, 1022, 289, 290, 180, 181, 0, 0, - 182, 0, 1064, 289, 290, 180, 181, 0, 0, 182, - 0, 1065, 289, 290, 180, 181, 0, 0, 182, 0, - 1076, 289, 290, 180, 181, 0, 0, 182, 0, 1077, - 289, 290, 180, 181, 0, 0, 182, 0, 1078, 289, - 290, 180, 181, 0, 0, 182, 0, 1079, 289, 290, - 180, 181, 0, 0, 182, 0, 1080, 289, 290, 180, - 181, 0, 0, 182, 0, 1081, 289, 290, 180, 181, - 0, 0, 182, 0, 1082, 289, 290, 180, 181, 0, - 0, 182, 0, 1083, 289, 290, 180, 181, 0, 0, - 182, 0, 1084, 289, 290, 180, 181, 0, 0, 182, - 0, 1130, 289, 290, 180, 181, 0, 0, 182, 0, - 1131, 289, 290, 180, 181, 0, 0, 182, 0, 1132, - 289, 290, 180, 181, 0, 0, 182, 0, 1133, 289, - 290, 180, 181, 0, 0, 182, 0, 1134, 289, 290, - 180, 181, 0, 0, 182, 0, 1135, 289, 290, 180, - 181, 0, 0, 182, 0, 1136, 289, 290, 180, 181, - 0, 0, 182, 0, 1137, 289, 290, 180, 181, 0, - 0, 182, 0, 1138, 289, 290, 180, 181, 0, 0, - 182, 0, 1172, 289, 290, 180, 181, 0, 0, 182, - 0, 1177, 289, 290, 180, 181, 0, 0, 182, 0, - 1178, 289, 290, 180, 181, 0, 0, 182, 0, 1179, - 289, 290, 180, 181, 0, 0, 182, 0, 1180, 289, - 290, 180, 181, 0, 0, 182, 0, 1181, 289, 290, - 180, 181, 0, 0, 182, 0, 1182, 289, 290, 180, - 181, 0, 0, 182, 0, 1200, 289, 290, 180, 181, - 0, 0, 182, 0, 1205, 289, 290, 180, 181, 0, - 0, 182, 0, 1206, 289, 290, 180, 181, 0, 0, - 182, 0, 1207, 289, 290, 180, 181, 0, 0, 182, - 0, 1208, 289, 290, 180, 181, 0, 0, 182, 0, - 1209, 289, 290, 180, 181, 0, 0, 182, 0, 1210, - 289, 290, 180, 181, 0, 0, 182, 0, 1233, 289, - 290, 180, 181, 0, 0, 182, 0, 1234, 289, 290, - 180, 181, 0, 0, 182, 0, 1235, 289, 290, 180, - 181, 0, 0, 182, 0, 1236, 289, 290, 180, 181, - 0, 0, 182, 0, 1237, 289, 290, 180, 181, 0, - 0, 182, 0, 1238, 289, 290, 180, 181, 0, 0, - 182, 0, 1261, 289, 290, 180, 181, 0, 0, 182, - 0, 1262, 289, 290, 180, 181, 0, 0, 182, 0, - 1263, 289, 290, 180, 181, 0, 0, 182, 0, 1275, - 289, 290, 180, 181, 0, 0, 182, 0, 1276, 289, - 290, 180, 181, 0, 0, 182, 0, 1277, 289, 290, - 180, 181, 0, 0, 182, 0, 1292, 289, 290, 180, - 181, 0, 0, 182, 0, 1293, 289, 290, 180, 181, - 0, 0, 182, 0, 1294 + 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, 335, 285, 286, 177, + 178, 870, 872, 179, 873, 896, 339, 285, 286, 177, + 178, 897, 902, 179, 906, 910, 340, 919, 285, 286, + 177, 178, 914, 1327, 179, 950, 968, 345, 89, 90, + 285, 286, 177, 178, 918, 899, 179, 1341, 132, 378, + 285, 286, 177, 178, 921, 923, 179, 924, 951, 381, + 285, 286, 177, 178, 925, 927, 179, 926, 930, 390, + 285, 286, 177, 178, 931, 929, 179, 936, 972, 391, + 937, 975, 935, 89, 90, 940, 939, 942, 976, 979, + 91, -3, 22, 227, 981, 23, 285, 286, 177, 178, + 983, 985, 179, 987, 989, 392, 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, 393, 1041, 1043, 1044, 51, + 52, 285, 286, 177, 178, 1046, 53, 179, 1051, 1047, + 394, 285, 286, 177, 178, 1048, 1052, 179, 1049, 1055, + 395, 285, 286, 177, 178, 1053, 1058, 179, 1056, 1060, + 396, 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, 397, 285, + 286, 177, 178, 1127, 1124, 179, 1153, 1155, 398, 285, + 286, 177, 178, 1125, 1128, 179, 1129, 1142, 399, 285, + 286, 177, 178, 1130, 1132, 179, 1156, 1261, 401, 285, + 286, 177, 178, 1143, 1144, 179, 1147, 1157, 402, 285, + 286, 177, 178, 1174, 1181, 179, 1175, 1182, 403, 285, + 286, 177, 178, 1179, 1200, 179, 1180, 1207, 404, 285, + 286, 177, 178, 1183, 1184, 179, 1208, 1209, 405, 285, + 286, 177, 178, 1210, 1221, 179, 1223, 1225, 406, 285, + 286, 177, 178, 1226, 1228, 179, 1231, 1270, 452, 285, + 286, 177, 178, 1232, 1262, 179, 1263, 1271, 455, 285, + 286, 177, 178, 1274, 1272, 179, 1291, 1305, 465, 285, + 286, 177, 178, 1307, 1292, 179, 1315, 1317, 466, 285, + 286, 177, 178, 1319, 1320, 179, 1334, 1338, 470, 285, + 286, 177, 178, 1339, 1340, 179, 1351, 1366, 471, 285, + 286, 177, 178, 1368, 1370, 179, 1375, 1371, 472, 285, + 286, 177, 178, 1379, 1380, 179, 1395, 1381, 473, 285, + 286, 177, 178, 1397, 1399, 179, 1401, 1402, 474, 285, + 286, 177, 178, 595, 58, 179, 59, 60, 515, 285, + 286, 177, 178, 1103, 572, 179, 817, 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, 1038, 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 }; static const short yycheck[] = { 7, - 104, 249, 859, 63, 34, 801, 0, 1, 6, 3, - 57, 85, 86, 87, 6, 7, 137, 4, 81, 135, - 6, 6, 618, 619, 151, 57, 59, 154, 144, 145, - 146, 147, 65, 59, 150, 6, 119, 41, 6, 65, - 59, 124, 6, 41, 7, 6, 65, 734, 144, 145, - 146, 147, 6, 6, 150, 30, 743, 6, 33, 34, - 143, 157, 8, 750, 147, 148, 6, 138, 30, 6, - 151, 33, 6, 144, 145, 146, 147, 152, 46, 150, - 155, 155, 151, 91, 92, 93, 94, 30, 151, 151, - 33, 34, 888, 36, 154, 33, 34, 6, 36, 107, - 108, 109, 110, 111, 151, 113, 114, 154, 116, 117, - 118, 6, 120, 107, 108, 109, 110, 111, 112, 113, - 114, 151, 154, 6, 720, 133, 134, 151, 132, 155, - 6, 146, 147, 137, 151, 150, 155, 154, 7, 133, - 134, 149, 136, 151, 38, 152, 153, 155, 156, 157, + 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, 172, 173, 174, 154, 154, 154, - 178, 179, 180, 181, 182, 183, 144, 145, 146, 147, - 48, 49, 150, 144, 145, 146, 147, 152, 153, 150, - 1047, 144, 145, 146, 147, 151, 151, 150, 144, 145, - 146, 147, 889, 151, 150, 34, 893, 144, 145, 146, - 147, 152, 151, 150, 155, 223, 152, 152, 226, 155, - 155, 151, 230, 36, 154, 34, 234, 235, 236, 154, - 238, 239, 240, 241, 242, 243, 244, 51, 52, 53, - 54, 34, 56, 251, 252, 253, 154, 154, 5, 144, - 145, 146, 147, 34, 258, 150, 264, 154, 6, 267, - 268, 144, 145, 146, 147, 5, 151, 150, 144, 145, - 146, 147, 152, 152, 150, 155, 155, 3, 4, 154, - 41, 289, 290, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 152, 34, 151, 155, 995, 996, - 997, 998, 5, 152, 152, 1002, 155, 155, 30, 31, - 32, 33, 34, 35, 36, 37, 151, 39, 151, 41, - 42, 135, 44, 45, 138, 152, 140, 6, 155, 151, - 348, 152, 146, 147, 155, 353, 150, 152, 135, 151, - 155, 138, 64, 140, 362, 363, 151, 361, 154, 146, - 147, 369, 152, 150, 150, 155, 78, 79, 376, 152, - 453, 454, 155, 456, 151, 151, 135, 460, 461, 152, - 1067, 1068, 155, 151, 1071, 144, 145, 146, 147, 152, - 152, 150, 155, 155, 154, 403, 92, 93, 94, 95, - 96, 151, 410, 411, 412, 144, 145, 146, 147, 141, - 151, 150, 144, 152, 151, 151, 155, 151, 144, 145, - 132, 144, 145, 146, 147, 151, 151, 150, 5, 152, - 156, 151, 155, 516, 151, 151, 519, 1124, 144, 145, - 146, 147, 690, 155, 150, 154, 152, 451, 151, 155, - 151, 151, 151, 151, 462, 463, 539, 540, 562, 151, - 151, 151, 545, 546, 0, 1, 151, 3, 151, 552, - 151, 554, 151, 144, 145, 146, 147, 154, 154, 150, - 484, 485, 486, 566, 155, 568, 154, 154, 1175, 154, - 151, 151, 151, 151, 577, 578, 579, 151, 151, 582, - 583, 584, 585, 586, 587, 588, 514, 515, 151, 517, - 144, 145, 146, 147, 151, 151, 150, 1204, 151, 151, - 151, 155, 151, 531, 532, 144, 145, 146, 147, 533, - 151, 150, 152, 3, 4, 151, 155, 151, 542, 9, + 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, - 140, 151, 151, 571, 144, 145, 146, 147, 576, 151, - 150, 107, 108, 109, 110, 111, 112, 113, 114, 151, - 151, 589, 590, 591, 151, 151, 151, 151, 151, 151, + 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, - 608, 609, 151, 851, 1291, 30, 31, 32, 33, 34, - 35, 36, 37, 621, 39, 153, 41, 42, 626, 44, - 45, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 151, 717, 151, 151, 151, 7, 64, - 152, 724, 7, 152, 152, 728, 7, 7, 82, 5, - 5, 5, 756, 78, 79, 144, 145, 146, 147, 5, - 125, 150, 666, 5, 747, 5, 155, 5, 5, 5, - 678, 679, 3, 5, 144, 145, 146, 147, 5, 5, - 150, 151, 5, 5, 154, 5, 5, 691, 5, 693, - 5, 695, 5, 144, 145, 146, 147, 5, 5, 150, - 5, 5, 710, 711, 155, 5, 5, 132, 5, 5, - 155, 6, 5, 5, 5, 723, 6, 725, 7, 727, - 144, 145, 146, 147, 7, 7, 150, 7, 6, 737, - 155, 155, 6, 155, 7, 7, 744, 745, 746, 144, - 145, 146, 147, 751, 7, 150, 155, 755, 154, 151, - 155, 154, 760, 761, 7, 151, 7, 139, 152, 152, - 30, 31, 32, 33, 34, 35, 36, 37, 776, 39, - 5, 41, 42, 152, 44, 45, 152, 152, 152, 787, - 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, - 798, 153, 7, 876, 64, 152, 879, 7, 7, 144, - 145, 146, 147, 152, 152, 150, 814, 154, 78, 79, - 155, 144, 145, 146, 147, 7, 7, 150, 901, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 152, 7, 7, 917, 7, 152, 7, 144, 145, - 146, 147, 152, 152, 150, 7, 854, 855, 856, 155, - 144, 145, 146, 147, 152, 7, 150, 144, 145, 146, - 147, 155, 132, 150, 152, 873, 874, 152, 155, 7, - 6, 152, 880, 152, 882, 152, 884, 152, 144, 145, - 146, 147, 151, 891, 150, 152, 7, 152, 152, 155, - 152, 899, 144, 145, 146, 147, 904, 152, 150, 907, - 154, 153, 152, 911, 152, 988, 989, 152, 155, 152, - 152, 152, 920, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 152, 144, 145, 146, 147, 151, - 1013, 150, 7, 151, 151, 943, 155, 151, 151, 3, - 4, 7, 154, 151, 151, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 144, 145, 146, 147, - 151, 151, 150, 144, 145, 146, 147, 155, 1061, 150, - 135, 154, 153, 991, 992, 993, 994, 144, 145, 146, - 147, 151, 1075, 150, 144, 145, 146, 147, 155, 3, - 150, 3, 151, 3, 146, 155, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 144, 145, 146, 147, 3, - 3, 150, 3, 3, 3, 1033, 155, 144, 145, 146, - 147, 3, 3, 150, 144, 145, 146, 147, 155, 3, - 150, 3, 1125, 153, 144, 145, 146, 147, 3, 3, - 150, 3, 5, 153, 5, 3, 1064, 1065, 144, 145, - 146, 147, 6, 6, 150, 6, 6, 153, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, - 144, 145, 6, 6, 154, 1093, 6, 151, 4, 83, - 154, 154, 152, 1176, 144, 145, 146, 147, 153, 152, - 150, 153, 153, 153, 144, 145, 146, 147, 152, 152, - 150, 1119, 1120, 153, 153, 1123, 152, 152, 7, 153, - 1203, 152, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 153, 1141, 153, 1143, 144, 145, 146, 147, - 152, 1149, 150, 152, 6, 153, 152, 152, 1231, 144, - 145, 146, 147, 152, 152, 150, 153, 153, 153, 144, - 145, 146, 147, 1171, 1172, 150, 152, 6, 153, 1177, - 1178, 1179, 1180, 1181, 1182, 152, 152, 1260, 144, 145, - 146, 147, 152, 152, 150, 152, 6, 153, 6, 152, - 6, 1274, 1200, 6, 6, 6, 6, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 144, 145, 146, 147, - 6, 6, 150, 6, 6, 153, 144, 145, 146, 147, - 6, 6, 150, 83, 152, 1233, 1234, 1235, 1236, 1237, - 1238, 1239, 7, 1241, 155, 1243, 144, 145, 146, 147, - 155, 155, 150, 3, 6, 153, 3, 6, 146, 3, - 6, 6, 3, 1261, 1262, 1263, 144, 145, 146, 147, - 6, 6, 150, 6, 3, 153, 6, 1275, 1276, 1277, - 1278, 1279, 1280, 144, 145, 146, 147, 3, 3, 150, - 3, 154, 153, 155, 1292, 1293, 1294, 1295, 6, 1297, - 6, 1299, 144, 145, 146, 147, 152, 152, 150, 152, - 154, 153, 144, 145, 146, 147, 80, 6, 150, 153, - 152, 1319, 1320, 1321, 152, 144, 145, 146, 147, 152, - 1328, 150, 1330, 152, 1332, 3, 4, 152, 154, 153, - 152, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 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, + 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, 3, 4, 33, 152, 6, 6, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, - 4, 153, 153, 152, 152, 9, 10, 11, 12, 13, + 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, 153, 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, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 153, 83, 6, 153, - 89, 90, 91, 6, 3, 153, 152, 3, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 6, 6, - 6, 6, 6, 6, 6, 6, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 3, 126, 127, 128, - 129, 130, 131, 144, 145, 146, 147, 6, 5, 150, - 5, 155, 153, 6, 154, 152, 144, 145, 146, 147, - 152, 152, 150, 151, 144, 145, 146, 147, 152, 152, - 150, 153, 153, 153, 152, 152, 144, 145, 146, 147, - 153, 152, 150, 144, 145, 153, 6, 6, 0, 1, - 151, 6, 4, 144, 145, 146, 147, 152, 6, 150, - 6, 6, 153, 144, 145, 146, 147, 6, 6, 150, - 144, 145, 153, 152, 6, 6, 5, 151, 30, 31, - 32, 33, 34, 35, 36, 37, 5, 39, 40, 41, - 42, 43, 44, 45, 155, 152, 152, 80, 153, 51, - 52, 53, 54, 55, 56, 152, 58, 59, 60, 61, - 62, 153, 64, 144, 145, 146, 147, 152, 152, 150, - 152, 154, 153, 5, 154, 154, 78, 79, 144, 145, - 146, 147, 84, 5, 150, 6, 88, 153, 144, 145, - 146, 147, 6, 155, 150, 6, 6, 153, 144, 145, - 146, 147, 154, 153, 150, 153, 80, 153, 144, 145, - 146, 147, 152, 152, 150, 6, 6, 153, 144, 145, - 146, 147, 6, 155, 150, 155, 6, 153, 6, 6, - 132, 144, 145, 146, 147, 6, 6, 150, 154, 154, - 153, 144, 145, 146, 147, 152, 152, 150, 152, 141, - 153, 144, 145, 146, 147, 152, 6, 150, 152, 6, - 153, 144, 145, 146, 147, 6, 153, 150, 154, 154, - 153, 144, 145, 146, 147, 6, 6, 150, 6, 154, - 153, 144, 145, 146, 147, 152, 152, 150, 152, 154, - 153, 144, 145, 146, 147, 154, 6, 150, 6, 6, - 153, 144, 145, 146, 147, 153, 6, 150, 154, 154, - 153, 144, 145, 146, 147, 154, 6, 150, 6, 6, - 153, 144, 145, 146, 147, 0, 0, 150, 6, 6, - 153, 144, 145, 146, 147, 488, 6, 150, -1, 463, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, 1012, 715, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, -1, - 153, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152, 144, 145, 146, 147, -1, - -1, 150, -1, 152, 144, 145, 146, 147, -1, -1, - 150, -1, 152, 144, 145, 146, 147, -1, -1, 150, - -1, 152, 144, 145, 146, 147, -1, -1, 150, -1, - 152, 144, 145, 146, 147, -1, -1, 150, -1, 152, - 144, 145, 146, 147, -1, -1, 150, -1, 152, 144, - 145, 146, 147, -1, -1, 150, -1, 152, 144, 145, - 146, 147, -1, -1, 150, -1, 152, 144, 145, 146, - 147, -1, -1, 150, -1, 152, 144, 145, 146, 147, - -1, -1, 150, -1, 152 + 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, + 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, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 146, 147, 148, 149, 6, 148, 152, 6, + 3, 155, 6, 146, 147, 148, 149, 6, 3, 152, + 3, 4, 155, 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, 155, 6, 155, + 155, 6, 154, 146, 147, 155, 154, 154, 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 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/lib/bison.simple" -/* This file comes from bison-1.28. */ +#line 3 "/usr/local/share/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -1532,66 +1608,46 @@ 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., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 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. */ -/* 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 */ +#ifndef alloca #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) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) #include <alloca.h> #else /* not sparc */ -/* 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. */ +#if defined (MSDOS) && !defined (__TURBOC__) #include <malloc.h> -#endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) -/* 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> */ +#include <malloc.h> #pragma alloca -#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 +#else /* not MSDOS, __TURBOC__, or _AIX */ +#ifdef __hpux +#ifdef __cplusplus +extern "C" { +void *alloca (unsigned int); +}; +#else /* not __cplusplus */ +void *alloca (); +#endif /* not __cplusplus */ #endif /* __hpux */ -#endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ +#endif /* not sparc. */ +#endif /* not GNU C. */ +#endif /* alloca not defined. */ -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif +/* 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. */ /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action @@ -1601,8 +1657,8 @@ static const short yycheck[] = { 7, #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab +#define YYACCEPT return(0) +#define YYABORT return(1) #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -1683,12 +1739,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #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. */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +int yyparse (void); +#endif + #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++ */ @@ -1700,7 +1756,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - unsigned int count; + int count; { register char *f = from; register char *t = to; @@ -1715,10 +1771,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, unsigned int count) +__yy_memcpy (char *to, char *from, int count) { - register char *t = to; register char *f = from; + register char *t = to; register int i = count; while (i-- > 0) @@ -1728,7 +1784,7 @@ __yy_memcpy (char *to, char *from, unsigned int count) #endif #endif -#line 217 "/usr/lib/bison.simple" +#line 196 "/usr/local/share/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 *. @@ -1749,15 +1805,6 @@ __yy_memcpy (char *to, char *from, unsigned 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 @@ -1786,7 +1833,6 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; - int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -1871,32 +1917,18 @@ 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; -#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)); + 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)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, - size * (unsigned int) sizeof (*yylsp)); + yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -2057,7 +2089,7 @@ yyreduce: switch (yyn) { case 4: -#line 126 "Gmsh.y" +#line 122 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -2066,7 +2098,7 @@ case 4: ; break;} case 5: -#line 140 "Gmsh.y" +#line 136 "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, @@ -2075,7 +2107,7 @@ case 5: ; break;} case 6: -#line 147 "Gmsh.y" +#line 143 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format Read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -2083,83 +2115,83 @@ case 6: ; break;} case 9: -#line 164 "Gmsh.y" +#line 160 "Gmsh.y" { return 1; ; break;} case 10: -#line 165 "Gmsh.y" +#line 161 "Gmsh.y" { return 1; ; break;} case 11: -#line 166 "Gmsh.y" +#line 162 "Gmsh.y" { return 1; ; break;} case 12: -#line 167 "Gmsh.y" +#line 163 "Gmsh.y" { yyerrok ; return 1; ; break;} case 13: -#line 172 "Gmsh.y" +#line 168 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format"); Create_Step_Solid_BRep(); ; break;} case 14: -#line 177 "Gmsh.y" +#line 173 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read"); Resolve_BREP (); ; break;} case 18: -#line 188 "Gmsh.y" +#line 184 "Gmsh.y" { ; break;} case 19: -#line 191 "Gmsh.y" +#line 187 "Gmsh.y" { ; break;} case 20: -#line 195 "Gmsh.y" +#line 191 "Gmsh.y" { ; break;} case 21: -#line 201 "Gmsh.y" +#line 197 "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 207 "Gmsh.y" +#line 203 "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 214 "Gmsh.y" +#line 210 "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 220 "Gmsh.y" +#line 216 "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 224 "Gmsh.y" +#line 220 "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 228 "Gmsh.y" +#line 224 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a Face Bound"); @@ -2167,285 +2199,285 @@ case 26: ; break;} case 27: -#line 235 "Gmsh.y" +#line 231 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 28: -#line 239 "Gmsh.y" +#line 235 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 29: -#line 244 "Gmsh.y" +#line 240 "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 248 "Gmsh.y" +#line 244 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 31: -#line 252 "Gmsh.y" +#line 248 "Gmsh.y" { ; break;} case 32: -#line 256 "Gmsh.y" +#line 252 "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 260 "Gmsh.y" +#line 256 "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 264 "Gmsh.y" +#line 260 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 35: -#line 268 "Gmsh.y" +#line 264 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 36: -#line 272 "Gmsh.y" +#line 268 "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 278 "Gmsh.y" +#line 274 "Gmsh.y" { ; break;} case 38: -#line 281 "Gmsh.y" +#line 277 "Gmsh.y" { ; break;} case 39: -#line 284 "Gmsh.y" +#line 280 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 40: -#line 288 "Gmsh.y" +#line 284 "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 292 "Gmsh.y" +#line 288 "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 296 "Gmsh.y" +#line 292 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 300 "Gmsh.y" +#line 296 "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 305 "Gmsh.y" +#line 301 "Gmsh.y" { ; break;} case 45: -#line 308 "Gmsh.y" +#line 304 "Gmsh.y" { ; break;} case 46: -#line 312 "Gmsh.y" +#line 308 "Gmsh.y" { ; break;} case 47: -#line 315 "Gmsh.y" +#line 311 "Gmsh.y" { ; break;} case 48: -#line 319 "Gmsh.y" +#line 315 "Gmsh.y" { ; break;} case 49: -#line 322 "Gmsh.y" +#line 318 "Gmsh.y" { ; break;} case 50: -#line 325 "Gmsh.y" +#line 321 "Gmsh.y" { ; break;} case 52: -#line 336 "Gmsh.y" +#line 332 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh File Format Read"); ; break;} case 53: -#line 342 "Gmsh.y" +#line 338 "Gmsh.y" { return 1; ; break;} case 54: -#line 343 "Gmsh.y" +#line 339 "Gmsh.y" { return 1; ; break;} case 55: -#line 344 "Gmsh.y" +#line 340 "Gmsh.y" { return 1; ; break;} case 56: -#line 345 "Gmsh.y" +#line 341 "Gmsh.y" { return 1; ; break;} case 57: -#line 346 "Gmsh.y" +#line 342 "Gmsh.y" { return 1; ; break;} case 58: -#line 347 "Gmsh.y" +#line 343 "Gmsh.y" { return 1; ; break;} case 59: -#line 348 "Gmsh.y" +#line 344 "Gmsh.y" { return 1; ; break;} case 60: -#line 349 "Gmsh.y" +#line 345 "Gmsh.y" { return 1; ; break;} case 61: -#line 350 "Gmsh.y" +#line 346 "Gmsh.y" { return 1; ; break;} case 62: -#line 351 "Gmsh.y" +#line 347 "Gmsh.y" { return 1; ; break;} case 63: -#line 352 "Gmsh.y" +#line 348 "Gmsh.y" { return 1; ; break;} case 64: -#line 353 "Gmsh.y" +#line 349 "Gmsh.y" { yyerrok; return 1;; break;} case 65: -#line 362 "Gmsh.y" +#line 358 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); ; break;} case 66: -#line 366 "Gmsh.y" +#line 362 "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 373 "Gmsh.y" +#line 369 "Gmsh.y" { BeginView(1); ; break;} case 80: -#line 392 "Gmsh.y" +#line 388 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 81: -#line 394 "Gmsh.y" +#line 390 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 82: -#line 399 "Gmsh.y" +#line 395 "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 404 "Gmsh.y" +#line 400 "Gmsh.y" { ActualView->NbSP++ ; ; break;} case 84: -#line 411 "Gmsh.y" +#line 407 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 85: -#line 413 "Gmsh.y" +#line 409 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 86: -#line 418 "Gmsh.y" +#line 414 "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 423 "Gmsh.y" +#line 419 "Gmsh.y" { ActualView->NbVP++ ; ; break;} case 88: -#line 430 "Gmsh.y" +#line 426 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 89: -#line 432 "Gmsh.y" +#line 428 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 90: -#line 437 "Gmsh.y" +#line 433 "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 442 "Gmsh.y" +#line 438 "Gmsh.y" { ActualView->NbTP++ ; ; break;} case 92: -#line 449 "Gmsh.y" +#line 445 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 93: -#line 451 "Gmsh.y" +#line 447 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 94: -#line 457 "Gmsh.y" +#line 453 "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); @@ -2453,21 +2485,21 @@ case 94: ; break;} case 95: -#line 463 "Gmsh.y" +#line 459 "Gmsh.y" { ActualView->NbSL++ ; ; break;} case 96: -#line 470 "Gmsh.y" +#line 466 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 97: -#line 472 "Gmsh.y" +#line 468 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 98: -#line 478 "Gmsh.y" +#line 474 "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); @@ -2475,21 +2507,21 @@ case 98: ; break;} case 99: -#line 484 "Gmsh.y" +#line 480 "Gmsh.y" { ActualView->NbVL++ ; ; break;} case 100: -#line 491 "Gmsh.y" +#line 487 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 101: -#line 493 "Gmsh.y" +#line 489 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 102: -#line 499 "Gmsh.y" +#line 495 "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); @@ -2497,21 +2529,21 @@ case 102: ; break;} case 103: -#line 505 "Gmsh.y" +#line 501 "Gmsh.y" { ActualView->NbTL++ ; ; break;} case 104: -#line 512 "Gmsh.y" +#line 508 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 105: -#line 514 "Gmsh.y" +#line 510 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 106: -#line 521 "Gmsh.y" +#line 517 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); List_Add(ActualView->ST, &yyvsp[-5].d); @@ -2522,21 +2554,21 @@ case 106: ; break;} case 107: -#line 530 "Gmsh.y" +#line 526 "Gmsh.y" { ActualView->NbST++ ; ; break;} case 108: -#line 537 "Gmsh.y" +#line 533 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 109: -#line 539 "Gmsh.y" +#line 535 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 110: -#line 546 "Gmsh.y" +#line 542 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); List_Add(ActualView->VT, &yyvsp[-5].d); @@ -2547,21 +2579,21 @@ case 110: ; break;} case 111: -#line 555 "Gmsh.y" +#line 551 "Gmsh.y" { ActualView->NbVT++ ; ; break;} case 112: -#line 562 "Gmsh.y" +#line 558 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 113: -#line 564 "Gmsh.y" +#line 560 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 114: -#line 571 "Gmsh.y" +#line 567 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); List_Add(ActualView->TT, &yyvsp[-5].d); @@ -2572,21 +2604,21 @@ case 114: ; break;} case 115: -#line 580 "Gmsh.y" +#line 576 "Gmsh.y" { ActualView->NbTT++ ; ; break;} case 116: -#line 587 "Gmsh.y" +#line 583 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 117: -#line 589 "Gmsh.y" +#line 585 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 118: -#line 597 "Gmsh.y" +#line 593 "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); @@ -2597,21 +2629,21 @@ case 118: ; break;} case 119: -#line 606 "Gmsh.y" +#line 602 "Gmsh.y" { ActualView->NbSS++ ; ; break;} case 120: -#line 613 "Gmsh.y" +#line 609 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 121: -#line 615 "Gmsh.y" +#line 611 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 122: -#line 623 "Gmsh.y" +#line 619 "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); @@ -2622,21 +2654,21 @@ case 122: ; break;} case 123: -#line 632 "Gmsh.y" +#line 628 "Gmsh.y" { ActualView->NbVS++ ; ; break;} case 124: -#line 639 "Gmsh.y" +#line 635 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 125: -#line 641 "Gmsh.y" +#line 637 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 126: -#line 649 "Gmsh.y" +#line 645 "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); @@ -2647,13 +2679,13 @@ case 126: ; break;} case 127: -#line 658 "Gmsh.y" +#line 654 "Gmsh.y" { ActualView->NbTS++ ; ; break;} case 128: -#line 671 "Gmsh.y" +#line 667 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; TheSymbol.val = yyvsp[-1].d; @@ -2661,7 +2693,7 @@ case 128: ; break;} case 129: -#line 688 "Gmsh.y" +#line 684 "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; @@ -2669,7 +2701,7 @@ case 129: ; break;} case 130: -#line 695 "Gmsh.y" +#line 691 "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; @@ -2677,7 +2709,7 @@ case 130: ; break;} case 131: -#line 701 "Gmsh.y" +#line 697 "Gmsh.y" { Vertex *v; Attractor *a; @@ -2698,7 +2730,7 @@ case 131: ; break;} case 132: -#line 720 "Gmsh.y" +#line 716 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -2711,14 +2743,14 @@ case 132: ; break;} case 133: -#line 731 "Gmsh.y" +#line 727 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 134: -#line 739 "Gmsh.y" +#line 735 "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; @@ -2726,7 +2758,7 @@ case 134: ; break;} case 135: -#line 745 "Gmsh.y" +#line 741 "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; @@ -2734,7 +2766,7 @@ case 135: ; break;} case 136: -#line 751 "Gmsh.y" +#line 747 "Gmsh.y" { Curve *c; Attractor *a; @@ -2755,7 +2787,7 @@ case 136: ; break;} case 137: -#line 770 "Gmsh.y" +#line 766 "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 ; @@ -2763,7 +2795,7 @@ case 137: ; break;} case 138: -#line 776 "Gmsh.y" +#line 772 "Gmsh.y" { List_T *temp; int i,j; @@ -2781,7 +2813,7 @@ case 138: ; break;} case 139: -#line 793 "Gmsh.y" +#line 789 "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 ; @@ -2789,7 +2821,7 @@ case 139: ; break;} case 140: -#line 799 "Gmsh.y" +#line 795 "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 ; @@ -2797,7 +2829,7 @@ case 140: ; break;} case 141: -#line 805 "Gmsh.y" +#line 801 "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; @@ -2805,7 +2837,7 @@ case 141: ; break;} case 142: -#line 811 "Gmsh.y" +#line 807 "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); @@ -2813,7 +2845,7 @@ case 142: ; break;} case 143: -#line 817 "Gmsh.y" +#line 813 "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; @@ -2821,7 +2853,7 @@ case 143: ; break;} case 144: -#line 823 "Gmsh.y" +#line 819 "Gmsh.y" { List_T *Temp; int i; @@ -2842,7 +2874,7 @@ case 144: ; break;} case 145: -#line 842 "Gmsh.y" +#line 838 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -2853,7 +2885,7 @@ case 145: ; break;} case 146: -#line 854 "Gmsh.y" +#line 850 "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; @@ -2861,7 +2893,7 @@ case 146: ; break;} case 147: -#line 860 "Gmsh.y" +#line 856 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-2].d,THEM); @@ -2882,7 +2914,7 @@ case 147: ; break;} case 148: -#line 879 "Gmsh.y" +#line 875 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -2905,7 +2937,7 @@ case 148: ; break;} case 149: -#line 902 "Gmsh.y" +#line 898 "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; @@ -2913,13 +2945,13 @@ case 149: ; break;} case 150: -#line 910 "Gmsh.y" +#line 906 "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 914 "Gmsh.y" +#line 910 "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; @@ -2927,7 +2959,7 @@ case 151: ; break;} case 152: -#line 920 "Gmsh.y" +#line 916 "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; @@ -2935,7 +2967,7 @@ case 152: ; break;} case 153: -#line 926 "Gmsh.y" +#line 922 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -2946,7 +2978,7 @@ case 153: ; break;} case 154: -#line 938 "Gmsh.y" +#line 934 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -2954,7 +2986,7 @@ case 154: ; break;} case 155: -#line 944 "Gmsh.y" +#line 940 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -2962,7 +2994,7 @@ case 155: ; break;} case 156: -#line 950 "Gmsh.y" +#line 946 "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; @@ -2970,60 +3002,60 @@ case 156: ; break;} case 157: -#line 963 "Gmsh.y" +#line 959 "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 968 "Gmsh.y" +#line 964 "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 973 "Gmsh.y" +#line 969 "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 978 "Gmsh.y" +#line 974 "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 985 "Gmsh.y" +#line 981 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 162: -#line 986 "Gmsh.y" +#line 982 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 163: -#line 987 "Gmsh.y" +#line 983 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 164: -#line 992 "Gmsh.y" +#line 988 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 165: -#line 996 "Gmsh.y" +#line 992 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 166: -#line 1008 "Gmsh.y" +#line 1004 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -3035,7 +3067,7 @@ case 166: ; break;} case 167: -#line 1026 "Gmsh.y" +#line 1022 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -3044,7 +3076,7 @@ case 167: ; break;} case 168: -#line 1041 "Gmsh.y" +#line 1037 "Gmsh.y" { yyinTab[RecursionLevel++] = yyin; strcpy(tmpstring, ThePathForIncludes); @@ -3068,14 +3100,14 @@ case 168: ; break;} case 169: -#line 1072 "Gmsh.y" +#line 1068 "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 1077 "Gmsh.y" +#line 1073 "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, @@ -3083,55 +3115,55 @@ case 170: ; break;} case 171: -#line 1083 "Gmsh.y" +#line 1079 "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 1087 "Gmsh.y" +#line 1083 "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 1091 "Gmsh.y" +#line 1087 "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 1095 "Gmsh.y" +#line 1091 "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 1099 "Gmsh.y" +#line 1095 "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 1104 "Gmsh.y" +#line 1100 "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 1112 "Gmsh.y" +#line 1108 "Gmsh.y" { ; break;} case 178: -#line 1115 "Gmsh.y" +#line 1111 "Gmsh.y" { ; break;} case 179: -#line 1121 "Gmsh.y" +#line 1117 "Gmsh.y" { double d; int j; @@ -3150,13 +3182,13 @@ case 179: ; break;} case 180: -#line 1138 "Gmsh.y" +#line 1134 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 181: -#line 1149 "Gmsh.y" +#line 1145 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -3175,7 +3207,7 @@ case 181: ; break;} case 182: -#line 1166 "Gmsh.y" +#line 1162 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -3194,7 +3226,7 @@ case 182: ; break;} case 183: -#line 1183 "Gmsh.y" +#line 1179 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -3213,7 +3245,7 @@ case 183: ; break;} case 184: -#line 1200 "Gmsh.y" +#line 1196 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -3236,7 +3268,7 @@ case 184: ; break;} case 185: -#line 1221 "Gmsh.y" +#line 1217 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -3258,7 +3290,7 @@ case 185: ; break;} case 186: -#line 1241 "Gmsh.y" +#line 1237 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -3280,7 +3312,7 @@ case 186: ; break;} case 187: -#line 1261 "Gmsh.y" +#line 1257 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -3299,7 +3331,7 @@ case 187: ; break;} case 188: -#line 1278 "Gmsh.y" +#line 1274 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -3318,74 +3350,163 @@ case 188: ; break;} case 189: -#line 1303 "Gmsh.y" +#line 1299 "Gmsh.y" { Coherence_PS(); ; break;} -case 191: -#line 1315 "Gmsh.y" -{ - i = (int)yyvsp[-12].d ; - if(i < 0 || i > 5) - vyyerror("Wrong Clip Plane Number %d", i); - else{ - CTX.clip[i] = 1; - CTX.clip_plane[i][0] = yyvsp[-8].d; - CTX.clip_plane[i][1] = yyvsp[-6].d; - CTX.clip_plane[i][2] = yyvsp[-4].d; - CTX.clip_plane[i][3] = yyvsp[-2].d; - } +case 199: +#line 1328 "Gmsh.y" +{ + if(!Set_StringOption(yyvsp[-3].c, GeneralOptions_String, yyvsp[-1].c)) + vyyerror("Unknown General Option (String) '%s'", yyvsp[-3].c); ; break;} -case 194: -#line 1336 "Gmsh.y" -{ ColorField = ColorGeneral; ; +case 200: +#line 1333 "Gmsh.y" +{ + if(!Set_NumberOption(yyvsp[-3].c, GeneralOptions_Number, yyvsp[-1].d)) + vyyerror("Unknown General Option (Number) '%s'", yyvsp[-3].c); + ; break;} -case 196: -#line 1339 "Gmsh.y" -{ ColorField = ColorGeometry; ; +case 201: +#line 1338 "Gmsh.y" +{ if(!Set_ArrayOption(yyvsp[-3].c, GeneralOptions_Array, yyvsp[-1].v)) + vyyerror("Unknown General Option (Array) '%s'", yyvsp[-3].c); + ; break;} -case 198: +case 202: #line 1342 "Gmsh.y" -{ ColorField = ColorMesh; ; +{ ColorField = GeneralOptions_Color; ; break;} -case 202: +case 206: #line 1353 "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" +{ + 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" +{ + 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" +{ ColorField = GeometryOptions_Color; ; + break;} +case 213: +#line 1379 "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" +{ + 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" +{ + 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" +{ ColorField = MeshOptions_Color; ; + break;} +case 220: +#line 1405 "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" +{ + 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" +{ + 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" +{ ColorField = PostProcessingOptions_Color; ; + break;} +case 227: +#line 1431 "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" +{ + 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" +{ + 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" +{ ColorField = PrintOptions_Color; ; + break;} +case 234: +#line 1457 "Gmsh.y" { i = Get_ColorForString(ColorString, -1, yyvsp[-1].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-1].c); - Get_ColorPointerForString(ColorField, yyvsp[-3].c, &flag, &ptr); - if(flag) + if(!Set_ColorOption(yyvsp[-3].c, ColorField, i)) vyyerror("Unknown Color Field '%s'", yyvsp[-3].c); - else - *ptr = i ; ; break;} -case 203: -#line 1363 "Gmsh.y" +case 235: +#line 1464 "Gmsh.y" { i = Get_ColorForString(ColorString, (int)yyvsp[-2].d, yyvsp[-4].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-4].c); - Get_ColorPointerForString(ColorField, yyvsp[-7].c, &flag, &ptr); - if(flag) - vyyerror("Unknown Color Field '%s'", yyvsp[-7].c); - else - *ptr = i ; + if(!Set_ColorOption(yyvsp[-7].c, ColorField, i)) + vyyerror("Unknown Color Field '%s'", yyvsp[-7].c); ; break;} -case 204: -#line 1373 "Gmsh.y" +case 236: +#line 1471 "Gmsh.y" { - Get_ColorPointerForString(ColorField, yyvsp[-3].c, &flag, &ptr); - if(flag) - vyyerror("Unknown Color Field '%s'", yyvsp[-1].v); - else - *ptr = PACK_COLOR((int)yyvsp[-1].v[0], (int)yyvsp[-1].v[1], (int)yyvsp[-1].v[2], (int)yyvsp[-1].v[3]); + 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 205: -#line 1384 "Gmsh.y" +case 237: +#line 1480 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; @@ -3393,8 +3514,8 @@ case 205: yyval.v[3]=yyvsp[-1].d; ; break;} -case 206: -#line 1391 "Gmsh.y" +case 238: +#line 1487 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3402,152 +3523,152 @@ case 206: yyval.v[3]=255.; ; break;} -case 207: -#line 1467 "Gmsh.y" +case 239: +#line 1501 "Gmsh.y" {yyval.i = 1;; break;} -case 208: -#line 1468 "Gmsh.y" +case 240: +#line 1502 "Gmsh.y" {yyval.i = 0;; break;} -case 209: -#line 1469 "Gmsh.y" +case 241: +#line 1503 "Gmsh.y" {yyval.i = -1;; break;} -case 210: -#line 1470 "Gmsh.y" +case 242: +#line 1504 "Gmsh.y" {yyval.i = -1;; break;} -case 211: -#line 1471 "Gmsh.y" +case 243: +#line 1505 "Gmsh.y" {yyval.i = -1;; break;} -case 212: -#line 1475 "Gmsh.y" +case 244: +#line 1509 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 213: -#line 1476 "Gmsh.y" +case 245: +#line 1510 "Gmsh.y" { yyval.d = yyvsp[-1].d; ; break;} -case 214: -#line 1477 "Gmsh.y" +case 246: +#line 1511 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d; ; break;} -case 215: -#line 1478 "Gmsh.y" +case 247: +#line 1512 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d; ; break;} -case 216: -#line 1479 "Gmsh.y" +case 248: +#line 1513 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d; ; break;} -case 217: -#line 1480 "Gmsh.y" +case 249: +#line 1514 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d; ; break;} -case 218: -#line 1481 "Gmsh.y" +case 250: +#line 1515 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d, yyvsp[0].d); ; break;} -case 219: -#line 1482 "Gmsh.y" +case 251: +#line 1516 "Gmsh.y" { yyval.d = - yyvsp[0].d; ; break;} -case 220: -#line 1483 "Gmsh.y" +case 252: +#line 1517 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 221: -#line 1484 "Gmsh.y" +case 253: +#line 1518 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 222: -#line 1485 "Gmsh.y" +case 254: +#line 1519 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 223: -#line 1486 "Gmsh.y" +case 255: +#line 1520 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 224: -#line 1487 "Gmsh.y" +case 256: +#line 1521 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 225: -#line 1488 "Gmsh.y" +case 257: +#line 1522 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 226: -#line 1489 "Gmsh.y" +case 258: +#line 1523 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 227: -#line 1490 "Gmsh.y" +case 259: +#line 1524 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 228: -#line 1491 "Gmsh.y" +case 260: +#line 1525 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 229: -#line 1492 "Gmsh.y" +case 261: +#line 1526 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 230: -#line 1493 "Gmsh.y" +case 262: +#line 1527 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 231: -#line 1494 "Gmsh.y" +case 263: +#line 1528 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 232: -#line 1495 "Gmsh.y" +case 264: +#line 1529 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 233: -#line 1496 "Gmsh.y" +case 265: +#line 1530 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 234: -#line 1497 "Gmsh.y" +case 266: +#line 1531 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 235: -#line 1498 "Gmsh.y" +case 267: +#line 1532 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 236: -#line 1499 "Gmsh.y" +case 268: +#line 1533 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 237: -#line 1500 "Gmsh.y" +case 269: +#line 1534 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 238: -#line 1501 "Gmsh.y" +case 270: +#line 1535 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 239: -#line 1502 "Gmsh.y" +case 271: +#line 1536 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 240: -#line 1503 "Gmsh.y" +case 272: +#line 1537 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 241: -#line 1507 "Gmsh.y" +case 273: +#line 1541 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 242: -#line 1508 "Gmsh.y" +case 274: +#line 1542 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 243: -#line 1510 "Gmsh.y" +case 275: +#line 1544 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { @@ -3557,16 +3678,16 @@ case 243: Free(yyvsp[0].c); ; break;} -case 244: -#line 1522 "Gmsh.y" +case 276: +#line 1556 "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 245: -#line 1528 "Gmsh.y" +case 277: +#line 1562 "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)){ @@ -3578,8 +3699,8 @@ case 245: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 246: -#line 1542 "Gmsh.y" +case 278: +#line 1576 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; @@ -3588,8 +3709,8 @@ case 246: yyval.v[4]=yyvsp[-1].d; ; break;} -case 247: -#line 1550 "Gmsh.y" +case 279: +#line 1584 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; @@ -3598,8 +3719,8 @@ case 247: yyval.v[4]=1.0; ; break;} -case 248: -#line 1558 "Gmsh.y" +case 280: +#line 1592 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3608,8 +3729,8 @@ case 248: yyval.v[4]=1.0; ; break;} -case 249: -#line 1566 "Gmsh.y" +case 281: +#line 1600 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; @@ -3618,84 +3739,84 @@ case 249: yyval.v[4]=1.0; ; break;} -case 250: -#line 1577 "Gmsh.y" +case 282: +#line 1611 "Gmsh.y" { ; break;} -case 251: -#line 1580 "Gmsh.y" +case 283: +#line 1614 "Gmsh.y" { ; break;} -case 252: -#line 1586 "Gmsh.y" +case 284: +#line 1620 "Gmsh.y" { ; break;} -case 253: -#line 1589 "Gmsh.y" +case 285: +#line 1623 "Gmsh.y" { ; break;} -case 254: -#line 1595 "Gmsh.y" +case 286: +#line 1629 "Gmsh.y" { ; break;} -case 255: -#line 1598 "Gmsh.y" +case 287: +#line 1632 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 256: -#line 1602 "Gmsh.y" +case 288: +#line 1636 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 257: -#line 1609 "Gmsh.y" +case 289: +#line 1643 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 258: -#line 1614 "Gmsh.y" +case 290: +#line 1648 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 259: -#line 1621 "Gmsh.y" +case 291: +#line 1655 "Gmsh.y" { ; break;} -case 260: -#line 1624 "Gmsh.y" +case 292: +#line 1658 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 261: -#line 1630 "Gmsh.y" +case 293: +#line 1664 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 262: -#line 1644 "Gmsh.y" +case 294: +#line 1678 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 263: -#line 1649 "Gmsh.y" +case 295: +#line 1683 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -3705,14 +3826,14 @@ case 263: List_Delete(ListOfDouble2_L); ; break;} -case 264: -#line 1658 "Gmsh.y" +case 296: +#line 1692 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 265: -#line 1662 "Gmsh.y" +case 297: +#line 1696 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -3723,7 +3844,7 @@ case 265: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 543 "/usr/lib/bison.simple" +#line 498 "/usr/local/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -3918,32 +4039,8 @@ 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 1672 "Gmsh.y" +#line 1706 "Gmsh.y" void InitSymbols(void){ @@ -3975,22 +4072,4 @@ void vyyerror (char *fmt, ...){ yyerrorstate=1; } -int Get_ColorForString(StringX4Int SX4I[], int alpha, - char * string, int * FlagError) { - int i = 0 ; - while ((SX4I[i].string != NULL) && (strcmp(SX4I[i].string, string))) i++ ; - *FlagError = (SX4I[i].string == NULL)? 1 : 0 ; - if(alpha > 0) - return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,alpha) ; - else - return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,SX4I[i].int4) ; -} - -void Get_ColorPointerForString(StringXPointer SXP[], char * string, - int * FlagError, unsigned int **Pointer) { - int i = 0 ; - while ((SXP[i].string != NULL) && (strcmp(SXP[i].string, string))) i++ ; - *FlagError = (SXP[i].string == NULL)? 1 : 0 ; - *Pointer = (unsigned int *)SXP[i].Pointer ; -} diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index 9b5e5cc35b7806653c4ac0f0407886a902b45468..ce416c8116a986ed4c040d1a3e371a32340c63c5 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -6,146 +6,148 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#define tDOUBLE 257 -#define tSTRING 258 -#define tBIGSTR 259 -#define tEND 260 -#define tAFFECT 261 -#define tDOTS 262 -#define tPi 263 -#define tExp 264 -#define tLog 265 -#define tLog10 266 -#define tSqrt 267 -#define tSin 268 -#define tAsin 269 -#define tCos 270 -#define tAcos 271 -#define tTan 272 -#define tAtan 273 -#define tAtan2 274 -#define tSinh 275 -#define tCosh 276 -#define tTanh 277 -#define tFabs 278 -#define tFloor 279 -#define tCeil 280 -#define tFmod 281 -#define tModulo 282 -#define tHypot 283 -#define tPoint 284 -#define tCircle 285 -#define tEllipsis 286 -#define tLine 287 -#define tSurface 288 -#define tSpline 289 -#define tVolume 290 -#define tCharacteristic 291 -#define tLength 292 -#define tParametric 293 -#define tElliptic 294 -#define tPlane 295 -#define tRuled 296 -#define tTransfinite 297 -#define tComplex 298 -#define tPhysical 299 -#define tUsing 300 -#define tPower 301 -#define tBump 302 -#define tProgression 303 -#define tAssociation 304 -#define tRotate 305 -#define tTranslate 306 -#define tSymmetry 307 -#define tDilate 308 -#define tExtrude 309 -#define tDuplicata 310 -#define tLoop 311 -#define tInclude 312 -#define tRecombine 313 -#define tDelete 314 -#define tCoherence 315 -#define tView 316 -#define tOffset 317 -#define tAttractor 318 -#define tLayers 319 -#define tScalarTetrahedron 320 -#define tVectorTetrahedron 321 -#define tTensorTetrahedron 322 -#define tScalarTriangle 323 -#define tVectorTriangle 324 -#define tTensorTriangle 325 -#define tScalarLine 326 -#define tVectorLine 327 -#define tTensorLine 328 -#define tScalarPoint 329 -#define tVectorPoint 330 -#define tTensorPoint 331 -#define tBSpline 332 -#define tNurbs 333 -#define tOrder 334 -#define tWith 335 -#define tBounds 336 -#define tKnots 337 -#define tColor 338 -#define tGeneral 339 -#define tGeometry 340 -#define tMesh 341 -#define tClip 342 -#define tB_SPLINE_SURFACE_WITH_KNOTS 343 -#define tB_SPLINE_CURVE_WITH_KNOTS 344 -#define tCARTESIAN_POINT 345 -#define tTRUE 346 -#define tFALSE 347 -#define tUNSPECIFIED 348 -#define tU 349 -#define tV 350 -#define tEDGE_CURVE 351 -#define tVERTEX_POINT 352 -#define tORIENTED_EDGE 353 -#define tPLANE 354 -#define tFACE_OUTER_BOUND 355 -#define tEDGE_LOOP 356 -#define tADVANCED_FACE 357 -#define tVECTOR 358 -#define tDIRECTION 359 -#define tAXIS2_PLACEMENT_3D 360 -#define tISO 361 -#define tENDISO 362 -#define tENDSEC 363 -#define tDATA 364 -#define tHEADER 365 -#define tFILE_DESCRIPTION 366 -#define tFILE_SCHEMA 367 -#define tFILE_NAME 368 -#define tMANIFOLD_SOLID_BREP 369 -#define tCLOSED_SHELL 370 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 371 -#define tFACE_BOUND 372 -#define tCYLINDRICAL_SURFACE 373 -#define tCONICAL_SURFACE 374 -#define tCIRCLE 375 -#define tTRIMMED_CURVE 376 -#define tGEOMETRIC_SET 377 -#define tCOMPOSITE_CURVE_SEGMENT 378 -#define tCONTINUOUS 379 -#define tCOMPOSITE_CURVE 380 -#define tTOROIDAL_SURFACE 381 -#define tPRODUCT_DEFINITION 382 -#define tPRODUCT_DEFINITION_SHAPE 383 -#define tSHAPE_DEFINITION_REPRESENTATION 384 -#define tELLIPSE 385 -#define tTrimmed 386 -#define tSolid 387 -#define tEndSolid 388 -#define tVertex 389 -#define tFacet 390 -#define tNormal 391 -#define tOuter 392 -#define tLoopSTL 393 -#define tEndLoop 394 -#define tEndFacet 395 -#define UMINUS 396 +#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 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 5a1c3a10c0452ab17927ba13285a123bbf13e0e5..8fbdd7d306dbb92a3e75986f3da20fb7d3b97790 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.12 2000-12-04 11:28:33 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.13 2000-12-05 15:23:57 geuzaine Exp $ */ #include <stdarg.h> @@ -12,6 +12,7 @@ #include "Create.h" #include "Views.h" #include "StepGeomDatabase.h" +#include "Options.h" #include "Colors.h" #include "Parser.h" @@ -33,21 +34,15 @@ static char tmpstring[NAME_STR_L]; static Symbol TheSymbol; static Surface *STL_Surf; static Shape TheShape; -static unsigned int *ptr ; static int i,j,k,flag,RecursionLevel=0; static double d; static ExtrudeParams extr; -static StringXPointer *ColorField ; +static StringXColor *ColorField ; static List_T *ListOfDouble_L,*ListOfDouble2_L; static List_T *ListOfListOfDouble_L; void yyerror (char *s); void vyyerror (char *fmt, ...); -int Get_ColorForString(StringX4Int SX4I[], int alpha, - char * string, int * FlagError); -void Get_ColorPointerForString(StringXPointer SXP[], char * string, - int * FlagError, unsigned int **Pointer); - %} %union { @@ -78,7 +73,8 @@ void Get_ColorPointerForString(StringXPointer SXP[], char * string, %token tScalarLine tVectorLine tTensorLine %token tScalarPoint tVectorPoint tTensorPoint %token tBSpline tNurbs tOrder tWith tBounds tKnots -%token tColor tGeneral tGeometry tMesh tClip +%token tColor tOptions +%token tGeneral tGeometry tMesh tPostProcessing tPrint %token tB_SPLINE_SURFACE_WITH_KNOTS %token tB_SPLINE_CURVE_WITH_KNOTS @@ -349,7 +345,7 @@ GeomFormat : | Transfini { return 1; } | Coherence { return 1; } | Macro { return 1; } - | Options { return 1; } + | tOptions '{' Options '}' { return 1; } | error tEND { yyerrok; return 1;} ; @@ -1310,36 +1306,144 @@ Coherence : --------------- */ Options : - tColor '{' ColorSections '}' - | tClip tPlane '(' FExpr ')' tAFFECT '{' FExpr ',' FExpr ',' FExpr ',' FExpr '}' tEND + /* empty */ + | Options Option +; + +Option : + tGeneral '{' GeneralOptions '}' + | tGeometry '{' GeometryOptions '}' + | tMesh '{' MeshOptions '}' + | tPostProcessing '{' PostProcessingOptions '}' + | tPrint '{' PrintOptions '}' +; + +GeneralOptions : + /* empty */ + | GeneralOptions GeneralOption +; + +GeneralOption : + tSTRING tAFFECT tBIGSTR tEND + { + if(!Set_StringOption($1, GeneralOptions_String, $3)) + vyyerror("Unknown General Option (String) '%s'", $1); + } + | tSTRING tAFFECT FExpr tEND + { + if(!Set_NumberOption($1, GeneralOptions_Number, $3)) + vyyerror("Unknown General Option (Number) '%s'", $1); + } + | tSTRING tAFFECT VExpr tEND + { if(!Set_ArrayOption($1, GeneralOptions_Array, $3)) + vyyerror("Unknown General Option (Array) '%s'", $1); + } + | tColor + { ColorField = GeneralOptions_Color; } + '{' ColorAffects '}' +; + +GeometryOptions : + /* empty */ + | GeometryOptions GeometryOption +; + +GeometryOption : + tSTRING tAFFECT tBIGSTR tEND + { + if(!Set_StringOption($1, GeometryOptions_String, $3)) + vyyerror("Unknown Geometry Option (String) '%s'", $1); + } + | tSTRING tAFFECT FExpr tEND + { + if(!Set_NumberOption($1, GeometryOptions_Number, $3)) + vyyerror("Unknown Geometry Option (Number) '%s'", $1); + } + | tSTRING tAFFECT VExpr tEND { - i = (int)$4 ; - if(i < 0 || i > 5) - vyyerror("Wrong Clip Plane Number %d", i); - else{ - CTX.clip[i] = 1; - CTX.clip_plane[i][0] = $8; - CTX.clip_plane[i][1] = $10; - CTX.clip_plane[i][2] = $12; - CTX.clip_plane[i][3] = $14; - } + if(!Set_ArrayOption($1, GeometryOptions_Array, $3)) + vyyerror("Unknown Geometry Option (Array) '%s'", $1); } + | tColor + { ColorField = GeometryOptions_Color; } + '{' ColorAffects '}' ; -ColorSections : +MeshOptions : /* empty */ - | ColorSections ColorSection + | MeshOptions MeshOption ; -ColorSection : - tGeneral - { ColorField = ColorGeneral; } +MeshOption : + tSTRING tAFFECT tBIGSTR tEND + { + if(!Set_StringOption($1, MeshOptions_String, $3)) + vyyerror("Unknown Mesh Option (String) '%s'", $1); + } + | tSTRING tAFFECT FExpr tEND + { + if(!Set_NumberOption($1, MeshOptions_Number, $3)) + vyyerror("Unknown Mesh Option (Number) '%s'", $1); + } + | tSTRING tAFFECT VExpr tEND + { + if(!Set_ArrayOption($1, MeshOptions_Array, $3)) + vyyerror("Unknown Mesh Option (Array) '%s'", $1); + } + | tColor + { ColorField = MeshOptions_Color; } '{' ColorAffects '}' - | tGeometry - { ColorField = ColorGeometry; } +; + +PostProcessingOptions : + /* empty */ + | PostProcessingOptions PostProcessingOption +; + +PostProcessingOption : + tSTRING tAFFECT tBIGSTR tEND + { + if(!Set_StringOption($1, PostProcessingOptions_String, $3)) + vyyerror("Unknown PostProcessing Option (String) '%s'", $1); + } + | tSTRING tAFFECT FExpr tEND + { + if(!Set_NumberOption($1, PostProcessingOptions_Number, $3)) + vyyerror("Unknown PostProcessing Option (Number) '%s'", $1); + } + | tSTRING tAFFECT VExpr tEND + { + if(!Set_ArrayOption($1, PostProcessingOptions_Array, $3)) + vyyerror("Unknown PostProcessing (Array) Option '%s'", $1); + } + | tColor + { ColorField = PostProcessingOptions_Color; } '{' ColorAffects '}' - | tMesh - { ColorField = ColorMesh; } +; + +PrintOptions : + /* empty */ + | PrintOptions PrintOption +; + +PrintOption : + tSTRING tAFFECT tBIGSTR tEND + { + if(!Set_StringOption($1, PrintOptions_String, $3)) + vyyerror("Unknown Print Option (String) '%s'", $1); + } + | tSTRING tAFFECT FExpr tEND + { + if(!Set_NumberOption($1, PrintOptions_Number, $3)) + vyyerror("Unknown Print Option (Number) '%s'", $1); + } + | tSTRING tAFFECT VExpr tEND + { + if(!Set_ArrayOption($1, PrintOptions_Array, $3)) + vyyerror("Unknown Print Option (Array) '%s'", $1); + } + | tColor + { ColorField = PrintOptions_Color; } '{' ColorAffects '}' ; @@ -1353,29 +1457,21 @@ ColorAffect : { i = Get_ColorForString(ColorString, -1, $3, &flag); if(flag) vyyerror("Unknown Color '%s'", $3); - Get_ColorPointerForString(ColorField, $1, &flag, &ptr); - if(flag) + if(!Set_ColorOption($1, ColorField, i)) vyyerror("Unknown Color Field '%s'", $1); - else - *ptr = i ; } | tSTRING tAFFECT '{' tSTRING ',' FExpr '}' tEND { i = Get_ColorForString(ColorString, (int)$6, $4, &flag); if(flag) vyyerror("Unknown Color '%s'", $4); - Get_ColorPointerForString(ColorField, $1, &flag, &ptr); - if(flag) - vyyerror("Unknown Color Field '%s'", $1); - else - *ptr = i ; + if(!Set_ColorOption($1, ColorField, i)) + vyyerror("Unknown Color Field '%s'", $1); } | tSTRING tAFFECT RGBAExpr tEND { - Get_ColorPointerForString(ColorField, $1, &flag, &ptr); - if(flag) - vyyerror("Unknown Color Field '%s'", $3); - else - *ptr = PACK_COLOR((int)$3[0], (int)$3[1], (int)$3[2], (int)$3[3]); + if(!Set_ColorOption($1, ColorField, + PACK_COLOR((int)$3[0], (int)$3[1], (int)$3[2], (int)$3[3]))) + vyyerror("Unknown Color Field '%s'", $1); } ; @@ -1396,68 +1492,6 @@ RGBAExpr : } ; -/* -Context{ - - General{ - Axes = 1 ; - SmallAxes = 1 ; - Orthographic = 1 ; - FastDraw = 1 ; - DisplayLists = 0 ; - Font = "fixed"; - ColorBarFont = "fixed"; - Light0 = {0,0,0}; - Shininess = 0; - Alpha = 0; - PrintFormat = EPS; - } - - Geometry{ - Points = 1 ; - Lines = 1 ; - Surfaces = 1 ; - Volumes = 1 ; - PointNumbers = 1 ; - LineNumbers = 1 ; - SurfaceNumbers = 1 ; - VolumeNumbers = 1 ; - Normals = 0.0 ; - Tangents = 0.0 ; - HiddenLines = 0 ; - Shading = 0 ; - } - - Mesh{ - Draw = 0 ; - Points = 1 ; - Lines = 1 ; - Surfaces = 1 ; - Volumes = 1 ; - PointNumbers = 1 ; - LineNumbers = 1 ; - SurfaceNumbers = 1 ; - VolumeNumbers = 1 ; - Normals = 0.0 ; - Tangents = 0.0 ; - HiddenLines = 0 ; - Shading = 0 ; - Format = MSH ; - Smoothing = 0 ; - Algorithm = 1 ; - Degree = 1 ; - Explode = 100 ; - } - - Post{ - Draw = 1 ; - Scales = 1 ; - LinkMode = 0 ; - } - -} -*/ - /* --------------- G E N E R A L --------------- */ @@ -1700,22 +1734,4 @@ void vyyerror (char *fmt, ...){ yyerrorstate=1; } -int Get_ColorForString(StringX4Int SX4I[], int alpha, - char * string, int * FlagError) { - int i = 0 ; - while ((SX4I[i].string != NULL) && (strcmp(SX4I[i].string, string))) i++ ; - *FlagError = (SX4I[i].string == NULL)? 1 : 0 ; - if(alpha > 0) - return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,alpha) ; - else - return PACK_COLOR(SX4I[i].int1,SX4I[i].int2,SX4I[i].int3,SX4I[i].int4) ; -} - -void Get_ColorPointerForString(StringXPointer SXP[], char * string, - int * FlagError, unsigned int **Pointer) { - int i = 0 ; - while ((SXP[i].string != NULL) && (strcmp(SXP[i].string, string))) i++ ; - *FlagError = (SXP[i].string == NULL)? 1 : 0 ; - *Pointer = (unsigned int *)SXP[i].Pointer ; -} diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 3daca2fde5a3dac8db89e6e115435ceca7a3ccff..5d7c0f9b3a880f84f4ab922301edec455c1c28de 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.13 2000-12-04 09:51:51 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.14 2000-12-05 15:23:57 geuzaine Exp $ */ #define FLEX_SCANNER @@ -283,114 +283,116 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 158 -#define YY_END_OF_BUFFER 159 -static yyconst short int yy_accept[945] = +#define YY_NUM_RULES 160 +#define YY_END_OF_BUFFER 161 +static yyconst short int yy_accept[963] = { 0, - 0, 0, 159, 157, 1, 1, 5, 151, 6, 157, - 157, 152, 2, 9, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 0, 0, 151, 0, 154, 0, 0, - 0, 0, 3, 4, 153, 152, 0, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 62, - 156, 156, 156, 156, 156, 156, 156, 93, 96, 87, - 90, 156, 156, 156, 156, 156, 156, 95, 156, 98, - 156, 89, 92, 156, 156, 156, 156, 94, 97, 88, - 91, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 0, 0, 10, 0, 104, 105, 106, 107, - 153, 0, 0, 155, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 26, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 37, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 53, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 72, 156, 156, 156, 156, 156, 156, - 81, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, - 154, 0, 0, 153, 156, 11, 156, 156, 156, 156, - 156, 156, 13, 156, 15, 156, 156, 156, 156, 21, - - 156, 156, 156, 156, 156, 156, 156, 24, 156, 156, - 33, 156, 156, 156, 25, 121, 156, 156, 156, 156, - 156, 156, 0, 156, 156, 156, 156, 156, 42, 156, - 44, 156, 156, 156, 156, 156, 0, 156, 156, 115, - 156, 156, 51, 156, 52, 156, 56, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 74, 73, 156, 71, 156, 156, - 156, 156, 80, 156, 156, 156, 156, 156, 84, 156, - 86, 156, 156, 156, 156, 146, 8, 156, 156, 156, - 156, 156, 0, 0, 0, 153, 156, 156, 156, 156, - - 156, 156, 156, 156, 17, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 31, - 156, 156, 156, 156, 156, 156, 156, 0, 156, 156, - 156, 156, 156, 43, 156, 156, 156, 156, 47, 0, - 156, 49, 156, 156, 54, 156, 156, 58, 156, 156, - 60, 119, 156, 156, 156, 63, 64, 65, 156, 156, - 156, 70, 156, 156, 156, 156, 156, 156, 156, 156, - 83, 156, 156, 156, 156, 156, 156, 143, 156, 156, - 145, 150, 156, 0, 0, 156, 156, 156, 156, 12, - 14, 16, 156, 156, 156, 156, 23, 156, 134, 156, - - 156, 156, 156, 156, 156, 28, 156, 156, 156, 34, - 35, 156, 156, 156, 156, 0, 127, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 120, 0, - 156, 55, 50, 156, 57, 156, 59, 156, 156, 156, - 156, 156, 69, 156, 75, 156, 156, 156, 156, 156, - 156, 156, 116, 156, 85, 156, 156, 156, 7, 144, - 142, 0, 0, 156, 156, 156, 156, 18, 156, 156, - 22, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 30, 156, 156, 156, 156, 41, 0, 156, 156, 39, - 156, 156, 156, 156, 156, 156, 45, 156, 0, 48, - - 156, 156, 156, 156, 156, 156, 156, 156, 76, 156, - 156, 156, 156, 156, 82, 156, 156, 147, 156, 0, - 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 0, 38, 40, 156, 156, 156, 156, 156, 156, 46, - 0, 156, 156, 156, 156, 61, 156, 156, 156, 77, - 156, 156, 156, 156, 156, 148, 149, 0, 0, 156, - 156, 156, 156, 156, 20, 156, 156, 156, 156, 156, - 156, 156, 156, 29, 117, 36, 156, 110, 0, 156, - 156, 156, 123, 156, 156, 0, 156, 156, 156, 156, - - 156, 68, 156, 156, 156, 156, 79, 156, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 32, 156, 109, 0, 113, 156, 156, - 156, 156, 0, 156, 156, 156, 67, 156, 156, 156, - 156, 156, 156, 0, 0, 156, 156, 156, 156, 156, - 19, 156, 156, 156, 156, 156, 156, 156, 156, 0, - 156, 156, 122, 156, 0, 156, 156, 156, 66, 156, - 156, 156, 78, 156, 103, 0, 103, 156, 156, 156, - 156, 156, 156, 156, 128, 156, 156, 156, 156, 0, - 156, 156, 156, 125, 156, 156, 156, 156, 156, 156, - - 111, 102, 156, 114, 102, 156, 156, 156, 156, 156, - 156, 156, 156, 0, 156, 156, 136, 156, 108, 156, - 156, 156, 135, 156, 156, 156, 156, 156, 156, 156, - 156, 27, 0, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 99, 138, 132, 156, 0, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 126, 112, 124, 156, 156, 156, 133, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 118, 156, 156, - 156, 156, 156, 139, 156, 156, 156, 156, 156, 131, - 130, 156, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 137, 156, 156, 156, 156, 156, - 140, 156, 156, 101, 156, 156, 156, 156, 156, 156, - 100, 156, 156, 156, 156, 156, 156, 156, 156, 141, - 156, 156, 129, 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 } ; static yyconst int yy_ec[256] = @@ -436,223 +438,227 @@ static yyconst int yy_meta[67] = 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[950] = +static yyconst short int yy_base[968] = { 0, - 0, 0, 1172, 46, 47, 1173, 48, 58, 54, 87, + 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, 180, 187, 72, 188, 227, - 193, 266, 312, 133, 238, 97, 189, 173, 208, 229, - 154, 213, 192, 1138, 1138, 293, 1159, 339, 1158, 1157, - 81, 1156, 1173, 1173, 345, 360, 322, 0, 104, 1126, - 1132, 1136, 1116, 57, 120, 1128, 1103, 1123, 1096, 1103, - 1121, 1120, 1121, 51, 1123, 1091, 1099, 1106, 1090, 1096, - 260, 1110, 1111, 1092, 1091, 1086, 1117, 1111, 1118, 1086, - 55, 1117, 1107, 1091, 1079, 1078, 1100, 123, 1113, 1074, - - 1097, 1083, 1072, 1095, 1060, 1070, 1069, 189, 1091, 1062, - 1074, 1061, 1092, 1069, 1070, 1097, 1082, 1055, 1047, 0, - 1068, 190, 1055, 1064, 1048, 1055, 1088, 0, 0, 0, - 0, 1043, 1050, 1051, 1044, 1043, 1047, 0, 1065, 0, - 1072, 0, 0, 1043, 168, 1045, 217, 0, 0, 0, - 0, 1048, 1042, 1033, 1046, 1046, 1035, 1026, 1030, 1027, - 1034, 1027, 1053, 1048, 1173, 376, 1173, 1173, 1173, 1173, - 382, 398, 351, 365, 1051, 1022, 1062, 1044, 1043, 245, - 1023, 1021, 1021, 1016, 1021, 1039, 1017, 1014, 1033, 1048, - 1032, 1033, 1039, 1038, 1010, 1010, 1003, 1015, 1003, 1011, - - 1002, 1000, 1005, 1036, 1031, 1005, 1008, 998, 1027, 1022, - 106, 996, 0, 988, 1023, 1022, 984, 987, 995, 1010, - 992, 985, 1016, 981, 1027, 982, 973, 1010, 984, 981, - 982, 1016, 971, 1000, 975, 963, 979, 1000, 962, 973, - 988, 997, 974, 957, 961, 960, 966, 963, 956, 967, - 962, 975, 960, 956, 954, 944, 955, 949, 969, 970, - 949, 944, 944, 942, 959, 958, 930, 931, 941, 235, - 943, 933, 87, 935, 940, 935, 925, 948, 950, 387, - 403, 412, 419, 424, 946, 0, 950, 947, 966, 923, - 926, 933, 0, 930, 961, 930, 921, 942, 924, 0, - - 947, 939, 945, 934, 945, 933, 902, 0, 919, 909, - 0, 902, 901, 906, 0, 0, 937, 896, 895, 903, - 911, 919, 925, 928, 893, 887, 905, 904, 0, 887, - 0, 922, 885, 895, 919, 880, 927, 877, 878, 0, - 878, 875, 0, 923, 0, 910, 0, 880, 872, 899, - 882, 870, 905, 889, 872, 873, 876, 862, 863, 862, - 866, 858, 871, 894, 0, 0, 861, 0, 871, 866, - 886, 881, 0, 851, 856, 859, 875, 884, 0, 852, - 0, 861, 848, 847, 841, 0, 0, 853, 856, 840, - 851, 849, 869, 872, 429, 434, 867, 872, 869, 848, - - 830, 834, 833, 835, 0, 840, 830, 857, 823, 846, - 858, 858, 843, 859, 855, 823, 829, 826, 825, 0, - 824, 834, 822, 821, 822, 268, 831, 830, 844, 255, - 817, 240, 290, 0, 826, 818, 800, 825, 0, 847, - 811, 0, 797, 805, 0, 822, 798, 0, 816, 791, - 0, 0, 830, 802, 803, 0, 0, 0, 800, 802, - 798, 0, 802, 796, 797, 781, 819, 817, 166, 791, - 0, 803, 796, 788, 789, 778, 780, 0, 782, 778, - 0, 0, 765, 797, 807, 795, 803, 804, 790, 0, - 0, 809, 778, 760, 772, 787, 0, 791, 0, 774, - - 789, 785, 779, 760, 751, 0, 756, 745, 782, 0, - 0, 764, 769, 773, 782, 771, 0, 751, 750, 753, - 767, 761, 775, 778, 775, 760, 741, 734, 0, 777, - 743, 0, 0, 760, 0, 766, 0, 751, 726, 742, - 725, 732, 0, 761, 0, 734, 722, 761, 757, 726, - 733, 729, 0, 732, 0, 726, 716, 720, 0, 0, - 0, 733, 743, 731, 746, 740, 736, 0, 704, 708, - 0, 740, 743, 725, 723, 716, 731, 722, 708, 709, - 0, 721, 692, 717, 718, 0, 741, 689, 702, 0, - 709, 709, 709, 713, 717, 715, 0, 675, 728, 0, - - 717, 716, 694, 677, 682, 674, 678, 709, 0, 665, - 700, 686, 673, 666, 0, 692, 664, 0, 677, 690, - 698, 688, 677, 695, 699, 665, 657, 672, 682, 687, - 689, 675, 689, 653, 649, 659, 674, 661, 665, 669, - 689, 0, 0, 669, 677, 678, 675, 674, 675, 0, - 680, 651, 650, 670, 639, 0, 638, 641, 664, 0, - 644, 665, 633, 636, 650, 0, 0, 644, 654, 642, - 273, 652, 657, 620, 0, 304, 630, 647, 624, 132, - 178, 168, 201, 0, 0, 0, 233, 0, 246, 241, - 235, 256, 0, 268, 258, 308, 283, 298, 304, 283, - - 283, 0, 314, 307, 306, 308, 0, 355, 350, 381, - 373, 387, 404, 406, 428, 397, 415, 416, 421, 426, - 436, 423, 429, 0, 400, 0, 446, 0, 419, 436, - 445, 429, 452, 434, 446, 445, 0, 415, 439, 434, - 438, 426, 443, 0, 454, 476, 456, 467, 467, 459, - 0, 456, 457, 462, 466, 459, 474, 456, 439, 489, - 482, 469, 0, 481, 492, 476, 482, 481, 0, 482, - 475, 472, 0, 475, 1173, 0, 0, 479, 491, 514, - 494, 487, 503, 501, 0, 494, 511, 497, 482, 520, - 503, 500, 501, 1173, 512, 517, 509, 505, 519, 521, - - 0, 1173, 502, 0, 0, 514, 524, 529, 517, 511, - 530, 514, 507, 545, 517, 529, 0, 535, 0, 531, - 532, 541, 0, 525, 525, 520, 543, 528, 543, 544, - 533, 0, 555, 538, 538, 529, 536, 541, 554, 550, - 534, 538, 556, 0, 537, 0, 557, 569, 561, 552, - 565, 559, 555, 565, 570, 575, 564, 549, 557, 575, - 1173, 0, 0, 560, 563, 554, 0, 564, 577, 563, - 561, 579, 582, 581, 573, 571, 584, 0, 582, 582, - 585, 588, 578, 570, 591, 572, 573, 580, 587, 0, - 0, 583, 586, 586, 593, 597, 601, 599, 591, 604, - - 596, 586, 598, 612, 609, 599, 601, 606, 599, 603, - 602, 604, 603, 609, 0, 619, 620, 621, 609, 613, - 0, 615, 612, 0, 612, 613, 628, 616, 634, 622, - 0, 618, 619, 630, 639, 626, 623, 629, 635, 0, - 630, 632, 0, 1173, 662, 665, 668, 671, 674 + 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 } ; -static yyconst short int yy_def[950] = +static yyconst short int yy_def[968] = { 0, - 944, 1, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 944, 944, 944, - 944, 944, 944, 944, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 944, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 944, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 944, 944, 944, 944, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 944, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 944, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 944, 944, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 944, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 944, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 944, 944, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 944, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 944, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 944, - 944, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 944, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 944, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 944, 944, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 944, 945, - 945, 945, 945, 945, 945, 944, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 944, 944, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 944, 945, 945, 945, - 945, 945, 944, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 946, 944, 947, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 944, - 945, 945, 945, 945, 944, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 944, 948, 945, 945, 945, 949, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 944, - 945, 945, 945, 944, 945, 945, 945, 945, 945, 945, - - 945, 944, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 944, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 944, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 944, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 944, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 0, 944, 944, 944, 944, 944 + 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 } ; -static yyconst short int yy_nxt[1240] = +static yyconst short int yy_nxt[1258] = { 0, 4, 5, 6, 7, 8, 9, 4, 4, 4, 10, 11, 12, 12, 12, 12, 12, 13, 14, 15, 16, @@ -662,58 +668,58 @@ static yyconst short int yy_nxt[1240] = 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, 97, 44, + 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, 213, 164, 98, 323, 214, 182, 66, 59, 60, - 67, 103, 61, 50, 51, 52, 55, 68, 56, 56, - 56, 56, 56, 112, 61, 61, 175, 44, 62, 57, - 69, 324, 82, 387, 66, 388, 70, 92, 154, 66, - 83, 66, 87, 66, 45, 93, 63, 64, 65, 176, - 88, 61, 89, 183, 57, 71, 61, 66, 61, 722, - 61, 84, 94, 72, 66, 85, 73, 221, 222, 74, - 184, 95, 96, 90, 61, 86, 66, 66, 75, 99, - 76, 61, 146, 66, 77, 91, 723, 78, 79, 80, - - 66, 101, 81, 61, 61, 109, 104, 66, 66, 66, - 61, 262, 66, 66, 550, 160, 156, 61, 551, 263, - 102, 724, 113, 105, 61, 61, 61, 106, 66, 61, - 61, 107, 100, 66, 110, 108, 114, 265, 232, 162, - 124, 246, 111, 155, 233, 61, 115, 66, 125, 66, - 61, 266, 725, 247, 126, 726, 116, 727, 66, 521, - 147, 117, 728, 157, 61, 290, 61, 148, 161, 729, - 118, 149, 522, 150, 151, 61, 158, 119, 120, 121, - 291, 292, 122, 382, 159, 123, 66, 383, 513, 152, - 730, 127, 712, 153, 384, 128, 713, 514, 731, 129, - - 732, 130, 131, 61, 46, 46, 46, 46, 46, 132, - 200, 523, 201, 202, 518, 519, 733, 133, 734, 203, - 735, 524, 134, 135, 717, 525, 736, 136, 737, 173, - 173, 137, 66, 174, 174, 174, 174, 174, 738, 718, - 739, 138, 740, 741, 139, 140, 141, 142, 143, 61, - 48, 48, 48, 48, 48, 144, 171, 171, 171, 171, - 171, 166, 174, 174, 174, 174, 174, 172, 742, 55, - 145, 56, 56, 56, 56, 56, 174, 174, 174, 174, - 174, 743, 57, 280, 280, 744, 166, 281, 281, 281, - 281, 281, 172, 171, 171, 171, 171, 171, 281, 281, - - 281, 281, 281, 745, 282, 283, 283, 57, 746, 284, - 284, 284, 284, 284, 281, 281, 281, 281, 281, 395, - 395, 747, 748, 396, 396, 396, 396, 396, 749, 282, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 776, 775, 775, 778, 775, - 775, 775, 775, 775, 775, 775, 775, 779, 780, 781, - 782, 783, 775, 775, 784, 785, 786, 787, 788, 789, - - 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, - 800, 801, 803, 804, 802, 802, 806, 802, 802, 802, - 802, 802, 802, 802, 802, 807, 808, 809, 810, 811, - 802, 802, 812, 813, 814, 815, 816, 817, 818, 819, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 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, + 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, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, @@ -726,73 +732,75 @@ static yyconst short int yy_nxt[1240] = 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, - 940, 941, 942, 943, 58, 775, 721, 775, 777, 720, - 777, 802, 719, 802, 805, 716, 805, 715, 714, 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, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 549, - 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, - 528, 527, 526, 520, 517, 516, 515, 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, 400, - 399, 398, 397, 394, 393, 392, 391, 390, 389, 386, - 385, 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, 325, 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, 294, 293, 289, 288, - 287, 286, 285, 279, 278, 277, 276, 275, 274, 273, - 272, 271, 270, 269, 268, 267, 264, 261, 260, 259, - - 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, - 248, 245, 244, 243, 242, 241, 240, 239, 238, 237, - 236, 235, 234, 231, 230, 229, 228, 227, 226, 225, - 224, 223, 220, 219, 218, 217, 216, 215, 212, 211, - 210, 209, 208, 207, 206, 205, 204, 199, 198, 197, - 196, 195, 194, 191, 190, 189, 188, 187, 186, 185, - 175, 180, 179, 178, 177, 170, 168, 167, 165, 164, - 163, 944, 3, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944 + 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 } ; -static yyconst short int yy_chk[1240] = +static yyconst short int yy_chk[1258] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -806,130 +814,132 @@ static yyconst short int yy_chk[1240] = 51, 9, 28, 13, 14, 8, 10, 24, 10, 10, 10, 10, 10, 21, 25, 16, 11, 10, 64, 28, - 10, 91, 51, 21, 211, 91, 64, 36, 15, 15, + 10, 90, 51, 21, 677, 90, 64, 36, 15, 15, 16, 25, 16, 10, 10, 10, 12, 16, 12, 12, - 12, 12, 12, 28, 36, 15, 59, 12, 15, 12, - 16, 211, 18, 273, 18, 273, 16, 20, 36, 20, - 18, 19, 19, 34, 12, 20, 15, 15, 15, 59, - 19, 18, 19, 65, 12, 17, 20, 17, 19, 680, - 34, 18, 20, 17, 41, 18, 17, 98, 98, 17, + 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, 41, 34, 38, 17, 19, 681, 17, 17, 17, - - 26, 23, 17, 23, 22, 27, 26, 27, 29, 37, - 38, 145, 43, 31, 469, 41, 38, 26, 469, 145, - 23, 682, 29, 26, 27, 29, 37, 26, 39, 43, - 31, 26, 22, 42, 27, 26, 29, 147, 108, 43, - 31, 122, 27, 37, 108, 39, 29, 30, 31, 40, - 42, 147, 683, 122, 31, 687, 30, 689, 35, 432, - 35, 30, 690, 39, 30, 180, 40, 35, 42, 691, - 30, 35, 432, 35, 35, 35, 40, 30, 30, 30, - 180, 180, 30, 270, 40, 30, 32, 270, 426, 35, - 692, 32, 671, 35, 270, 32, 671, 426, 694, 32, - - 695, 32, 32, 32, 46, 46, 46, 46, 46, 32, - 81, 433, 81, 81, 430, 430, 696, 32, 697, 81, - 698, 433, 32, 32, 676, 433, 699, 32, 700, 57, - 57, 32, 33, 57, 57, 57, 57, 57, 701, 676, - 703, 33, 704, 705, 33, 33, 33, 33, 33, 33, - 48, 48, 48, 48, 48, 33, 55, 55, 55, 55, - 55, 48, 173, 173, 173, 173, 173, 55, 706, 56, - 33, 56, 56, 56, 56, 56, 174, 174, 174, 174, - 174, 708, 56, 166, 166, 709, 48, 166, 166, 166, - 166, 166, 55, 171, 171, 171, 171, 171, 280, 280, - - 280, 280, 280, 710, 171, 172, 172, 56, 711, 172, - 172, 172, 172, 172, 281, 281, 281, 281, 281, 282, - 282, 712, 713, 282, 282, 282, 282, 282, 714, 171, - 283, 283, 283, 283, 283, 284, 284, 284, 284, 284, - 395, 395, 395, 395, 395, 396, 396, 396, 396, 396, - 715, 716, 717, 718, 719, 720, 721, 722, 723, 725, - 727, 729, 730, 731, 732, 733, 734, 735, 736, 738, - 739, 740, 741, 742, 743, 745, 746, 746, 747, 746, - 746, 746, 746, 746, 746, 746, 746, 748, 749, 750, - 752, 753, 746, 746, 754, 755, 756, 757, 758, 759, - - 760, 761, 762, 764, 765, 766, 767, 768, 770, 771, - 772, 774, 778, 779, 780, 780, 781, 780, 780, 780, - 780, 780, 780, 780, 780, 782, 783, 784, 786, 787, - 780, 780, 788, 789, 790, 791, 792, 793, 795, 796, - 797, 798, 799, 800, 803, 806, 807, 808, 809, 810, - 811, 812, 813, 814, 815, 816, 818, 820, 821, 822, - 824, 825, 826, 827, 828, 829, 830, 831, 833, 834, - 835, 836, 837, 838, 839, 840, 841, 842, 843, 845, - 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, - 857, 858, 859, 860, 864, 865, 866, 868, 869, 870, - - 871, 872, 873, 874, 875, 876, 877, 879, 880, 881, - 882, 883, 884, 885, 886, 887, 888, 889, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, - 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, - 914, 916, 917, 918, 919, 920, 922, 923, 925, 926, - 927, 928, 929, 930, 932, 933, 934, 935, 936, 937, - 938, 939, 941, 942, 945, 946, 679, 946, 947, 678, - 947, 948, 677, 948, 949, 674, 949, 673, 672, 670, - 669, 668, 665, 664, 663, 662, 661, 659, 658, 657, - 655, 654, 653, 652, 651, 649, 648, 647, 646, 645, - - 644, 641, 640, 639, 638, 637, 636, 635, 634, 633, - 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, - 622, 621, 620, 619, 617, 616, 614, 613, 612, 611, - 610, 608, 607, 606, 605, 604, 603, 602, 601, 599, - 598, 596, 595, 594, 593, 592, 591, 589, 588, 587, - 585, 584, 583, 582, 580, 579, 578, 577, 576, 575, - 574, 573, 572, 570, 569, 567, 566, 565, 564, 563, - 562, 558, 557, 556, 554, 552, 551, 550, 549, 548, - 547, 546, 544, 542, 541, 540, 539, 538, 536, 534, - 531, 530, 528, 527, 526, 525, 524, 523, 522, 521, - - 520, 519, 518, 516, 515, 514, 513, 512, 509, 508, - 507, 505, 504, 503, 502, 501, 500, 498, 496, 495, - 494, 493, 492, 489, 488, 487, 486, 485, 484, 483, - 480, 479, 477, 476, 475, 474, 473, 472, 470, 468, - 467, 466, 465, 464, 463, 461, 460, 459, 455, 454, - 453, 450, 449, 447, 446, 444, 443, 441, 440, 438, - 437, 436, 435, 431, 429, 428, 427, 425, 424, 423, - 422, 421, 419, 418, 417, 416, 415, 414, 413, 412, - 411, 410, 409, 408, 407, 406, 404, 403, 402, 401, - 400, 399, 398, 397, 394, 393, 392, 391, 390, 389, - - 388, 385, 384, 383, 382, 380, 378, 377, 376, 375, - 374, 372, 371, 370, 369, 367, 364, 363, 362, 361, - 360, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 349, 348, 346, 344, 342, 341, 339, 338, 337, - 336, 335, 334, 333, 332, 330, 328, 327, 326, 325, - 324, 323, 322, 321, 320, 319, 318, 317, 314, 313, - 312, 310, 309, 307, 306, 305, 304, 303, 302, 301, - 299, 298, 297, 296, 295, 294, 292, 291, 290, 289, - 288, 287, 285, 279, 278, 277, 276, 275, 274, 272, - 271, 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, 212, 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, 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, - 123, 121, 119, 118, 117, 116, 115, 114, 113, 112, - 111, 110, 109, 107, 106, 105, 104, 103, 102, 101, - 100, 99, 97, 96, 95, 94, 93, 92, 90, 89, - 88, 87, 86, 85, 84, 83, 82, 80, 79, 78, - 77, 76, 75, 73, 72, 71, 70, 69, 68, 67, - 66, 63, 62, 61, 60, 52, 50, 49, 47, 45, - 44, 3, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 944, 944 + 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 } ; static yy_state_type yy_last_accepting_state; @@ -987,7 +997,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 991 "Gmsh.yy.cpp" +#line 1001 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1135,13 +1145,13 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp = NULL, *yy_bp = NULL; + register char *yy_cp, *yy_bp; register int yy_act; #line 60 "Gmsh.l" -#line 1145 "Gmsh.yy.cpp" +#line 1155 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1192,13 +1202,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 >= 945 ) + if ( yy_current_state >= 963 ) 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] != 1173 ); + while ( yy_base[yy_current_state] != 1191 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1386,143 +1396,143 @@ return tSpline; YY_BREAK case 33: YY_RULE_SETUP -#line 99 "Gmsh.l" -return tClip; +#line 100 "Gmsh.l" +return tDelete; YY_BREAK case 34: YY_RULE_SETUP #line 101 "Gmsh.l" -return tDelete; +return tDilate; YY_BREAK case 35: YY_RULE_SETUP #line 102 "Gmsh.l" -return tDilate; +return tDuplicata; YY_BREAK case 36: YY_RULE_SETUP -#line 103 "Gmsh.l" -return tDuplicata; +#line 104 "Gmsh.l" +return tExp ; YY_BREAK case 37: YY_RULE_SETUP #line 105 "Gmsh.l" -return tExp ; +return tEllipsis; YY_BREAK case 38: YY_RULE_SETUP #line 106 "Gmsh.l" -return tEllipsis; +return tExtrude; YY_BREAK case 39: YY_RULE_SETUP #line 107 "Gmsh.l" -return tExtrude; +return tElliptic; YY_BREAK case 40: YY_RULE_SETUP #line 108 "Gmsh.l" -return tElliptic; +return tELLIPSE; YY_BREAK case 41: YY_RULE_SETUP -#line 109 "Gmsh.l" -return tELLIPSE; +#line 110 "Gmsh.l" +return tFabs ; YY_BREAK case 42: YY_RULE_SETUP #line 111 "Gmsh.l" -return tFabs ; +return tFloor ; YY_BREAK case 43: YY_RULE_SETUP #line 112 "Gmsh.l" -return tFloor ; +return tFmod ; YY_BREAK case 44: YY_RULE_SETUP -#line 113 "Gmsh.l" -return tFmod ; +#line 114 "Gmsh.l" +return tGeneral; YY_BREAK case 45: YY_RULE_SETUP #line 115 "Gmsh.l" -return tGeneral; +return tGeometry; YY_BREAK case 46: YY_RULE_SETUP -#line 116 "Gmsh.l" -return tGeometry; +#line 117 "Gmsh.l" +return tHypot ; YY_BREAK case 47: YY_RULE_SETUP -#line 118 "Gmsh.l" -return tHypot ; +#line 119 "Gmsh.l" +return tInclude; YY_BREAK case 48: YY_RULE_SETUP -#line 120 "Gmsh.l" -return tInclude; +#line 121 "Gmsh.l" +return tKnots; YY_BREAK case 49: YY_RULE_SETUP -#line 122 "Gmsh.l" -return tKnots; +#line 123 "Gmsh.l" +return tLength; YY_BREAK case 50: YY_RULE_SETUP #line 124 "Gmsh.l" -return tLength; +return tLine; YY_BREAK case 51: YY_RULE_SETUP #line 125 "Gmsh.l" -return tLine; +return tLoop; YY_BREAK case 52: YY_RULE_SETUP #line 126 "Gmsh.l" -return tLoop; +return tLog ; YY_BREAK case 53: YY_RULE_SETUP #line 127 "Gmsh.l" -return tLog ; +return tLog10 ; YY_BREAK case 54: YY_RULE_SETUP #line 128 "Gmsh.l" -return tLog10 ; +return tLayers; YY_BREAK case 55: YY_RULE_SETUP -#line 129 "Gmsh.l" -return tLayers; +#line 130 "Gmsh.l" +return tMesh; YY_BREAK case 56: YY_RULE_SETUP #line 131 "Gmsh.l" -return tMesh; +return tModulo ; YY_BREAK case 57: YY_RULE_SETUP -#line 132 "Gmsh.l" -return tModulo ; +#line 133 "Gmsh.l" +return tNurbs; YY_BREAK case 58: YY_RULE_SETUP -#line 134 "Gmsh.l" -return tNurbs; +#line 135 "Gmsh.l" +return tOffset; YY_BREAK case 59: YY_RULE_SETUP #line 136 "Gmsh.l" -return tOffset; +return tOrder; YY_BREAK case 60: YY_RULE_SETUP #line 137 "Gmsh.l" -return tOrder; +return tOptions; YY_BREAK case 61: YY_RULE_SETUP @@ -1561,451 +1571,461 @@ return tParametric; YY_BREAK case 68: YY_RULE_SETUP -#line 147 "Gmsh.l" -return tRecombine; +#line 146 "Gmsh.l" +return tPostProcessing; YY_BREAK case 69: YY_RULE_SETUP -#line 148 "Gmsh.l" -return tRotate; +#line 147 "Gmsh.l" +return tPrint; YY_BREAK case 70: YY_RULE_SETUP #line 149 "Gmsh.l" -return tRuled; +return tRecombine; YY_BREAK case 71: YY_RULE_SETUP -#line 151 "Gmsh.l" -return tSqrt ; +#line 150 "Gmsh.l" +return tRotate; YY_BREAK case 72: YY_RULE_SETUP -#line 152 "Gmsh.l" -return tSin ; +#line 151 "Gmsh.l" +return tRuled; YY_BREAK case 73: YY_RULE_SETUP #line 153 "Gmsh.l" -return tSinh ; +return tSqrt ; YY_BREAK case 74: YY_RULE_SETUP #line 154 "Gmsh.l" -return tPhysical; +return tSin ; YY_BREAK case 75: YY_RULE_SETUP #line 155 "Gmsh.l" -return tSpline; +return tSinh ; YY_BREAK case 76: YY_RULE_SETUP #line 156 "Gmsh.l" -return tSurface; +return tPhysical; YY_BREAK case 77: YY_RULE_SETUP #line 157 "Gmsh.l" -return tSymmetry; +return tSpline; YY_BREAK case 78: YY_RULE_SETUP -#line 159 "Gmsh.l" -return tTransfinite; +#line 158 "Gmsh.l" +return tSurface; YY_BREAK case 79: YY_RULE_SETUP -#line 160 "Gmsh.l" -return tTranslate; +#line 159 "Gmsh.l" +return tSymmetry; YY_BREAK case 80: YY_RULE_SETUP #line 161 "Gmsh.l" -return tTanh ; +return tTransfinite; YY_BREAK case 81: YY_RULE_SETUP #line 162 "Gmsh.l" -return tTan; +return tTranslate; YY_BREAK case 82: YY_RULE_SETUP #line 163 "Gmsh.l" -return tTrimmed; +return tTanh ; YY_BREAK case 83: YY_RULE_SETUP -#line 165 "Gmsh.l" -return tUsing; +#line 164 "Gmsh.l" +return tTan; YY_BREAK case 84: YY_RULE_SETUP -#line 167 "Gmsh.l" -return tView; +#line 165 "Gmsh.l" +return tTrimmed; YY_BREAK case 85: YY_RULE_SETUP -#line 168 "Gmsh.l" -return tVolume; +#line 167 "Gmsh.l" +return tUsing; YY_BREAK case 86: YY_RULE_SETUP -#line 170 "Gmsh.l" -return tWith; +#line 169 "Gmsh.l" +return tView; YY_BREAK case 87: YY_RULE_SETUP -#line 173 "Gmsh.l" -return tScalarTetrahedron; +#line 170 "Gmsh.l" +return tVolume; YY_BREAK case 88: YY_RULE_SETUP -#line 174 "Gmsh.l" -return tVectorTetrahedron; +#line 172 "Gmsh.l" +return tWith; YY_BREAK case 89: YY_RULE_SETUP #line 175 "Gmsh.l" -return tTensorTetrahedron; +return tScalarTetrahedron; YY_BREAK case 90: YY_RULE_SETUP #line 176 "Gmsh.l" -return tScalarTriangle; +return tVectorTetrahedron; YY_BREAK case 91: YY_RULE_SETUP #line 177 "Gmsh.l" -return tVectorTriangle; +return tTensorTetrahedron; YY_BREAK case 92: YY_RULE_SETUP #line 178 "Gmsh.l" -return tTensorTriangle; +return tScalarTriangle; YY_BREAK case 93: YY_RULE_SETUP #line 179 "Gmsh.l" -return tScalarLine; +return tVectorTriangle; YY_BREAK case 94: YY_RULE_SETUP #line 180 "Gmsh.l" -return tVectorLine; +return tTensorTriangle; YY_BREAK case 95: YY_RULE_SETUP #line 181 "Gmsh.l" -return tTensorLine; +return tScalarLine; YY_BREAK case 96: YY_RULE_SETUP #line 182 "Gmsh.l" -return tScalarPoint; +return tVectorLine; YY_BREAK case 97: YY_RULE_SETUP #line 183 "Gmsh.l" -return tVectorPoint; +return tTensorLine; YY_BREAK case 98: YY_RULE_SETUP #line 184 "Gmsh.l" -return tTensorPoint; +return tScalarPoint; YY_BREAK case 99: YY_RULE_SETUP -#line 187 "Gmsh.l" -return tCARTESIAN_POINT; +#line 185 "Gmsh.l" +return tVectorPoint; YY_BREAK case 100: YY_RULE_SETUP -#line 188 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 186 "Gmsh.l" +return tTensorPoint; YY_BREAK case 101: YY_RULE_SETUP #line 189 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 102: YY_RULE_SETUP #line 190 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 103: YY_RULE_SETUP #line 191 "Gmsh.l" -return tCONTINUOUS; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 104: YY_RULE_SETUP #line 192 "Gmsh.l" -return tFALSE; +return tUNSPECIFIED; YY_BREAK case 105: YY_RULE_SETUP #line 193 "Gmsh.l" -return tTRUE; +return tCONTINUOUS; YY_BREAK case 106: YY_RULE_SETUP #line 194 "Gmsh.l" -return tU; +return tFALSE; YY_BREAK case 107: YY_RULE_SETUP #line 195 "Gmsh.l" -return tV; +return tTRUE; YY_BREAK case 108: YY_RULE_SETUP #line 196 "Gmsh.l" -return tORIENTED_EDGE; +return tU; YY_BREAK case 109: YY_RULE_SETUP #line 197 "Gmsh.l" -return tEDGE_CURVE; +return tV; YY_BREAK case 110: YY_RULE_SETUP #line 198 "Gmsh.l" -return tEDGE_LOOP; +return tORIENTED_EDGE; YY_BREAK case 111: YY_RULE_SETUP #line 199 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_CURVE; YY_BREAK case 112: YY_RULE_SETUP #line 200 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tEDGE_LOOP; YY_BREAK case 113: YY_RULE_SETUP #line 201 "Gmsh.l" -return tFACE_BOUND; +return tVERTEX_POINT; YY_BREAK case 114: YY_RULE_SETUP #line 202 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_OUTER_BOUND; YY_BREAK case 115: YY_RULE_SETUP #line 203 "Gmsh.l" -return tLine; +return tFACE_BOUND; YY_BREAK case 116: YY_RULE_SETUP #line 204 "Gmsh.l" -return tVECTOR; +return tADVANCED_FACE; YY_BREAK case 117: YY_RULE_SETUP #line 205 "Gmsh.l" -return tDIRECTION; +return tLine; YY_BREAK case 118: YY_RULE_SETUP #line 206 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tVECTOR; YY_BREAK case 119: YY_RULE_SETUP #line 207 "Gmsh.l" -return tPLANE; +return tDIRECTION; YY_BREAK case 120: YY_RULE_SETUP #line 208 "Gmsh.l" -return tHEADER; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 121: YY_RULE_SETUP #line 209 "Gmsh.l" -return tDATA; +return tPLANE; YY_BREAK case 122: YY_RULE_SETUP #line 210 "Gmsh.l" -return tFILE_SCHEMA; +return tHEADER; YY_BREAK case 123: YY_RULE_SETUP #line 211 "Gmsh.l" -return tFILE_NAME; +return tDATA; YY_BREAK case 124: YY_RULE_SETUP #line 212 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_SCHEMA; YY_BREAK case 125: YY_RULE_SETUP #line 213 "Gmsh.l" -return tISO; +return tFILE_NAME; YY_BREAK case 126: YY_RULE_SETUP #line 214 "Gmsh.l" -return tENDISO; +return tFILE_DESCRIPTION; YY_BREAK case 127: YY_RULE_SETUP #line 215 "Gmsh.l" -return tENDSEC; +return tISO; YY_BREAK case 128: YY_RULE_SETUP #line 216 "Gmsh.l" -return tCLOSED_SHELL; +return tENDISO; YY_BREAK case 129: YY_RULE_SETUP #line 217 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tENDSEC; YY_BREAK case 130: YY_RULE_SETUP #line 218 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tCLOSED_SHELL; YY_BREAK case 131: YY_RULE_SETUP #line 219 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 132: YY_RULE_SETUP #line 220 "Gmsh.l" -return tCONICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 133: YY_RULE_SETUP #line 221 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 134: YY_RULE_SETUP #line 222 "Gmsh.l" -return tCIRCLE; +return tCONICAL_SURFACE; YY_BREAK case 135: YY_RULE_SETUP #line 223 "Gmsh.l" -return tTRIMMED_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 136: YY_RULE_SETUP #line 224 "Gmsh.l" -return tGEOMETRIC_SET; +return tCIRCLE; YY_BREAK case 137: YY_RULE_SETUP #line 225 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tTRIMMED_CURVE; YY_BREAK case 138: YY_RULE_SETUP #line 226 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tGEOMETRIC_SET; YY_BREAK case 139: YY_RULE_SETUP #line 227 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 140: YY_RULE_SETUP #line 228 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tCOMPOSITE_CURVE; YY_BREAK case 141: YY_RULE_SETUP #line 229 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION; YY_BREAK case 142: YY_RULE_SETUP -#line 231 "Gmsh.l" -return tVertex; +#line 230 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 143: YY_RULE_SETUP -#line 232 "Gmsh.l" -return tFacet; +#line 231 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 144: YY_RULE_SETUP #line 233 "Gmsh.l" -return tNormal; +return tVertex; YY_BREAK case 145: YY_RULE_SETUP #line 234 "Gmsh.l" -return tOuter; +return tFacet; YY_BREAK case 146: YY_RULE_SETUP #line 235 "Gmsh.l" -return tLoopSTL; +return tNormal; YY_BREAK case 147: YY_RULE_SETUP #line 236 "Gmsh.l" -return tEndLoop; +return tOuter; YY_BREAK case 148: YY_RULE_SETUP #line 237 "Gmsh.l" -return tEndFacet; +return tLoopSTL; YY_BREAK case 149: YY_RULE_SETUP #line 238 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndLoop; YY_BREAK case 150: YY_RULE_SETUP #line 239 "Gmsh.l" -{skipline();return tSolid;} +return tEndFacet; YY_BREAK case 151: YY_RULE_SETUP -#line 241 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 240 "Gmsh.l" +{skipline();return tEndSolid;} YY_BREAK case 152: -#line 244 "Gmsh.l" +YY_RULE_SETUP +#line 241 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK case 153: -#line 245 "Gmsh.l" +YY_RULE_SETUP +#line 243 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 154: #line 246 "Gmsh.l" case 155: +#line 247 "Gmsh.l" +case 156: +#line 248 "Gmsh.l" +case 157: YY_RULE_SETUP -#line 246 "Gmsh.l" +#line 248 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 156: +case 158: YY_RULE_SETUP -#line 248 "Gmsh.l" +#line 250 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 157: +case 159: YY_RULE_SETUP -#line 250 "Gmsh.l" +#line 252 "Gmsh.l" return yytext[0]; YY_BREAK -case 158: +case 160: YY_RULE_SETUP -#line 252 "Gmsh.l" +#line 254 "Gmsh.l" ECHO; YY_BREAK -#line 2009 "Gmsh.yy.cpp" +#line 2029 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2297,7 +2317,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 >= 945 ) + if ( yy_current_state >= 963 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2332,11 +2352,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 >= 945 ) + if ( yy_current_state >= 963 ) 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 == 944); + yy_is_jam = (yy_current_state == 962); return yy_is_jam ? 0 : yy_current_state; } @@ -2891,7 +2911,7 @@ int main() return 0; } #endif -#line 252 "Gmsh.l" +#line 254 "Gmsh.l" #undef yywrap diff --git a/Parser/Makefile b/Parser/Makefile index 5e179e218b5877b3f868603fb26443f4becf0ccf..ccb63be0240790362c3b5a79047832a8a84f9ded 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 2000-11-25 15:26:11 geuzaine Exp $ +# $Id: Makefile,v 1.5 2000-12-05 15:23:57 geuzaine Exp $ # # Makefile for "libParser.a" # @@ -67,4 +67,5 @@ Gmsh.tab.o: Gmsh.tab.cpp ../Common/Gmsh.h ../Common/Message.h \ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Geo/DataBase.h \ ../Mesh/Create.h ../Common/Views.h ../Graphics/ColorTable.h \ - ../Geo/StepGeomDatabase.h ../Common/Colors.h Parser.h + ../Geo/StepGeomDatabase.h ../Common/Options.h ../Graphics/Draw.h \ + ../Common/Colors.h Parser.h diff --git a/Unix/CbInput.cpp b/Unix/CbInput.cpp index 7774953751a110e53bbc633faf9ffef8eca06517..ce68e187453f40fab5a49b9fbfda06dff712ce39 100644 --- a/Unix/CbInput.cpp +++ b/Unix/CbInput.cpp @@ -1,4 +1,4 @@ -/* $Id: CbInput.cpp,v 1.7 2000-11-26 18:43:48 geuzaine Exp $ */ +/* $Id: CbInput.cpp,v 1.8 2000-12-05 15:23:58 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -211,9 +211,9 @@ void KeyboardAccel(XEvent *event){ Msg(INFOS, "Highlight Disabled"); break; case XK_c : case XK_C : - if(CTX.color.id==0) InitColors(&CTX.color,1); - else if(CTX.color.id==1) InitColors(&CTX.color,2); - else InitColors(&CTX.color,0); + if(CTX.color.id==0) Init_Colors(1); + else if(CTX.color.id==1) Init_Colors(2); + else Init_Colors(0); XtVaSetValues(WID.OD.miscColorSchemeScale,XmNvalue, CTX.color.id, NULL); XmUpdateDisplay(WID.OD.miscColorSchemeScale); Init(); Draw(); @@ -242,8 +242,8 @@ void KeyboardAccel(XEvent *event){ set_r(0,0.); set_r(1,0.); set_r(2,0.); Init(); Draw(); break; case XK_a : - CTX.little_axes = !CTX.little_axes; - XtVaSetValues(WID.OD.miscMiscButt[1], XmNset, CTX.little_axes, NULL); + CTX.small_axes = !CTX.small_axes; + XtVaSetValues(WID.OD.miscMiscButt[1], XmNset, CTX.small_axes, NULL); XmUpdateDisplay(WID.OD.miscMiscCheck); Init(); Draw(); break; diff --git a/Unix/CbOptions.cpp b/Unix/CbOptions.cpp index aa5ba7c69fa27dcbe952e77b3dca9c86702bea00..656ac7982ee068de359840b28abbd8eae35a1c0e 100644 --- a/Unix/CbOptions.cpp +++ b/Unix/CbOptions.cpp @@ -1,4 +1,4 @@ -/* $Id: CbOptions.cpp,v 1.8 2000-12-04 11:28:37 geuzaine Exp $ */ +/* $Id: CbOptions.cpp,v 1.9 2000-12-05 15:23:58 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -55,24 +55,24 @@ void OptionsCb (Widget w, XtPointer client_data, XtPointer call_data){ case OPTIONS_REPLOT : Init(); Draw(); break; case OPTIONS_AXES : CTX.axes = !CTX.axes; break; - case OPTIONS_LITTLE_AXES : CTX.little_axes = !CTX.little_axes; break; + case OPTIONS_LITTLE_AXES : CTX.small_axes = !CTX.small_axes; break; case OPTIONS_FAST_REDRAW : CTX.fast = !CTX.fast ; break ; case OPTIONS_DISPLAY_LISTS : CTX.display_lists = !CTX.display_lists ; break ; case OPTIONS_ALPHA_BLENDING: CTX.alpha = !CTX.alpha; break; case OPTIONS_COLOR_SCHEME_SCALE: - XmScaleGetValue(WID.OD.miscColorSchemeScale, &e); InitColors(&CTX.color, e); + XmScaleGetValue(WID.OD.miscColorSchemeScale, &e); Init_Colors(e); Init(); Draw(); break ; case OPTIONS_ORTHOGRAPHIC : CTX.ortho = 1; break; case OPTIONS_PERSPECTIVE : CTX.ortho = 0; break; case OPTIONS_LIGHT_X_SCALE : - XmScaleGetValue(WID.OD.miscLightScale[0], &e); CTX.light0[0] = 0.04*e ; + XmScaleGetValue(WID.OD.miscLightScale[0], &e); CTX.light_position[0][0] = 0.04*e ; MarkAllViewsChanged (0); break ; case OPTIONS_LIGHT_Y_SCALE : - XmScaleGetValue(WID.OD.miscLightScale[1], &e); CTX.light0[1] = 0.04*e ; + XmScaleGetValue(WID.OD.miscLightScale[1], &e); CTX.light_position[0][1] = 0.04*e ; MarkAllViewsChanged (0); break ; case OPTIONS_LIGHT_Z_SCALE : - XmScaleGetValue(WID.OD.miscLightScale[2], &e); CTX.light0[2] = 0.04*e ; + XmScaleGetValue(WID.OD.miscLightScale[2], &e); CTX.light_position[0][2] = 0.04*e ; MarkAllViewsChanged (0);break ; case OPTIONS_SHINE_SCALE : XmScaleGetValue(WID.OD.miscShineScale, &e); CTX.shine = 0.04*e ; @@ -107,7 +107,7 @@ void OptionsCb (Widget w, XtPointer client_data, XtPointer call_data){ CTX.r[0],CTX.r[1],CTX.r[2], CTX.t[0],CTX.t[1],CTX.t[2], CTX.s[0],CTX.s[1],CTX.s[2]); - PrintContext(&CTX, stderr); + Print_Context(stderr); break ; /* print */ diff --git a/Unix/Main.cpp b/Unix/Main.cpp index fe453caf97734f3a88b60b46fca6cd764c9bf004..b9126b904ad329fe3e3a2fa33c19d763a2894c2f 100644 --- a/Unix/Main.cpp +++ b/Unix/Main.cpp @@ -1,4 +1,4 @@ -/* $Id: Main.cpp,v 1.15 2000-11-26 18:43:48 geuzaine Exp $ */ +/* $Id: Main.cpp,v 1.16 2000-12-05 15:23:58 geuzaine Exp $ */ #include <signal.h> @@ -42,7 +42,7 @@ char gmsh_url[] = "URL : " GMSH_URL ; char gmsh_help[] = "Usage: %s [options] [files]\n" "Geometry options:\n" - " -0 output flattened parsed geometry and exit\n" + " -0 output current options, flattened geometry and exit\n" "Mesh options:\n" " -1, -2, -3 perform batch 1D, 2D and 3D mesh generation\n" " -format msh|unv|gref set output mesh format (default: msh)\n" @@ -531,7 +531,7 @@ int main(int argc, char *argv[]){ /* Gmsh default context options */ - InitContext(&CTX); + Init_Context(); /* Command line options */ @@ -582,6 +582,7 @@ int main(int argc, char *argv[]){ Print_Mesh(THEM,NULL,CTX.mesh.format); } else{ + Print_Context(stdout); Print_Geo(THEM, NULL); } exit(1); @@ -787,15 +788,15 @@ int main(int argc, char *argv[]){ } /* X font initialisation */ - XCTX.xfont.helve = XLoadQueryFont(XCTX.display, CTX.font_string); - XCTX.xfont.fixed = XLoadQueryFont(XCTX.display, CTX.colorbar_font_string); + XCTX.xfont.helve = XLoadQueryFont(XCTX.display, CTX.font); + XCTX.xfont.fixed = XLoadQueryFont(XCTX.display, CTX.fixed_font); if(XCTX.xfont.helve == NULL){ - Msg(WARNING, "Unable to Load Font '%s'", CTX.font_string); + Msg(WARNING, "Unable to Load Font '%s'", CTX.font); XCTX.xfont.helve = XCTX.xfont.fixed ; } if(XCTX.xfont.fixed == NULL) - Msg(FATAL, "Unable to Load Font '%s'", CTX.colorbar_font_string); + Msg(FATAL, "Unable to Load Font '%s'", CTX.fixed_font); XCTX.xfont.helve_h = XCTX.xfont.helve->max_bounds.ascent + XCTX.xfont.helve->max_bounds.descent; diff --git a/Unix/Widgets.cpp b/Unix/Widgets.cpp index a1d7f7dbb1587f37c180c9d4131d4ed265df493f..244e16591d334ff0f15dbe38844828cb2b50e79f 100644 --- a/Unix/Widgets.cpp +++ b/Unix/Widgets.cpp @@ -1,4 +1,4 @@ -/* $Id: Widgets.cpp,v 1.12 2000-11-28 06:55:11 geuzaine Exp $ */ +/* $Id: Widgets.cpp,v 1.13 2000-12-05 15:23:59 geuzaine Exp $ */ #include "Gmsh.h" #include "GmshUI.h" @@ -1322,7 +1322,7 @@ void CreateWidgets_OD(Widgets_T *w){ i=0; XtSetArg(arg[i], XmNlabelString, XmStringCreateSimple("Show Small Axes")); i++; - XtSetArg(arg[i], XmNset, CTX.little_axes?True:False); i++; + XtSetArg(arg[i], XmNset, CTX.small_axes?True:False); i++; w->OD.miscMiscButt[1] = XmCreateToggleButton(w->OD.miscMiscCheck, "ODmiscMiscButt1", arg, i); XtManageChild(w->OD.miscMiscButt[1]); @@ -1421,7 +1421,7 @@ void CreateWidgets_OD(Widgets_T *w){ XtSetArg(arg[i], XmNmaximum, 25); i++; XtSetArg(arg[i], XmNdecimalPoints, 0); i++; XtSetArg(arg[i], XmNshowValue, False); i++; - XtSetArg(arg[i], XmNvalue, (int)25*CTX.light0[n]); i++; + XtSetArg(arg[i], XmNvalue, (int)25*CTX.light_position[0][n]); i++; XtSetArg(arg[i], XmNorientation, XmHORIZONTAL); i++; w->OD.miscLightScale[n] = XmCreateScale(w->OD.miscLightFrameRowCol, "ODmiscLightScalen", arg, i); XtManageChild(w->OD.miscLightScale[n]); diff --git a/demos/demo-01.geo b/demos/demo-01.geo index 45d6f77032c31635d09449ad6db03d19748c19a9..9663be2a71a7572edf00847caed3ce1634863e62 100644 --- a/demos/demo-01.geo +++ b/demos/demo-01.geo @@ -58,9 +58,18 @@ Physical Surface(9999) = {6}; redefines the color of geometry points. See ex03.geo for a more complete example. */ -Color{ +Options{ + General{ + Rotation0 = 10; + Color{ + Background = Red; + } + } Geometry{ - Points = Orange; + Color{ + Points = Orange; + Lines = Blue; + } } }