Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 273 KiB
Newer Older
Christophe Geuzaine's avatar
Christophe Geuzaine committed
   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
   evaluated with infinite-precision integer arithmetic.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# undef YYMAXDEPTH
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# define YYMAXDEPTH 10000
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#ifdef YYERROR_VERBOSE
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# ifndef yystrlen
#  if defined (__GLIBC__) && defined (_STRING_H)
#   define yystrlen strlen
#  else
/* Return the length of YYSTR.  */
static YYSIZE_T
#   if defined (__STDC__) || defined (__cplusplus)
yystrlen (const char *yystr)
#   else
yystrlen (yystr)
     const char *yystr;
#   endif
{
  register const char *yys = yystr;

  while (*yys++ != '\0')
    continue;

  return yys - yystr - 1;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#  endif
# endif

# ifndef yystpcpy
#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
#   define yystpcpy stpcpy
#  else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
   YYDEST.  */
static char *
#   if defined (__STDC__) || defined (__cplusplus)
yystpcpy (char *yydest, const char *yysrc)
#   else
yystpcpy (yydest, yysrc)
     char *yydest;
     const char *yysrc;
#   endif
{
  register char *yyd = yydest;
  register const char *yys = yysrc;

  while ((*yyd++ = *yys++) != '\0')
    continue;

  return yyd - 1;
}
#  endif
# endif
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#line 315 "/usr/share/bison/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 *.
   It should actually point to an object.
   Grammar actions can access the variable by casting it
   to the proper pointer type.  */

#ifdef YYPARSE_PARAM
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# if defined (__STDC__) || defined (__cplusplus)
#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#  define YYPARSE_PARAM_DECL
# else
#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
# endif
#else /* !YYPARSE_PARAM */
# define YYPARSE_PARAM_ARG
# define YYPARSE_PARAM_DECL
#endif /* !YYPARSE_PARAM */
/* Prevent warning if -Wstrict-prototypes.  */
#ifdef __GNUC__
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# ifdef YYPARSE_PARAM
int yyparse (void *);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# else
int yyparse (void);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# endif
Christophe Geuzaine's avatar
Christophe Geuzaine committed

/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
   variables are global, or local to YYPARSE.  */

#define YY_DECL_NON_LSP_VARIABLES			\
/* The lookahead symbol.  */				\
int yychar;						\
							\
/* The semantic value of the lookahead symbol. */	\
YYSTYPE yylval;						\
							\
/* Number of parse errors so far.  */			\
int yynerrs;

#if YYLSP_NEEDED
# define YY_DECL_VARIABLES			\
YY_DECL_NON_LSP_VARIABLES			\
						\
/* Location data for the lookahead symbol.  */	\
YYLTYPE yylloc;
#else
# define YY_DECL_VARIABLES			\
YY_DECL_NON_LSP_VARIABLES
Christophe Geuzaine's avatar
Christophe Geuzaine committed

/* If nonreentrant, generate the variables here. */

#if !YYPURE
YY_DECL_VARIABLES
#endif  /* !YYPURE */

Christophe Geuzaine's avatar
Christophe Geuzaine committed
yyparse (YYPARSE_PARAM_ARG)
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* If reentrant, generate the variables here. */
#if YYPURE
  YY_DECL_VARIABLES
#endif  /* !YYPURE */

Christophe Geuzaine's avatar
Christophe Geuzaine committed
  int yyresult;
  /* Number of tokens to shift before error messages enabled.  */
  int yyerrstatus;
  /* Lookahead token as an internal (translated) token number.  */
  int yychar1 = 0;

  /* Three stacks and their tools:
     `yyss': related to states,
     `yyvs': related to semantic values,
     `yyls': related to locations.

     Refer to the stacks thru separate pointers, to allow yyoverflow
     to reallocate them elsewhere.  */

  /* The state stack. */
  short	yyssa[YYINITDEPTH];
  short *yyss = yyssa;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* The semantic value stack.  */
  YYSTYPE yyvsa[YYINITDEPTH];
  YYSTYPE *yyvs = yyvsa;
  register YYSTYPE *yyvsp;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#if YYLSP_NEEDED
  /* The location stack.  */
  YYLTYPE yylsa[YYINITDEPTH];
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#endif
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#if YYLSP_NEEDED
# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# define YYPOPSTACK   (yyvsp--, yyssp--)
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  YYSIZE_T yystacksize = YYINITDEPTH;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* The variables used to return semantic value and location from the
     action routines.  */
  YYSTYPE yyval;
#if YYLSP_NEEDED
  YYLTYPE yyloc;
#endif
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* When reducing, the number of symbols on the RHS of the reduced
     rule. */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  YYDPRINTF ((stderr, "Starting parse\n"));

  yystate = 0;
  yyerrstatus = 0;
  yynerrs = 0;
  yychar = YYEMPTY;		/* Cause a token to be read.  */

  /* Initialize stack pointers.
     Waste one element of value and location stack
     so that they stay on the same level as the state stack.
     The wasted elements are never initialized.  */

Christophe Geuzaine's avatar
Christophe Geuzaine committed
  yyssp = yyss;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#if YYLSP_NEEDED
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  goto yysetstate;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate.  |
`------------------------------------------------------------*/
 yynewstate:
  /* In all cases, when you get here, the value and location stacks
     have just been pushed. so pushing a state here evens the stacks.
     */
  yyssp++;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
 yysetstate:
  *yyssp = yystate;

  if (yyssp >= yyss + yystacksize - 1)
    {
      /* Get the current used size of the three stacks, in elements.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      YYSIZE_T yysize = yyssp - yyss + 1;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      {
	/* Give user a chance to reallocate the stack. Use copies of
	   these so that the &'s don't force the real ones into
	   memory.  */
	YYSTYPE *yyvs1 = yyvs;
	short *yyss1 = yyss;

	/* Each stack pointer address is followed by the size of the
	   data in use in that stack, in bytes.  */
# if YYLSP_NEEDED
	YYLTYPE *yyls1 = yyls;
	/* This used to be a conditional around just the two extra args,
	   but that might be undefined if yyoverflow is a macro.  */
	yyoverflow ("parser stack overflow",
		    &yyss1, yysize * sizeof (*yyssp),
		    &yyvs1, yysize * sizeof (*yyvsp),
		    &yyls1, yysize * sizeof (*yylsp),
		    &yystacksize);
	yyls = yyls1;
# else
	yyoverflow ("parser stack overflow",
		    &yyss1, yysize * sizeof (*yyssp),
		    &yyvs1, yysize * sizeof (*yyvsp),
		    &yystacksize);
# endif
	yyss = yyss1;
	yyvs = yyvs1;
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# ifndef YYSTACK_RELOCATE
      goto yyoverflowlab;
# else
      /* Extend the stack our own way.  */
      if (yystacksize >= YYMAXDEPTH)
Christophe Geuzaine's avatar
Christophe Geuzaine committed
	goto yyoverflowlab;
      yystacksize *= 2;
      if (yystacksize > YYMAXDEPTH)
	yystacksize = YYMAXDEPTH;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

      {
	short *yyss1 = yyss;
	union yyalloc *yyptr =
	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
	if (! yyptr)
	  goto yyoverflowlab;
	YYSTACK_RELOCATE (yyss);
	YYSTACK_RELOCATE (yyvs);
# if YYLSP_NEEDED
	YYSTACK_RELOCATE (yyls);
# endif
# undef YYSTACK_RELOCATE
	if (yyss1 != yyssa)
	  YYSTACK_FREE (yyss1);
      }
# endif
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      yyssp = yyss + yysize - 1;
      yyvsp = yyvs + yysize - 1;
#if YYLSP_NEEDED
      yylsp = yyls + yysize - 1;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
		  (unsigned long int) yystacksize));
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
Christophe Geuzaine's avatar
Christophe Geuzaine committed


/*-----------.
| yybackup.  |
`-----------*/
yybackup:

/* Do appropriate processing given the current state.  */
/* Read a lookahead token if we need one and don't already have one.  */
/* yyresume: */

  /* First try to decide what to do without reference to lookahead token.  */

  yyn = yypact[yystate];
  if (yyn == YYFLAG)
    goto yydefault;

  /* Not known => get a lookahead token if don't already have one.  */

  /* yychar is either YYEMPTY or YYEOF
     or a valid token in external form.  */

  if (yychar == YYEMPTY)
    {
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      YYDPRINTF ((stderr, "Reading a token: "));
      yychar = YYLEX;
    }

  /* Convert token to internal form (in yychar1) for indexing tables with */

  if (yychar <= 0)		/* This means end of input. */
    {
      yychar1 = 0;
      yychar = YYEOF;		/* Don't call YYLEX any more */

Christophe Geuzaine's avatar
Christophe Geuzaine committed
      YYDPRINTF ((stderr, "Now at end of input.\n"));
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      yychar1 = YYTRANSLATE (yychar);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#if YYDEBUG
     /* We have to keep this `#if YYDEBUG', since we use variables
	which are defined only if `YYDEBUG' is set.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
	  YYFPRINTF (stderr, "Next token is %d (%s",
		     yychar, yytname[yychar1]);
	  /* Give the individual parser a way to print the precise
	     meaning of a token, for further debugging info.  */
# ifdef YYPRINT
Christophe Geuzaine's avatar
Christophe Geuzaine committed
# endif
	  YYFPRINTF (stderr, ")\n");
	}
#endif
    }

  yyn += yychar1;
  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
    goto yydefault;

  yyn = yytable[yyn];

  /* yyn is what to do for this token type in this state.
     Negative => reduce, -yyn is rule number.
     Positive => shift, yyn is new state.
       New state is final state => don't bother to shift,
       just return success.
     0, or most negative number => error.  */

  if (yyn < 0)
    {
      if (yyn == YYFLAG)
	goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }
  else if (yyn == 0)
    goto yyerrlab;

  if (yyn == YYFINAL)
    YYACCEPT;

  /* Shift the lookahead token.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
	      yychar, yytname[yychar1]));

  /* Discard the token being shifted unless it is eof.  */
  if (yychar != YYEOF)
    yychar = YYEMPTY;

  *++yyvsp = yylval;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
