-/* A Bison parser, made by GNU Bison 2.6.2. */
+/* A Bison parser, made by GNU Bison 2.7.12-4996. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.6.2"
+#define YYBISON_VERSION "2.7.12-4996"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pull parsers. */
#define YYPULL 0
+/* "%code top" blocks. */
+/* Line 349 of yacc.c */
+#line 43 "parser.y"
+
+/*! \internal \file parser.cpp
+ * \brief Generated (from parser.y by Bison) parser for the selection language.
+ *
+ * \ingroup module_selection
+ */
+/*! \internal \file parser.h
+ * \brief Generated (from parser.y by Bison) parser include file.
+ *
+ * \ingroup module_selection
+ */
+#include "gmxpre.h"
+
+
+/* Line 349 of yacc.c */
+#line 80 "parser.cpp"
/* Substitute the variable and function names. */
#define yypush_parse _gmx_sel_yypush_parse
#define yynerrs _gmx_sel_yynerrs
/* Copy the first part of user declarations. */
-/* Line 336 of yacc.c */
-#line 43 "parser.y"
+/* Line 371 of yacc.c */
+#line 56 "parser.y"
-/*! \internal \file parser.cpp
- * \brief Generated (from parser.y by Bison) parser for the selection language.
- *
- * \ingroup module_selection
- */
-/*! \internal \file parser.h
- * \brief Generated (from parser.y by Bison) parser include file.
- *
- * \ingroup module_selection
- */
#include "gromacs/utility/scoped_ptr_sfree.h"
#include "parser_internal.h"
#pragma warning(disable: 4065)
#endif
-/* Line 336 of yacc.c */
-#line 108 "parser.cpp"
+/* Line 371 of yacc.c */
+#line 117 "parser.cpp"
# ifndef YY_NULL
# if defined __cplusplus && 201103L <= __cplusplus
/* In a future release of Bison, this section will be replaced
by #include "parser.h". */
-#ifndef _GMX_SEL_YY_PARSER_H
-# define _GMX_SEL_YY_PARSER_H
+#ifndef YY__GMX_SEL_YY_PARSER_H_INCLUDED
+# define YY__GMX_SEL_YY_PARSER_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
extern int _gmx_sel_yydebug;
#endif
/* "%code requires" blocks. */
-/* Line 350 of yacc.c */
+/* Line 387 of yacc.c */
#line 1 "parser.y"
/*
* the research papers on the package. Check out http://www.gromacs.org.
*/
-/* Line 350 of yacc.c */
-#line 73 "parser.y"
+/* Line 387 of yacc.c */
+#line 76 "parser.y"
#include "parsetree.h"
#include "selelem.h"
-/* Line 350 of yacc.c */
-#line 184 "parser.cpp"
+/* Line 387 of yacc.c */
+#line 193 "parser.cpp"
/* Tokens. */
#ifndef YYTOKENTYPE
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{
-/* Line 350 of yacc.c */
-#line 78 "parser.y"
+/* Line 387 of yacc.c */
+#line 81 "parser.y"
int i;
real r;
gmx::SelectionParserParameterListPointer *plist;
-/* Line 350 of yacc.c */
-#line 248 "parser.cpp"
+/* Line 387 of yacc.c */
+#line 257 "parser.cpp"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
void _gmx_sel_yypstate_delete ();
#endif
-#endif /* !_GMX_SEL_YY_PARSER_H */
+#endif /* !YY__GMX_SEL_YY_PARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 353 of yacc.c */
-#line 285 "parser.cpp"
+/* Line 390 of yacc.c */
+#line 294 "parser.cpp"
#ifdef short
# undef short
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
-# define YY_(msgid) msgid
+# define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later. */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+# define __attribute__(Spec) /* empty */
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
#else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
#endif
+
/* Identity function, used to suppress warnings about constant conditions. */
#ifndef lint
-# define YYID(n) (n)
+# define YYID(N) (N)
#else
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 193, 193, 198, 209, 210, 232, 237, 248, 260,
- 266, 273, 280, 287, 297, 298, 305, 306, 320, 321,
- 325, 326, 329, 330, 333, 334, 342, 353, 364, 375,
- 379, 390, 397, 406, 407, 412, 413, 414, 418, 426,
- 434, 442, 453, 468, 479, 493, 501, 512, 518, 524,
- 530, 536, 542, 548, 555, 566, 581, 590, 594, 604,
- 618, 626, 634, 647, 649, 655, 660, 671, 680, 681,
- 686, 691, 699, 710, 711, 715, 721, 729, 739, 745,
- 751, 757, 763, 767, 773, 779, 786, 790, 796, 802
+ 0, 196, 196, 201, 212, 213, 235, 240, 251, 263,
+ 269, 276, 283, 290, 300, 301, 308, 309, 323, 324,
+ 328, 329, 332, 333, 336, 337, 345, 356, 367, 378,
+ 382, 393, 400, 409, 410, 415, 416, 417, 421, 429,
+ 437, 445, 456, 471, 482, 496, 504, 515, 521, 527,
+ 533, 539, 545, 551, 558, 569, 584, 593, 597, 607,
+ 621, 629, 637, 650, 652, 658, 663, 674, 683, 684,
+ 689, 694, 702, 713, 714, 718, 724, 732, 742, 748,
+ 754, 760, 766, 770, 776, 782, 789, 793, 799, 805
};
#endif
0, 16, 0, 0, 0, 0, 0, 0, 39
};
-#define yypact_value_is_default(yystate) \
- ((yystate) == (-84))
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-84)))
-#define yytable_value_is_error(yytable_value) \
+#define yytable_value_is_error(Yytable_value) \
YYID (0)
static const yytype_int16 yycheck[] =
} \
while (YYID (0))
-
+/* Error token number */
#define YYTERROR 1
#define YYERRCODE 256
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
-#endif
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-
-
/* This macro is provided for backward compatibility. */
-
#ifndef YY_LOCATION_PRINT
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
/* YYLEX -- calling `yylex' with the right arguments. */
-
#ifdef YYLEX_PARAM
# define YYLEX yylex (&yylval, YYLEX_PARAM)
#else
# else
YYUSE (yyoutput);
# endif
- switch (yytype)
- {
- default:
- break;
- }
+ YYUSE (yytype);
}
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
break;
}
yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
}
}
}
# undef YYCASE_
}
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
if (*yymsg_alloc < yysize)
{
switch (yytype)
{
case 6: /* STR */
-/* Line 1381 of yacc.c */
-#line 173 "parser.y"
- { free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1380 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 176 "parser.y"
+ { free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1368 "parser.cpp"
+ break;
case 7: /* IDENTIFIER */
-/* Line 1381 of yacc.c */
-#line 173 "parser.y"
- { free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1387 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 176 "parser.y"
+ { free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1375 "parser.cpp"
+ break;
case 16: /* KEYWORD_POS */
-/* Line 1381 of yacc.c */
-#line 173 "parser.y"
- { free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1394 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 176 "parser.y"
+ { free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1382 "parser.cpp"
+ break;
case 23: /* PARAM */
-/* Line 1381 of yacc.c */
-#line 174 "parser.y"
- { if(((*yyvaluep).str)) free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1401 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 177 "parser.y"
+ { if(((*yyvaluep).str)) free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1389 "parser.cpp"
+ break;
case 26: /* CMP_OP */
-/* Line 1381 of yacc.c */
-#line 173 "parser.y"
- { free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1408 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 176 "parser.y"
+ { free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1396 "parser.cpp"
+ break;
case 50: /* commands */
-/* Line 1381 of yacc.c */
-#line 175 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1415 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 178 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1403 "parser.cpp"
+ break;
case 51: /* command */
-/* Line 1381 of yacc.c */
-#line 175 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1422 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 178 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1410 "parser.cpp"
+ break;
case 52: /* cmd_plain */
-/* Line 1381 of yacc.c */
-#line 175 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1429 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 178 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1417 "parser.cpp"
+ break;
case 53: /* selection */
-/* Line 1381 of yacc.c */
-#line 175 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1436 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 178 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1424 "parser.cpp"
+ break;
case 57: /* string */
-/* Line 1381 of yacc.c */
-#line 173 "parser.y"
- { free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1443 "parser.cpp"
- break;
- case 58: /* sel_expr */
-/* Line 1381 of yacc.c */
+/* Line 1393 of yacc.c */
#line 176 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1450 "parser.cpp"
- break;
+ { free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1431 "parser.cpp"
+ break;
+ case 58: /* sel_expr */
+/* Line 1393 of yacc.c */
+#line 179 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1438 "parser.cpp"
+ break;
case 59: /* pos_mod */
-/* Line 1381 of yacc.c */
-#line 174 "parser.y"
- { if(((*yyvaluep).str)) free(((*yyvaluep).str)); };
-/* Line 1381 of yacc.c */
-#line 1457 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 177 "parser.y"
+ { if(((*yyvaluep).str)) free(((*yyvaluep).str)); };
+/* Line 1393 of yacc.c */
+#line 1445 "parser.cpp"
+ break;
case 61: /* num_expr */
-/* Line 1381 of yacc.c */
-#line 176 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1464 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 179 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1452 "parser.cpp"
+ break;
case 62: /* str_expr */
-/* Line 1381 of yacc.c */
-#line 176 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1471 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 179 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1459 "parser.cpp"
+ break;
case 63: /* pos_expr */
-/* Line 1381 of yacc.c */
-#line 176 "parser.y"
- { delete ((*yyvaluep).sel); };
-/* Line 1381 of yacc.c */
-#line 1478 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 179 "parser.y"
+ { delete ((*yyvaluep).sel); };
+/* Line 1393 of yacc.c */
+#line 1466 "parser.cpp"
+ break;
case 64: /* method_params */
-/* Line 1381 of yacc.c */
-#line 177 "parser.y"
- { delete ((*yyvaluep).plist); };
-/* Line 1381 of yacc.c */
-#line 1485 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 180 "parser.y"
+ { delete ((*yyvaluep).plist); };
+/* Line 1393 of yacc.c */
+#line 1473 "parser.cpp"
+ break;
case 65: /* method_param_list */
-/* Line 1381 of yacc.c */
-#line 177 "parser.y"
- { delete ((*yyvaluep).plist); };
-/* Line 1381 of yacc.c */
-#line 1492 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 180 "parser.y"
+ { delete ((*yyvaluep).plist); };
+/* Line 1393 of yacc.c */
+#line 1480 "parser.cpp"
+ break;
case 66: /* method_param */
-/* Line 1381 of yacc.c */
-#line 177 "parser.y"
- { delete ((*yyvaluep).param); };
-/* Line 1381 of yacc.c */
-#line 1499 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 180 "parser.y"
+ { delete ((*yyvaluep).param); };
+/* Line 1393 of yacc.c */
+#line 1487 "parser.cpp"
+ break;
case 67: /* value_list */
-/* Line 1381 of yacc.c */
-#line 178 "parser.y"
- { delete ((*yyvaluep).vlist); };
-/* Line 1381 of yacc.c */
-#line 1506 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 181 "parser.y"
+ { delete ((*yyvaluep).vlist); };
+/* Line 1393 of yacc.c */
+#line 1494 "parser.cpp"
+ break;
case 68: /* value_list_contents */
-/* Line 1381 of yacc.c */
-#line 178 "parser.y"
- { delete ((*yyvaluep).vlist); };
-/* Line 1381 of yacc.c */
-#line 1513 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 181 "parser.y"
+ { delete ((*yyvaluep).vlist); };
+/* Line 1393 of yacc.c */
+#line 1501 "parser.cpp"
+ break;
case 69: /* basic_value_list */
-/* Line 1381 of yacc.c */
-#line 178 "parser.y"
- { delete ((*yyvaluep).vlist); };
-/* Line 1381 of yacc.c */
-#line 1520 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 181 "parser.y"
+ { delete ((*yyvaluep).vlist); };
+/* Line 1393 of yacc.c */
+#line 1508 "parser.cpp"
+ break;
case 70: /* basic_value_list_contents */
-/* Line 1381 of yacc.c */
-#line 178 "parser.y"
- { delete ((*yyvaluep).vlist); };
-/* Line 1381 of yacc.c */
-#line 1527 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 181 "parser.y"
+ { delete ((*yyvaluep).vlist); };
+/* Line 1393 of yacc.c */
+#line 1515 "parser.cpp"
+ break;
case 71: /* value_item */
-/* Line 1381 of yacc.c */
-#line 179 "parser.y"
- { delete ((*yyvaluep).val); };
-/* Line 1381 of yacc.c */
-#line 1534 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 182 "parser.y"
+ { delete ((*yyvaluep).val); };
+/* Line 1393 of yacc.c */
+#line 1522 "parser.cpp"
+ break;
case 72: /* basic_value_item */
-/* Line 1381 of yacc.c */
-#line 179 "parser.y"
- { delete ((*yyvaluep).val); };
-/* Line 1381 of yacc.c */
-#line 1541 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 182 "parser.y"
+ { delete ((*yyvaluep).val); };
+/* Line 1393 of yacc.c */
+#line 1529 "parser.cpp"
+ break;
case 73: /* value_item_range */
-/* Line 1381 of yacc.c */
-#line 179 "parser.y"
- { delete ((*yyvaluep).val); };
-/* Line 1381 of yacc.c */
-#line 1548 "parser.cpp"
- break;
+/* Line 1393 of yacc.c */
+#line 182 "parser.y"
+ { delete ((*yyvaluep).val); };
+/* Line 1393 of yacc.c */
+#line 1536 "parser.cpp"
+ break;
default:
- break;
+ break;
}
}
/* The lookahead symbol. */
int yychar;
+
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
+#else
+/* Default value used for initialization, for pacifying older GCCs
+ or non-GCC compilers. */
+static YYSTYPE yyval_default;
+# define YY_INITIAL_VALUE(Value) = Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
- int yytoken;
+ int yytoken = 0;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
goto yyread_pushed_token;
}
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
+ yyssp = yyss = yyssa;
+ yyvsp = yyvs = yyvsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
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;
- yyvsp = yyvs;
goto yysetstate;
/*------------------------------------------------------------.
yychar = YYEMPTY;
yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
goto yynewstate;
{
case 2:
/* Line 1787 of yacc.c */
-#line 193 "parser.y"
+#line 196 "parser.y"
{
BEGIN_ACTION;
set_empty((yyval.sel));
case 3:
/* Line 1787 of yacc.c */
-#line 199 "parser.y"
+#line 202 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_append_selection(get((yyvsp[(2) - (2)].sel)), get((yyvsp[(1) - (2)].sel)), scanner));
case 4:
/* Line 1787 of yacc.c */
-#line 209 "parser.y"
+#line 212 "parser.y"
{ (yyval.sel) = (yyvsp[(1) - (2)].sel); }
break;
case 5:
/* Line 1787 of yacc.c */
-#line 211 "parser.y"
+#line 214 "parser.y"
{
BEGIN_ACTION;
_gmx_selparser_error(scanner, "invalid selection '%s'",
case 6:
/* Line 1787 of yacc.c */
-#line 232 "parser.y"
+#line 235 "parser.y"
{
BEGIN_ACTION;
set_empty((yyval.sel));
case 7:
/* Line 1787 of yacc.c */
-#line 238 "parser.y"
+#line 241 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer s
case 8:
/* Line 1787 of yacc.c */
-#line 249 "parser.y"
+#line 252 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (1)].str));
case 9:
/* Line 1787 of yacc.c */
-#line 261 "parser.y"
+#line 264 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_selection(NULL, get((yyvsp[(1) - (1)].sel)), scanner));
case 10:
/* Line 1787 of yacc.c */
-#line 267 "parser.y"
+#line 270 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (2)].str));
case 11:
/* Line 1787 of yacc.c */
-#line 274 "parser.y"
+#line 277 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str));
case 12:
/* Line 1787 of yacc.c */
-#line 281 "parser.y"
+#line 284 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str));
case 13:
/* Line 1787 of yacc.c */
-#line 288 "parser.y"
+#line 291 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (3)].str));
case 14:
/* Line 1787 of yacc.c */
-#line 297 "parser.y"
+#line 300 "parser.y"
{ (yyval.sel) = (yyvsp[(1) - (1)].sel); }
break;
case 15:
/* Line 1787 of yacc.c */
-#line 299 "parser.y"
+#line 302 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_position(get((yyvsp[(1) - (1)].sel)), NULL, scanner));
case 16:
/* Line 1787 of yacc.c */
-#line 305 "parser.y"
+#line 308 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); }
break;
case 17:
/* Line 1787 of yacc.c */
-#line 307 "parser.y"
+#line 310 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_modifier((yyvsp[(2) - (3)].meth), get((yyvsp[(3) - (3)].plist)), get((yyvsp[(1) - (3)].sel)), scanner));
case 18:
/* Line 1787 of yacc.c */
-#line 320 "parser.y"
+#line 323 "parser.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 19:
/* Line 1787 of yacc.c */
-#line 321 "parser.y"
+#line 324 "parser.y"
{ (yyval.i) = -(yyvsp[(2) - (2)].i); }
break;
case 20:
/* Line 1787 of yacc.c */
-#line 325 "parser.y"
+#line 328 "parser.y"
{ (yyval.r) = (yyvsp[(1) - (1)].r); }
break;
case 21:
/* Line 1787 of yacc.c */
-#line 326 "parser.y"
+#line 329 "parser.y"
{ (yyval.r) = -(yyvsp[(2) - (2)].r); }
break;
case 22:
/* Line 1787 of yacc.c */
-#line 329 "parser.y"
+#line 332 "parser.y"
{ (yyval.r) = (yyvsp[(1) - (1)].i); }
break;
case 23:
/* Line 1787 of yacc.c */
-#line 330 "parser.y"
+#line 333 "parser.y"
{ (yyval.r) = (yyvsp[(1) - (1)].r); }
break;
case 24:
/* Line 1787 of yacc.c */
-#line 333 "parser.y"
+#line 336 "parser.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 25:
/* Line 1787 of yacc.c */
-#line 334 "parser.y"
+#line 337 "parser.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 26:
/* Line 1787 of yacc.c */
-#line 343 "parser.y"
+#line 346 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer arg(get((yyvsp[(2) - (2)].sel)));
case 27:
/* Line 1787 of yacc.c */
-#line 354 "parser.y"
+#line 357 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer arg1(get((yyvsp[(1) - (3)].sel))), arg2(get((yyvsp[(3) - (3)].sel)));
case 28:
/* Line 1787 of yacc.c */
-#line 365 "parser.y"
+#line 368 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer arg1(get((yyvsp[(1) - (3)].sel))), arg2(get((yyvsp[(3) - (3)].sel)));
case 29:
/* Line 1787 of yacc.c */
-#line 375 "parser.y"
+#line 378 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); }
break;
case 30:
/* Line 1787 of yacc.c */
-#line 380 "parser.y"
+#line 383 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree opGuard((yyvsp[(2) - (3)].str));
case 31:
/* Line 1787 of yacc.c */
-#line 391 "parser.y"
+#line 394 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(2) - (2)].str));
case 32:
/* Line 1787 of yacc.c */
-#line 398 "parser.y"
+#line 401 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_group_by_id((yyvsp[(2) - (2)].i), scanner));
case 33:
/* Line 1787 of yacc.c */
-#line 406 "parser.y"
+#line 409 "parser.y"
{ (yyval.str) = NULL; }
break;
case 34:
/* Line 1787 of yacc.c */
-#line 407 "parser.y"
+#line 410 "parser.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 35:
/* Line 1787 of yacc.c */
-#line 412 "parser.y"
+#line 415 "parser.y"
{ (yyval.smt) = gmx::eStringMatchType_RegularExpression; }
break;
case 36:
/* Line 1787 of yacc.c */
-#line 413 "parser.y"
+#line 416 "parser.y"
{ (yyval.smt) = gmx::eStringMatchType_Wildcard; }
break;
case 37:
/* Line 1787 of yacc.c */
-#line 414 "parser.y"
+#line 417 "parser.y"
{ (yyval.smt) = gmx::eStringMatchType_Exact; }
break;
case 38:
/* Line 1787 of yacc.c */
-#line 419 "parser.y"
+#line 422 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str));
case 39:
/* Line 1787 of yacc.c */
-#line 427 "parser.y"
+#line 430 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str));
case 40:
/* Line 1787 of yacc.c */
-#line 435 "parser.y"
+#line 438 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (4)].str));
case 41:
/* Line 1787 of yacc.c */
-#line 443 "parser.y"
+#line 446 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str));
case 42:
/* Line 1787 of yacc.c */
-#line 454 "parser.y"
+#line 457 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str));
case 43:
/* Line 1787 of yacc.c */
-#line 469 "parser.y"
+#line 472 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer sel(
case 44:
/* Line 1787 of yacc.c */
-#line 480 "parser.y"
+#line 483 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer sel(
case 45:
/* Line 1787 of yacc.c */
-#line 494 "parser.y"
+#line 497 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str));
case 46:
/* Line 1787 of yacc.c */
-#line 502 "parser.y"
+#line 505 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (3)].str));
case 47:
/* Line 1787 of yacc.c */
-#line 513 "parser.y"
+#line 516 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '+', scanner));
case 48:
/* Line 1787 of yacc.c */
-#line 519 "parser.y"
+#line 522 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '-', scanner));
case 49:
/* Line 1787 of yacc.c */
-#line 525 "parser.y"
+#line 528 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '*', scanner));
case 50:
/* Line 1787 of yacc.c */
-#line 531 "parser.y"
+#line 534 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '/', scanner));
case 51:
/* Line 1787 of yacc.c */
-#line 537 "parser.y"
+#line 540 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(2) - (2)].sel)), SelectionTreeElementPointer(), '-', scanner));
case 52:
/* Line 1787 of yacc.c */
-#line 543 "parser.y"
+#line 546 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_arithmetic(get((yyvsp[(1) - (3)].sel)), get((yyvsp[(3) - (3)].sel)), '^', scanner));
case 53:
/* Line 1787 of yacc.c */
-#line 548 "parser.y"
+#line 551 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); }
break;
case 54:
/* Line 1787 of yacc.c */
-#line 556 "parser.y"
+#line 559 "parser.y"
{
BEGIN_ACTION;
SelectionTreeElementPointer sel(
case 55:
/* Line 1787 of yacc.c */
-#line 567 "parser.y"
+#line 570 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree posmodGuard((yyvsp[(1) - (2)].str));
case 56:
/* Line 1787 of yacc.c */
-#line 582 "parser.y"
+#line 585 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_const_position((yyvsp[(2) - (7)].r), (yyvsp[(4) - (7)].r), (yyvsp[(6) - (7)].r)));
case 57:
/* Line 1787 of yacc.c */
-#line 590 "parser.y"
+#line 593 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); }
break;
case 58:
/* Line 1787 of yacc.c */
-#line 595 "parser.y"
+#line 598 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_method((yyvsp[(1) - (2)].meth), get((yyvsp[(2) - (2)].plist)), NULL, scanner));
case 59:
/* Line 1787 of yacc.c */
-#line 605 "parser.y"
+#line 608 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree keywordGuard((yyvsp[(1) - (3)].str));
case 60:
/* Line 1787 of yacc.c */
-#line 619 "parser.y"
+#line 622 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel))));
case 61:
/* Line 1787 of yacc.c */
-#line 627 "parser.y"
+#line 630 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel))));
case 62:
/* Line 1787 of yacc.c */
-#line 635 "parser.y"
+#line 638 "parser.y"
{
BEGIN_ACTION;
set((yyval.sel), _gmx_sel_init_variable_ref(get((yyvsp[(1) - (1)].sel))));
case 63:
/* Line 1787 of yacc.c */
-#line 648 "parser.y"
+#line 651 "parser.y"
{ (yyval.plist) = (yyvsp[(1) - (1)].plist); }
break;
case 64:
/* Line 1787 of yacc.c */
-#line 650 "parser.y"
+#line 653 "parser.y"
{ (yyval.plist) = (yyvsp[(1) - (2)].plist); }
break;
case 65:
/* Line 1787 of yacc.c */
-#line 655 "parser.y"
+#line 658 "parser.y"
{
BEGIN_ACTION;
set((yyval.plist), SelectionParserParameter::createList());
case 66:
/* Line 1787 of yacc.c */
-#line 661 "parser.y"
+#line 664 "parser.y"
{
BEGIN_ACTION;
SelectionParserParameterListPointer list(get((yyvsp[(1) - (2)].plist)));
case 67:
/* Line 1787 of yacc.c */
-#line 672 "parser.y"
+#line 675 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree nameGuard((yyvsp[(1) - (2)].str));
case 68:
/* Line 1787 of yacc.c */
-#line 680 "parser.y"
+#line 683 "parser.y"
{ (yyval.vlist) = (yyvsp[(1) - (1)].vlist); }
break;
case 69:
/* Line 1787 of yacc.c */
-#line 681 "parser.y"
+#line 684 "parser.y"
{ (yyval.vlist) = (yyvsp[(2) - (3)].vlist); }
break;
case 70:
/* Line 1787 of yacc.c */
-#line 686 "parser.y"
+#line 689 "parser.y"
{
BEGIN_ACTION;
set((yyval.vlist), SelectionParserValue::createList());
case 71:
/* Line 1787 of yacc.c */
-#line 692 "parser.y"
+#line 695 "parser.y"
{
BEGIN_ACTION;
SelectionParserValueListPointer list(get((yyvsp[(1) - (2)].vlist)));
case 72:
/* Line 1787 of yacc.c */
-#line 700 "parser.y"
+#line 703 "parser.y"
{
BEGIN_ACTION;
SelectionParserValueListPointer list(get((yyvsp[(1) - (3)].vlist)));
case 73:
/* Line 1787 of yacc.c */
-#line 710 "parser.y"
+#line 713 "parser.y"
{ (yyval.vlist) = (yyvsp[(1) - (1)].vlist); }
break;
case 74:
/* Line 1787 of yacc.c */
-#line 711 "parser.y"
+#line 714 "parser.y"
{ (yyval.vlist) = (yyvsp[(2) - (3)].vlist); }
break;
case 75:
/* Line 1787 of yacc.c */
-#line 716 "parser.y"
+#line 719 "parser.y"
{
BEGIN_ACTION;
set((yyval.vlist), SelectionParserValue::createList(get((yyvsp[(1) - (1)].val))));
case 76:
/* Line 1787 of yacc.c */
-#line 722 "parser.y"
+#line 725 "parser.y"
{
BEGIN_ACTION;
SelectionParserValueListPointer list(get((yyvsp[(1) - (2)].vlist)));
case 77:
/* Line 1787 of yacc.c */
-#line 730 "parser.y"
+#line 733 "parser.y"
{
BEGIN_ACTION;
SelectionParserValueListPointer list(get((yyvsp[(1) - (3)].vlist)));
case 78:
/* Line 1787 of yacc.c */
-#line 740 "parser.y"
+#line 743 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel))));
case 79:
/* Line 1787 of yacc.c */
-#line 746 "parser.y"
+#line 749 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel))));
case 80:
/* Line 1787 of yacc.c */
-#line 752 "parser.y"
+#line 755 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel))));
case 81:
/* Line 1787 of yacc.c */
-#line 758 "parser.y"
+#line 761 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createExpr(get((yyvsp[(1) - (1)].sel))));
case 82:
/* Line 1787 of yacc.c */
-#line 763 "parser.y"
+#line 766 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 83:
/* Line 1787 of yacc.c */
-#line 768 "parser.y"
+#line 771 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createInteger((yyvsp[(1) - (1)].i)));
case 84:
/* Line 1787 of yacc.c */
-#line 774 "parser.y"
+#line 777 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createReal((yyvsp[(1) - (1)].r)));
case 85:
/* Line 1787 of yacc.c */
-#line 780 "parser.y"
+#line 783 "parser.y"
{
BEGIN_ACTION;
scoped_ptr_sfree stringGuard((yyvsp[(1) - (1)].str));
case 86:
/* Line 1787 of yacc.c */
-#line 786 "parser.y"
+#line 789 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); }
break;
case 87:
/* Line 1787 of yacc.c */
-#line 791 "parser.y"
+#line 794 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createIntegerRange((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)));
case 88:
/* Line 1787 of yacc.c */
-#line 797 "parser.y"
+#line 800 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createRealRange((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].r)));
case 89:
/* Line 1787 of yacc.c */
-#line 803 "parser.y"
+#line 806 "parser.y"
{
BEGIN_ACTION;
set((yyval.val), SelectionParserValue::createRealRange((yyvsp[(1) - (3)].r), (yyvsp[(3) - (3)].r)));
/* Line 1787 of yacc.c */
-#line 2763 "parser.cpp"
+#line 2768 "parser.cpp"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
YY_STACK_PRINT (yyss, yyssp);
}
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
/* Shift the error token. */