Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 450 KiB
Newer Older
    { 								\
      yyerror ("syntax error: cannot back up");\
      YYERROR;							\
    }								\
/* YYLLOC_DEFAULT -- Compute the default location (before the actions
   are run).  */
Jean-François Remacle's avatar
 
Jean-François Remacle committed

#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N)         \
  Current.first_line   = Rhs[1].first_line;      \
  Current.first_column = Rhs[1].first_column;    \
  Current.last_line    = Rhs[N].last_line;       \
  Current.last_column  = Rhs[N].last_column;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#endif

/* YYLEX -- calling `yylex' with the right arguments.  */

#ifdef YYLEX_PARAM
# define YYLEX yylex (YYLEX_PARAM)
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#else
# define YYLEX yylex ()
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

/* Enable debugging if requested.  */
#if YYDEBUG

# ifndef YYFPRINTF
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
#  define YYFPRINTF fprintf
# endif

# define YYDPRINTF(Args)			\
do {						\
  if (yydebug)					\
    YYFPRINTF Args;				\
} while (0)

# define YYDSYMPRINT(Args)			\
do {						\
  if (yydebug)					\
    yysymprint Args;				\
} while (0)

# define YYDSYMPRINTF(Title, Token, Value, Location)		\
do {								\
  if (yydebug)							\
    {								\
      YYFPRINTF (stderr, "%s ", Title);				\
      yysymprint (stderr, 					\
                  Token, Value);	\
      YYFPRINTF (stderr, "\n");					\
    }								\
} while (0)
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (cinluded).                                                   |
`------------------------------------------------------------------*/
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

#if defined (__STDC__) || defined (__cplusplus)
static void
yy_stack_print (short *bottom, short *top)
#else
static void
yy_stack_print (bottom, top)
    short *bottom;
    short *top;
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#endif
{
  YYFPRINTF (stderr, "Stack now");
  for (/* Nothing. */; bottom <= top; ++bottom)
    YYFPRINTF (stderr, " %d", *bottom);
  YYFPRINTF (stderr, "\n");
}
Jean-François Remacle's avatar
 
Jean-François Remacle committed

# define YY_STACK_PRINT(Bottom, Top)				\
do {								\
  if (yydebug)							\
    yy_stack_print ((Bottom), (Top));				\
} while (0)
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

/*------------------------------------------------.
| Report that the YYRULE is going to be reduced.  |
`------------------------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yy_reduce_print (int yyrule)
#else
static void
yy_reduce_print (yyrule)
    int yyrule;
#endif
{
  int yyi;
  unsigned int yylno = yyrline[yyrule];
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
             yyrule - 1, yylno);
  /* Print the symbols being reduced, and their result.  */
  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
}
# define YY_REDUCE_PRINT(Rule)		\
do {					\
  if (yydebug)				\
    yy_reduce_print (Rule);		\
} while (0)

/* Nonzero means print parse trace.  It is left uninitialized so that
   multiple parsers can coexist.  */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YYDSYMPRINT(Args)
# define YYDSYMPRINTF(Title, Token, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */


/* YYINITDEPTH -- initial size of the parser's stacks.  */
#ifndef	YYINITDEPTH
# define YYINITDEPTH 200
Jean-François Remacle's avatar
 
Jean-François Remacle committed

/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   if the built-in stack extension method is used).

   Do not make this value too large; the results are undefined if
   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
   evaluated with infinite-precision integer arithmetic.  */
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#if YYMAXDEPTH == 0
# undef YYMAXDEPTH
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#endif
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#endif

#if YYERROR_VERBOSE

# 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
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
  register const char *yys = yystr;

  while (*yys++ != '\0')
    continue;
Jean-François Remacle's avatar
 
Jean-François Remacle committed

  return yys - yystr - 1;
}
#  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;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
}
#  endif
# endif
Jean-François Remacle's avatar
 
Jean-François Remacle committed

#endif /* !YYERROR_VERBOSE */
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed



#if YYDEBUG
/*--------------------------------.
| Print this symbol on YYOUTPUT.  |
`--------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
static void
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
#else
static void
yysymprint (yyoutput, yytype, yyvaluep)
    FILE *yyoutput;
    int yytype;
    YYSTYPE *yyvaluep;
#endif
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

  if (yytype < YYNTOKENS)
    {
      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
# ifdef YYPRINT
      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
    }
  else
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);

  switch (yytype)
    {
      default:
        break;
    }
  YYFPRINTF (yyoutput, ")");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

#endif /* ! YYDEBUG */
/*-----------------------------------------------.
| Release the memory associated to this symbol.  |
`-----------------------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yydestruct (int yytype, YYSTYPE *yyvaluep)
#else
static void
yydestruct (yytype, yyvaluep)
    int yytype;
    YYSTYPE *yyvaluep;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#endif
{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;

  switch (yytype)
    {

      default:
        break;
    }
}
/* Prevent warnings from -Wmissing-prototypes.  */
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM);
# else
int yyparse ();
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
int yyparse (void);
#else
int yyparse ();
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#endif
#endif /* ! YYPARSE_PARAM */