#if YYLSP_NEEDED
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* Count tokens shifted since error; after three, turn off error
     status.  */
  if (yyerrstatus)
    yyerrstatus--;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state.  |
`-----------------------------------------------------------*/
yydefault:
  yyn = yydefact[yystate];
  if (yyn == 0)
    goto yyerrlab;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  goto yyreduce;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

/*-----------------------------.
| yyreduce -- Do a reduction.  |
`-----------------------------*/
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* yyn is the number of a rule to reduce with.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
  /* If YYLEN is nonzero, implement the default value of the action:
     `$$ = $1'.

     Otherwise, the following line sets YYVAL to the semantic value of
     the lookahead token.  This behavior is undocumented and Bison
     users should not rely upon it.  Assigning to YYVAL
     unconditionally makes the parser a bit smaller, and it avoids a
     GCC warning that YYVAL may be used uninitialized.  */
  yyval = yyvsp[1-yylen];

#if YYLSP_NEEDED
  /* Similarly for the default location.  Let the user run additional
     commands if for instance locations are ranges.  */
  yyloc = yylsp[1-yylen];
  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
#endif

#if YYDEBUG
  /* We have to keep this `#if YYDEBUG', since we use variables which
     are defined only if `YYDEBUG' is set.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      int yyi;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
		 yyn, yyrline[yyn]);

      /* Print the symbols being reduced, and their result.  */
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
	YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