/* The lookahead symbol.  */
int yychar;

/* The semantic value of the lookahead symbol.  */
YYSTYPE yylval;

/* Number of syntax errors so far.  */
int yynerrs;


/*----------.
| yyparse.  |
`----------*/

#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM)
# else
int yyparse (YYPARSE_PARAM)
  void *YYPARSE_PARAM;
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
yyparse (void)
#else
int
yyparse ()

#endif
#endif
  int yyresult;
  /* Number of tokens to shift before error messages enabled.  */
  int yyerrstatus;
  /* Lookahead token as an internal (translated) token number.  */
  int yytoken = 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;
  /* The semantic value stack.  */
  YYSTYPE yyvsa[YYINITDEPTH];
  YYSTYPE *yyvs = yyvsa;
  register YYSTYPE *yyvsp;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed


Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#define YYPOPSTACK   (yyvsp--, yyssp--)
  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;
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

  /* When reducing, the number of symbols on the RHS of the reduced
     rule.  */
  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.  */

  yyssp = yyss;
  goto yysetstate;
/*------------------------------------------------------------.
| 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 (yyss + yystacksize - 1 <= yyssp)
    {
      /* Get the current used size of the three stacks, in elements.  */
      YYSIZE_T yysize = yyssp - yyss + 1;
      {
	/* 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;
Jean-François Remacle's avatar
 
Jean-François Remacle committed


	/* Each stack pointer address is followed by the size of the
	   data in use in that stack, in bytes.  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),

		    &yystacksize);

	yyss = yyss1;
	yyvs = yyvs1;
      }
# ifndef YYSTACK_RELOCATE
      goto yyoverflowlab;
# else
      if (YYMAXDEPTH <= yystacksize)
	goto yyoverflowlab;
      if (YYMAXDEPTH < yystacksize)

      {
	short *yyss1 = yyss;
	union yyalloc *yyptr =
	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
	if (! yyptr)
	  goto yyoverflowlab;
	YYSTACK_RELOCATE (yyss);
	YYSTACK_RELOCATE (yyvs);

#  undef YYSTACK_RELOCATE
	if (yyss1 != yyssa)
	  YYSTACK_FREE (yyss1);
      }
# endif
      yyssp = yyss + yysize - 1;
      yyvsp = yyvs + yysize - 1;
Jean-François Remacle's avatar
 
Jean-François Remacle committed

      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
		  (unsigned long int) yystacksize));

      if (yyss + yystacksize - 1 <= yyssp)
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));

/*-----------.
| 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 == YYPACT_NINF)
    goto yydefault;

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

  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
      YYDPRINTF ((stderr, "Reading a token: "));
  if (yychar <= YYEOF)
      yychar = yytoken = YYEOF;
      YYDPRINTF ((stderr, "Now at end of input.\n"));
      yytoken = YYTRANSLATE (yychar);
      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
  /* If the proper action on seeing token YYTOKEN is to reduce or to
     detect an error, take that action.  */
  yyn += yytoken;
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
  if (yyn <= 0)
      if (yyn == 0 || yyn == YYTABLE_NINF)
	goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }

  if (yyn == YYFINAL)
    YYACCEPT;

  /* Shift the lookahead token.  */
  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));

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

  *++yyvsp = yylval;


  /* Count tokens shifted since error; after three, turn off error
     status.  */
  if (yyerrstatus)
    yyerrstatus--;
/*-----------------------------------------------------------.
| 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

/*-----------------------------.
| yyreduce -- Do a reduction.  |
`-----------------------------*/
  /* yyn is the number of a rule to reduce with.  */
  /* If YYLEN is nonzero, implement the default value of the action:
     `$$ = $1'.
     Otherwise, the following line sets YYVAL to garbage.
     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];
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

  YY_REDUCE_PRINT (yyn);
  switch (yyn)
    {
        case 5:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 169 "Gmsh.y"
    { yyerrok; return 1; ;}
    break;

  case 6:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 175 "Gmsh.y"
    { yyval.d = yyvsp[0].d; ;}
    break;

  case 7:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 176 "Gmsh.y"
    { yyval.d = -yyvsp[0].d; ;}
    break;

  case 10:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 186 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(INFO, "Reading STL solid");
      STL_Surf = Create_Surface(NEWSURFACE(), MSH_SURF_STL);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 200 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      STL_Surf->STL->Add_Facet(yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d,
			       yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d,
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
			       yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d, CTX.geom.stl_create_elementary);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 207 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(CTX.geom.stl_create_elementary){
	STL_Surf->STL->ReplaceDuplicate();
	if(CTX.geom.stl_create_physical)
	  STL_Surf->STL->CreatePhysicalSurface();
      }
      else{
	Tree_Add(THEM->Surfaces, &STL_Surf);
      }
      yymsg(INFO, "Read STL solid");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 229 "Gmsh.y"
    { return 1; ;}
    break;

  case 16:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 230 "Gmsh.y"
    { return 1; ;}
    break;

  case 17:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 231 "Gmsh.y"
    { return 1; ;}
    break;

  case 18:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 236 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(INFO, "Reading Step Iso-10303-21 data");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 241 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(INFO, "Read Step Iso-10303-21 data");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 252 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 255 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 259 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 265 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
        Add_Cartesian_Point((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 271 "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.);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 278 "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. );
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 284 "Gmsh.y"
      Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 288 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 1);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 292 "Gmsh.y"
      // check the norm! Face_Bound : hole outside surface!
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Face_Outer_Bound((int)yyvsp[-10].d, yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-2].i, 0);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 299 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 303 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Edge_Loop((int)yyvsp[-8].d, yyvsp[-4].c, yyvsp[-2].l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 308 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 312 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Vertex_Point((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 316 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 320 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 324 "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]);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 328 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Plane((int)yyvsp[-8].d, yyvsp[-4].c, (int)yyvsp[-2].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 332 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 336 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      yymsg(INFO, "Found a closed shell");
      Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 342 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 345 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 348 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 352 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 356 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 360 "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);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 364 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 369 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 372 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 376 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 379 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 383 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 386 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 389 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 401 "Gmsh.y"
    { return 1; ;}
    break;

  case 59:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 402 "Gmsh.y"
    { return 1; ;}
    break;

  case 60:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 403 "Gmsh.y"
    { return 1; ;}
    break;

  case 61:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 404 "Gmsh.y"
    { return 1; ;}
    break;

  case 62:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 405 "Gmsh.y"
    { List_Delete(yyvsp[0].l); return 1; ;}
    break;

  case 63:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 406 "Gmsh.y"
    { List_Delete(yyvsp[0].l); return 1; ;}
    break;

  case 64:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 407 "Gmsh.y"
    { return 1; ;}
    break;

  case 65:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 408 "Gmsh.y"
    { return 1; ;}
    break;

  case 66:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 409 "Gmsh.y"
    { return 1; ;}
    break;

  case 67:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 410 "Gmsh.y"
    { List_Delete(yyvsp[0].l); return 1; ;}
    break;

  case 68:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 411 "Gmsh.y"
    { return 1; ;}
    break;

  case 69:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 412 "Gmsh.y"
    { return 1; ;}
    break;

  case 70:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 413 "Gmsh.y"
    { return 1; ;}
    break;

  case 71:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 414 "Gmsh.y"
    { return 1; ;}
    break;

  case 72:
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 419 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      Msg(DIRECT, yyvsp[-2].c);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 423 "Gmsh.y"
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      char tmpstring[1024];
      int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      if(i < 0) 
	yymsg(GERROR, "Too few arguments in Printf");
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      else if(i > 0)
	yymsg(GERROR, "%d extra argument%s in Printf", i, (i>1)?"s":"");
      else
	Msg(DIRECT, tmpstring);
      List_Delete(yyvsp[-2].l);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 440 "Gmsh.y"
      if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); 
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 444 "Gmsh.y"
      if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
#line 451 "Gmsh.y"
      View = BeginView(1); 
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#line 485 "Gmsh.y"
    { List_Add(View->SP, &yyvsp[0].d); ;}
    break;

  case 105:
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#line 487 "Gmsh.y"
    { List_Add(View->SP, &yyvsp[0].d); ;}
    break;

  case 106:
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#line 492 "Gmsh.y"
      List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d);
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
      List_Add(View->SP, &yyvsp[-1].d);      
Jean-François Remacle's avatar
 
Jean-François Remacle committed
#line 497 "Gmsh.y"