#line 174 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ yyerrok ; return 1; ;
    break;}
case 5:
#line 182 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ yyval.d = yyvsp[0].d; ;
    break;}
case 6:
#line 183 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ yyval.d = -yyvsp[0].d; ;
    break;}
case 7:
#line 188 "Gmsh.y"
      Msg(PARSER_INFO,"STL file format");
      STL_Surf = Create_Surface(1,MSH_SURF_STL);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 8:
#line 202 "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,
				yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d);
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 9:
#line 209 "Gmsh.y"
      Msg(PARSER_INFO,"STL file format read");
      Tree_Add(THEM->Surfaces, &STL_Surf);
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 12:
#line 226 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 13:
#line 227 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 14:
#line 228 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 15:
#line 233 "Gmsh.y"
      Msg(PARSER_INFO,"Step Iso-10303-21 file format");
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 16:
#line 238 "Gmsh.y"
      Msg(PARSER_INFO,"Step Iso-10303-21 file format read");
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 20:
#line 249 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 21:
#line 252 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 22:
#line 256 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 23:
#line 262 "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;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 24:
#line 268 "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;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 25:
#line 275 "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;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 26:
#line 281 "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;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 27:
#line 285 "Gmsh.y"
{
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 28:
#line 289 "Gmsh.y"
{
      /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */
      Msg(PARSER_INFO,"Found a face bound");
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,0);
    ;
    break;}
case 29:
#line 296 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
#line 300 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
#line 305 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
#line 309 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
#line 313 "Gmsh.y"
#line 317 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Axis2_Placement3D  ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
#line 321 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
#line 325 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
#line 329 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
#line 333 "Gmsh.y"
      Msg(PARSER_INFO,"Found a closed shell");
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
#line 339 "Gmsh.y"
#line 342 "Gmsh.y"
#line 345 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
#line 349 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
#line 353 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
#line 357 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
#line 361 "Gmsh.y"
      Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
#line 366 "Gmsh.y"
#line 369 "Gmsh.y"
#line 373 "Gmsh.y"
#line 376 "Gmsh.y"
#line 380 "Gmsh.y"
#line 383 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    ;
#line 386 "Gmsh.y"
#line 396 "Gmsh.y"
case 54:
#line 399 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{
      Msg(PARSER_INFO,"Gmsh file format read");
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    ;
case 55:
#line 405 "Gmsh.y"
case 56:
#line 406 "Gmsh.y"
case 57:
#line 407 "Gmsh.y"
case 58:
#line 408 "Gmsh.y"
case 59:
#line 409 "Gmsh.y"
case 60:
#line 410 "Gmsh.y"
case 61:
#line 411 "Gmsh.y"
case 62:
#line 412 "Gmsh.y"
{ return 1; ;
case 63:
#line 413 "Gmsh.y"
case 64:
#line 414 "Gmsh.y"
case 65:
#line 415 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ return 1; ;
    break;}
case 66:
#line 416 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ return 1; ;
    break;}
case 67:
#line 417 "Gmsh.y"
#line 422 "Gmsh.y"
#line 426 "Gmsh.y"
      i = PrintListOfDouble(yyvsp[-4].c,yyvsp[-2].l,tmpstring);
      if(i<0) 
	vyyerror("Too few arguments in Printf");
      else if(i>0)
	vyyerror("Too many arguments (%d) in Printf", i);
      else
	Msg(DIRECT, tmpstring);
      List_Delete(yyvsp[-2].l);
#line 444 "Gmsh.y"
      if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); 
#line 448 "Gmsh.y"
      if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c);
#line 455 "Gmsh.y"
      View = BeginView(1); 
#line 476 "Gmsh.y"
{ List_Add(View->SP, &yyvsp[0].d) ; ;
#line 478 "Gmsh.y"
#line 483 "Gmsh.y"
      List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d);
      List_Add(View->SP, &yyvsp[-1].d);
#line 488 "Gmsh.y"
      View->NbSP++ ;
#line 495 "Gmsh.y"
{ List_Add(View->VP, &yyvsp[0].d) ; ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
    break;}
#line 497 "Gmsh.y"
#line 502 "Gmsh.y"
      List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d);
      List_Add(View->VP, &yyvsp[-1].d); 
#line 507 "Gmsh.y"
      View->NbVP++ ;
#line 514 "Gmsh.y"
{ List_Add(View->TP, &yyvsp[0].d) ; ;
#line 516 "Gmsh.y"
#line 521 "Gmsh.y"
      List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d);
      List_Add(View->TP, &yyvsp[-1].d);
#line 526 "Gmsh.y"
      View->NbTP++ ;
#line 533 "Gmsh.y"
{ List_Add(View->SL, &yyvsp[0].d) ; ;
#line 535 "Gmsh.y"
#line 541 "Gmsh.y"
      List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d);
      List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d);
      List_Add(View->SL, &yyvsp[-7].d); List_Add(View->SL, &yyvsp[-1].d);
#line 547 "Gmsh.y"
      View->NbSL++ ;
#line 554 "Gmsh.y"
{ List_Add(View->VL, &yyvsp[0].d) ; ;
#line 556 "Gmsh.y"
#line 562 "Gmsh.y"
      List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d);
      List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d);
      List_Add(View->VL, &yyvsp[-7].d); List_Add(View->VL, &yyvsp[-1].d);
#line 568 "Gmsh.y"
      View->NbVL++ ;
#line 575 "Gmsh.y"
{ List_Add(View->TL, &yyvsp[0].d) ; ;
#line 577 "Gmsh.y"
#line 583 "Gmsh.y"
      List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d);
      List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d);
      List_Add(View->TL, &yyvsp[-7].d); List_Add(View->TL, &yyvsp[-1].d);
#line 589 "Gmsh.y"
      View->NbTL++ ;
#line 596 "Gmsh.y"
{ List_Add(View->ST, &yyvsp[0].d) ; ;
#line 598 "Gmsh.y"
#line 605 "Gmsh.y"
      List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d);
      List_Add(View->ST, &yyvsp[-5].d);
      List_Add(View->ST, &yyvsp[-15].d); List_Add(View->ST, &yyvsp[-9].d);
      List_Add(View->ST, &yyvsp[-3].d);
      List_Add(View->ST, &yyvsp[-13].d); List_Add(View->ST, &yyvsp[-7].d);
      List_Add(View->ST, &yyvsp[-1].d);
#line 614 "Gmsh.y"
      View->NbST++ ;
#line 621 "Gmsh.y"
{ List_Add(View->VT, &yyvsp[0].d) ; ;
#line 623 "Gmsh.y"
#line 630 "Gmsh.y"
      List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d);
      List_Add(View->VT, &yyvsp[-5].d);
      List_Add(View->VT, &yyvsp[-15].d); List_Add(View->VT, &yyvsp[-9].d);
      List_Add(View->VT, &yyvsp[-3].d);
      List_Add(View->VT, &yyvsp[-13].d); List_Add(View->VT, &yyvsp[-7].d);
      List_Add(View->VT, &yyvsp[-1].d);
#line 639 "Gmsh.y"
      View->NbVT++ ;
#line 646 "Gmsh.y"
{ List_Add(View->TT, &yyvsp[0].d) ; ;
#line 648 "Gmsh.y"
#line 655 "Gmsh.y"
      List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d);