struct t_selexpr_param *param;
}
/* Line 187 of yacc.c. */
- #line 216 "parser.cpp"
-#line 214 "parser.c"
++#line 218 "parser.cpp"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
/* Line 216 of yacc.c. */
- #line 229 "parser.cpp"
-#line 227 "parser.c"
++#line 231 "parser.cpp"
#ifdef short
# undef short
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 185, 185, 186, 195, 196, 216, 220, 221, 230,
- 240, 242, 244, 246, 248, 254, 255, 258, 259, 263,
- 264, 269, 270, 281, 282, 285, 286, 294, 300, 306,
- 318, 322, 330, 336, 344, 345, 349, 354, 359, 367,
- 379, 386, 396, 401, 409, 411, 413, 415, 417, 419,
- 421, 428, 435, 447, 452, 456, 464, 475, 479, 483,
- 492, 494, 499, 500, 505, 512, 513, 517, 518, 520,
- 524, 526, 528, 530, 532, 537, 542
- 0, 182, 182, 183, 192, 193, 213, 217, 218, 227,
- 237, 239, 241, 243, 245, 251, 252, 255, 256, 260,
- 261, 266, 267, 279, 280, 284, 285, 288, 289, 292,
- 293, 301, 307, 313, 325, 329, 337, 343, 351, 352,
- 356, 361, 366, 374, 386, 393, 403, 408, 416, 418,
- 420, 422, 424, 426, 428, 435, 442, 454, 459, 463,
- 471, 482, 486, 490, 499, 501, 506, 507, 512, 519,
- 520, 521, 525, 526, 528, 533, 534, 538, 539, 541,
- 545, 547, 549, 551, 553, 557, 562, 567, 572, 576,
- 581, 586
++ 0, 189, 189, 190, 199, 200, 220, 224, 225, 234,
++ 244, 246, 248, 250, 252, 258, 259, 262, 263, 267,
++ 268, 273, 274, 286, 287, 291, 292, 295, 296, 299,
++ 300, 308, 314, 320, 332, 336, 344, 350, 358, 359,
++ 363, 368, 373, 381, 393, 400, 410, 415, 423, 425,
++ 427, 429, 431, 433, 435, 442, 449, 461, 466, 470,
++ 478, 489, 493, 497, 506, 508, 513, 514, 519, 526,
++ 527, 528, 532, 533, 535, 540, 541, 545, 546, 548,
++ 552, 554, 556, 558, 560, 564, 569, 574, 579, 583,
++ 588, 593
};
#endif
switch (yytype)
{
case 5: /* "HELP_TOPIC" */
- #line 165 "parser.y"
-#line 161 "parser.y"
++#line 168 "parser.y"
{ free((yyvaluep->str)); };
- #line 1278 "parser.cpp"
-#line 1317 "parser.c"
++#line 1321 "parser.cpp"
break;
case 8: /* "STR" */
- #line 165 "parser.y"
-#line 161 "parser.y"
++#line 168 "parser.y"
{ free((yyvaluep->str)); };
- #line 1283 "parser.cpp"
-#line 1322 "parser.c"
++#line 1326 "parser.cpp"
break;
case 9: /* "IDENTIFIER" */
- #line 165 "parser.y"
-#line 161 "parser.y"
++#line 168 "parser.y"
{ free((yyvaluep->str)); };
- #line 1288 "parser.cpp"
-#line 1327 "parser.c"
++#line 1331 "parser.cpp"
break;
case 25: /* "PARAM" */
- #line 166 "parser.y"
-#line 162 "parser.y"
++#line 169 "parser.y"
{ if((yyvaluep->str)) free((yyvaluep->str)); };
- #line 1293 "parser.cpp"
-#line 1332 "parser.c"
++#line 1336 "parser.cpp"
break;
case 28: /* "CMP_OP" */
- #line 165 "parser.y"
-#line 161 "parser.y"
++#line 168 "parser.y"
{ free((yyvaluep->str)); };
- #line 1298 "parser.cpp"
-#line 1337 "parser.c"
++#line 1341 "parser.cpp"
break;
- case 46: /* "command" */
- #line 167 "parser.y"
+ case 51: /* "command" */
-#line 163 "parser.y"
++#line 170 "parser.y"
{ if((yyvaluep->sel)) _gmx_selelem_free((yyvaluep->sel)); };
- #line 1303 "parser.cpp"
-#line 1342 "parser.c"
++#line 1346 "parser.cpp"
break;
- case 47: /* "cmd_plain" */
- #line 167 "parser.y"
+ case 52: /* "cmd_plain" */
-#line 163 "parser.y"
++#line 170 "parser.y"
{ if((yyvaluep->sel)) _gmx_selelem_free((yyvaluep->sel)); };
- #line 1308 "parser.cpp"
-#line 1347 "parser.c"
++#line 1351 "parser.cpp"
break;
- case 50: /* "selection" */
- #line 168 "parser.y"
+ case 55: /* "selection" */
-#line 164 "parser.y"
++#line 171 "parser.y"
{ _gmx_selelem_free_chain((yyvaluep->sel)); };
- #line 1313 "parser.cpp"
-#line 1352 "parser.c"
++#line 1356 "parser.cpp"
break;
- case 52: /* "string" */
- #line 165 "parser.y"
+ case 59: /* "string" */
-#line 161 "parser.y"
++#line 168 "parser.y"
{ free((yyvaluep->str)); };
- #line 1318 "parser.cpp"
-#line 1357 "parser.c"
++#line 1361 "parser.cpp"
break;
- case 53: /* "sel_expr" */
- #line 169 "parser.y"
+ case 60: /* "sel_expr" */
-#line 165 "parser.y"
++#line 172 "parser.y"
{ _gmx_selelem_free((yyvaluep->sel)); };
- #line 1323 "parser.cpp"
-#line 1362 "parser.c"
++#line 1366 "parser.cpp"
break;
- case 55: /* "num_expr" */
- #line 169 "parser.y"
+ case 62: /* "num_expr" */
-#line 165 "parser.y"
++#line 172 "parser.y"
{ _gmx_selelem_free((yyvaluep->sel)); };
- #line 1328 "parser.cpp"
-#line 1367 "parser.c"
++#line 1371 "parser.cpp"
break;
- case 56: /* "str_expr" */
- #line 169 "parser.y"
+ case 63: /* "str_expr" */
-#line 165 "parser.y"
++#line 172 "parser.y"
{ _gmx_selelem_free((yyvaluep->sel)); };
- #line 1333 "parser.cpp"
-#line 1372 "parser.c"
++#line 1376 "parser.cpp"
break;
- case 57: /* "pos_expr" */
- #line 169 "parser.y"
+ case 64: /* "pos_expr" */
-#line 165 "parser.y"
++#line 172 "parser.y"
{ _gmx_selelem_free((yyvaluep->sel)); };
- #line 1338 "parser.cpp"
-#line 1377 "parser.c"
++#line 1381 "parser.cpp"
break;
- case 58: /* "method_params" */
- #line 170 "parser.y"
+ case 65: /* "method_params" */
-#line 166 "parser.y"
++#line 173 "parser.y"
{ _gmx_selexpr_free_params((yyvaluep->param)); };
- #line 1343 "parser.cpp"
-#line 1382 "parser.c"
++#line 1386 "parser.cpp"
break;
- case 59: /* "method_param_list" */
- #line 170 "parser.y"
+ case 66: /* "method_param_list" */
-#line 166 "parser.y"
++#line 173 "parser.y"
{ _gmx_selexpr_free_params((yyvaluep->param)); };
- #line 1348 "parser.cpp"
-#line 1387 "parser.c"
++#line 1391 "parser.cpp"
break;
- case 60: /* "method_param" */
- #line 170 "parser.y"
+ case 67: /* "method_param" */
-#line 166 "parser.y"
++#line 173 "parser.y"
{ _gmx_selexpr_free_params((yyvaluep->param)); };
- #line 1353 "parser.cpp"
-#line 1392 "parser.c"
++#line 1396 "parser.cpp"
break;
- case 61: /* "value_list" */
- #line 171 "parser.y"
+ case 68: /* "value_list" */
-#line 167 "parser.y"
++#line 174 "parser.y"
{ _gmx_selexpr_free_values((yyvaluep->val)); };
- #line 1358 "parser.cpp"
-#line 1397 "parser.c"
++#line 1401 "parser.cpp"
break;
- case 62: /* "value_list_nonempty" */
- #line 171 "parser.y"
+ case 69: /* "value_list_contents" */
-#line 167 "parser.y"
++#line 174 "parser.y"
{ _gmx_selexpr_free_values((yyvaluep->val)); };
- #line 1363 "parser.cpp"
-#line 1402 "parser.c"
++#line 1406 "parser.cpp"
break;
- case 63: /* "value_item" */
- #line 171 "parser.y"
+ case 70: /* "basic_value_list" */
-#line 168 "parser.y"
++#line 175 "parser.y"
+ { _gmx_selexpr_free_values((yyvaluep->val)); };
-#line 1407 "parser.c"
++#line 1411 "parser.cpp"
+ break;
+ case 71: /* "basic_value_list_contents" */
-#line 168 "parser.y"
++#line 175 "parser.y"
+ { _gmx_selexpr_free_values((yyvaluep->val)); };
-#line 1412 "parser.c"
++#line 1416 "parser.cpp"
+ break;
+ case 72: /* "value_item" */
-#line 167 "parser.y"
++#line 174 "parser.y"
+ { _gmx_selexpr_free_values((yyvaluep->val)); };
-#line 1417 "parser.c"
++#line 1421 "parser.cpp"
+ break;
+ case 73: /* "basic_value_item" */
-#line 168 "parser.y"
++#line 175 "parser.y"
+ { _gmx_selexpr_free_values((yyvaluep->val)); };
-#line 1422 "parser.c"
++#line 1426 "parser.cpp"
+ break;
+ case 74: /* "value_item_range" */
-#line 167 "parser.y"
++#line 174 "parser.y"
{ _gmx_selexpr_free_values((yyvaluep->val)); };
- #line 1368 "parser.cpp"
-#line 1427 "parser.c"
++#line 1431 "parser.cpp"
break;
default:
switch (yyn)
{
case 2:
- #line 185 "parser.y"
-#line 182 "parser.y"
++#line 189 "parser.y"
{ (yyval.sel) = NULL ;}
break;
case 3:
- #line 187 "parser.y"
-#line 184 "parser.y"
++#line 191 "parser.y"
{
(yyval.sel) = _gmx_sel_append_selection((yyvsp[(2) - (2)].sel), (yyvsp[(1) - (2)].sel), scanner);
if (_gmx_sel_parser_should_finish(scanner))
break;
case 4:
- #line 195 "parser.y"
-#line 192 "parser.y"
++#line 199 "parser.y"
{ (yyval.sel) = (yyvsp[(1) - (2)].sel); ;}
break;
case 5:
- #line 197 "parser.y"
-#line 194 "parser.y"
++#line 201 "parser.y"
{
(yyval.sel) = NULL;
_gmx_selparser_error("invalid selection '%s'",
break;
case 6:
- #line 216 "parser.y"
-#line 213 "parser.y"
++#line 220 "parser.y"
{
(yyval.sel) = NULL;
_gmx_sel_handle_empty_cmd(scanner);
break;
case 7:
- #line 220 "parser.y"
-#line 217 "parser.y"
++#line 224 "parser.y"
{ (yyval.sel) = NULL; ;}
break;
case 8:
- #line 222 "parser.y"
-#line 219 "parser.y"
++#line 226 "parser.y"
{
t_selelem *s, *p;
s = _gmx_sel_init_group_by_id((yyvsp[(1) - (1)].i), scanner);
break;
case 9:
- #line 231 "parser.y"
-#line 228 "parser.y"
++#line 235 "parser.y"
{
t_selelem *s, *p;
s = _gmx_sel_init_group_by_name((yyvsp[(1) - (1)].str), scanner);
break;
case 10:
- #line 241 "parser.y"
-#line 238 "parser.y"
++#line 245 "parser.y"
{ (yyval.sel) = _gmx_sel_init_selection(NULL, (yyvsp[(1) - (1)].sel), scanner); ;}
break;
case 11:
- #line 243 "parser.y"
-#line 240 "parser.y"
++#line 247 "parser.y"
{ (yyval.sel) = _gmx_sel_init_selection((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].sel), scanner); ;}
break;
case 12:
- #line 245 "parser.y"
-#line 242 "parser.y"
++#line 249 "parser.y"
{ (yyval.sel) = _gmx_sel_assign_variable((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].sel), scanner); ;}
break;
case 13:
- #line 247 "parser.y"
-#line 244 "parser.y"
++#line 251 "parser.y"
{ (yyval.sel) = _gmx_sel_assign_variable((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].sel), scanner); ;}
break;
case 14:
- #line 249 "parser.y"
-#line 246 "parser.y"
++#line 253 "parser.y"
{ (yyval.sel) = _gmx_sel_assign_variable((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].sel), scanner); ;}
break;
case 15:
- #line 254 "parser.y"
-#line 251 "parser.y"
++#line 258 "parser.y"
{ _gmx_sel_handle_help_cmd(NULL, scanner); ;}
break;
case 17:
- #line 258 "parser.y"
-#line 255 "parser.y"
++#line 262 "parser.y"
{ _gmx_sel_handle_help_cmd((yyvsp[(2) - (2)].str), scanner); ;}
break;
case 18:
- #line 259 "parser.y"
-#line 256 "parser.y"
++#line 263 "parser.y"
{ _gmx_sel_handle_help_cmd((yyvsp[(2) - (2)].str), scanner); ;}
break;
case 19:
- #line 263 "parser.y"
-#line 260 "parser.y"
++#line 267 "parser.y"
{ (yyval.sel) = (yyvsp[(1) - (1)].sel); ;}
break;
case 20:
- #line 265 "parser.y"
-#line 262 "parser.y"
++#line 269 "parser.y"
{
(yyval.sel) = _gmx_sel_init_position((yyvsp[(1) - (1)].sel), NULL, scanner);
if ((yyval.sel) == NULL) YYERROR;
break;
case 21:
- #line 269 "parser.y"
-#line 266 "parser.y"
++#line 273 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); ;}
break;
case 22:
- #line 271 "parser.y"
-#line 268 "parser.y"
++#line 275 "parser.y"
{
(yyval.sel) = _gmx_sel_init_modifier((yyvsp[(2) - (3)].meth), (yyvsp[(3) - (3)].param), (yyvsp[(1) - (3)].sel), scanner);
if ((yyval.sel) == NULL) YYERROR;
break;
case 23:
- #line 281 "parser.y"
-#line 279 "parser.y"
++#line 286 "parser.y"
{ (yyval.r) = (yyvsp[(1) - (1)].i); ;}
break;
case 24:
- #line 282 "parser.y"
- { (yyval.r) = (yyvsp[(1) - (1)].r); ;}
-#line 280 "parser.y"
++#line 287 "parser.y"
+ { (yyval.r) = -(yyvsp[(2) - (2)].i); ;}
break;
case 25:
- #line 285 "parser.y"
- { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
-#line 284 "parser.y"
++#line 291 "parser.y"
+ { (yyval.r) = (yyvsp[(1) - (1)].r); ;}
break;
case 26:
- #line 286 "parser.y"
- { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
-#line 285 "parser.y"
++#line 292 "parser.y"
+ { (yyval.r) = -(yyvsp[(2) - (2)].r); ;}
break;
case 27:
-#line 288 "parser.y"
+#line 295 "parser.y"
+ { (yyval.r) = (yyvsp[(1) - (1)].r); ;}
+ break;
+
+ case 28:
-#line 289 "parser.y"
++#line 296 "parser.y"
+ { (yyval.r) = (yyvsp[(1) - (1)].r); ;}
+ break;
+
+ case 29:
-#line 292 "parser.y"
++#line 299 "parser.y"
+ { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
+ break;
+
+ case 30:
-#line 293 "parser.y"
++#line 300 "parser.y"
+ { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
+ break;
+
+ case 31:
-#line 302 "parser.y"
++#line 309 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_BOOLEAN);
(yyval.sel)->u.boolt = BOOL_NOT;
;}
break;
- case 28:
- #line 301 "parser.y"
+ case 32:
-#line 308 "parser.y"
++#line 315 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_BOOLEAN);
(yyval.sel)->u.boolt = BOOL_AND;
;}
break;
- case 29:
- #line 307 "parser.y"
+ case 33:
-#line 314 "parser.y"
++#line 321 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_BOOLEAN);
(yyval.sel)->u.boolt = BOOL_OR;
;}
break;
- case 30:
- #line 318 "parser.y"
+ case 34:
-#line 325 "parser.y"
++#line 332 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); ;}
break;
- case 31:
- #line 323 "parser.y"
+ case 35:
-#line 330 "parser.y"
++#line 337 "parser.y"
{
(yyval.sel) = _gmx_sel_init_comparison((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), (yyvsp[(2) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 32:
- #line 331 "parser.y"
+ case 36:
-#line 338 "parser.y"
++#line 345 "parser.y"
{
(yyval.sel) = _gmx_sel_init_group_by_name((yyvsp[(2) - (2)].str), scanner);
free((yyvsp[(2) - (2)].str));
;}
break;
- case 33:
- #line 337 "parser.y"
+ case 37:
-#line 344 "parser.y"
++#line 351 "parser.y"
{
(yyval.sel) = _gmx_sel_init_group_by_id((yyvsp[(2) - (2)].i), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 34:
- #line 344 "parser.y"
+ case 38:
-#line 351 "parser.y"
++#line 358 "parser.y"
{ (yyval.str) = NULL; ;}
break;
- case 35:
- #line 345 "parser.y"
+ case 39:
-#line 352 "parser.y"
++#line 359 "parser.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
- case 36:
- #line 350 "parser.y"
+ case 40:
-#line 357 "parser.y"
++#line 364 "parser.y"
{
(yyval.sel) = _gmx_sel_init_keyword((yyvsp[(2) - (2)].meth), NULL, (yyvsp[(1) - (2)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 37:
- #line 355 "parser.y"
+ case 41:
-#line 362 "parser.y"
++#line 369 "parser.y"
{
(yyval.sel) = _gmx_sel_init_keyword((yyvsp[(2) - (3)].meth), process_value_list((yyvsp[(3) - (3)].val), NULL), (yyvsp[(1) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 38:
- #line 360 "parser.y"
+ case 42:
-#line 367 "parser.y"
++#line 374 "parser.y"
{
(yyval.sel) = _gmx_sel_init_keyword((yyvsp[(2) - (3)].meth), process_value_list((yyvsp[(3) - (3)].val), NULL), (yyvsp[(1) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 39:
- #line 368 "parser.y"
+ case 43:
-#line 375 "parser.y"
++#line 382 "parser.y"
{
(yyval.sel) = _gmx_sel_init_method((yyvsp[(2) - (3)].meth), (yyvsp[(3) - (3)].param), (yyvsp[(1) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 40:
- #line 380 "parser.y"
+ case 44:
-#line 387 "parser.y"
++#line 394 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_CONST);
_gmx_selelem_set_vtype((yyval.sel), INT_VALUE);
;}
break;
- case 41:
- #line 387 "parser.y"
+ case 45:
-#line 394 "parser.y"
++#line 401 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_CONST);
_gmx_selelem_set_vtype((yyval.sel), REAL_VALUE);
;}
break;
- case 42:
- #line 397 "parser.y"
+ case 46:
-#line 404 "parser.y"
++#line 411 "parser.y"
{
(yyval.sel) = _gmx_sel_init_keyword((yyvsp[(2) - (2)].meth), NULL, (yyvsp[(1) - (2)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 43:
- #line 402 "parser.y"
+ case 47:
-#line 409 "parser.y"
++#line 416 "parser.y"
{
(yyval.sel) = _gmx_sel_init_method((yyvsp[(2) - (3)].meth), (yyvsp[(3) - (3)].param), (yyvsp[(1) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 44:
- #line 410 "parser.y"
+ case 48:
-#line 417 "parser.y"
++#line 424 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), '+', scanner); ;}
break;
- case 45:
- #line 412 "parser.y"
+ case 49:
-#line 419 "parser.y"
++#line 426 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), '-', scanner); ;}
break;
- case 46:
- #line 414 "parser.y"
+ case 50:
-#line 421 "parser.y"
++#line 428 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), '*', scanner); ;}
break;
- case 47:
- #line 416 "parser.y"
+ case 51:
-#line 423 "parser.y"
++#line 430 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), '/', scanner); ;}
break;
- case 48:
- #line 418 "parser.y"
+ case 52:
-#line 425 "parser.y"
++#line 432 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(2) - (2)].sel), NULL, '-', scanner); ;}
break;
- case 49:
- #line 420 "parser.y"
+ case 53:
-#line 427 "parser.y"
++#line 434 "parser.y"
{ (yyval.sel) = _gmx_sel_init_arithmetic((yyvsp[(1) - (3)].sel), (yyvsp[(3) - (3)].sel), '^', scanner); ;}
break;
- case 50:
- #line 421 "parser.y"
+ case 54:
-#line 428 "parser.y"
++#line 435 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); ;}
break;
- case 51:
- #line 429 "parser.y"
+ case 55:
-#line 436 "parser.y"
++#line 443 "parser.y"
{
(yyval.sel) = _gmx_selelem_create(SEL_CONST);
_gmx_selelem_set_vtype((yyval.sel), STR_VALUE);
;}
break;
- case 52:
- #line 436 "parser.y"
+ case 56:
-#line 443 "parser.y"
++#line 450 "parser.y"
{
(yyval.sel) = _gmx_sel_init_keyword((yyvsp[(2) - (2)].meth), NULL, (yyvsp[(1) - (2)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 53:
- #line 448 "parser.y"
+ case 57:
-#line 455 "parser.y"
++#line 462 "parser.y"
{ (yyval.sel) = _gmx_sel_init_const_position((yyvsp[(2) - (7)].r), (yyvsp[(4) - (7)].r), (yyvsp[(6) - (7)].r)); ;}
break;
- case 54:
- #line 452 "parser.y"
+ case 58:
-#line 459 "parser.y"
++#line 466 "parser.y"
{ (yyval.sel) = (yyvsp[(2) - (3)].sel); ;}
break;
- case 55:
- #line 457 "parser.y"
+ case 59:
-#line 464 "parser.y"
++#line 471 "parser.y"
{
(yyval.sel) = _gmx_sel_init_method((yyvsp[(1) - (2)].meth), (yyvsp[(2) - (2)].param), NULL, scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 56:
- #line 465 "parser.y"
+ case 60:
-#line 472 "parser.y"
++#line 479 "parser.y"
{
(yyval.sel) = _gmx_sel_init_position((yyvsp[(3) - (3)].sel), (yyvsp[(1) - (3)].str), scanner);
if ((yyval.sel) == NULL) YYERROR;
;}
break;
- case 57:
- #line 476 "parser.y"
+ case 61:
-#line 483 "parser.y"
++#line 490 "parser.y"
{ (yyval.sel) = _gmx_sel_init_variable_ref((yyvsp[(1) - (1)].sel)); ;}
break;
- case 58:
- #line 480 "parser.y"
+ case 62:
-#line 487 "parser.y"
++#line 494 "parser.y"
{ (yyval.sel) = _gmx_sel_init_variable_ref((yyvsp[(1) - (1)].sel)); ;}
break;
- case 59:
- #line 484 "parser.y"
+ case 63:
-#line 491 "parser.y"
++#line 498 "parser.y"
{ (yyval.sel) = _gmx_sel_init_variable_ref((yyvsp[(1) - (1)].sel)); ;}
break;
- case 60:
- #line 493 "parser.y"
+ case 64:
-#line 500 "parser.y"
++#line 507 "parser.y"
{ (yyval.param) = process_param_list((yyvsp[(1) - (1)].param)); ;}
break;
- case 61:
- #line 495 "parser.y"
+ case 65:
-#line 502 "parser.y"
++#line 509 "parser.y"
{ (yyval.param) = process_param_list((yyvsp[(1) - (2)].param)); ;}
break;
- case 62:
- #line 499 "parser.y"
+ case 66:
-#line 506 "parser.y"
++#line 513 "parser.y"
{ (yyval.param) = NULL; ;}
break;
- case 63:
- #line 501 "parser.y"
+ case 67:
-#line 508 "parser.y"
++#line 515 "parser.y"
{ (yyvsp[(2) - (2)].param)->next = (yyvsp[(1) - (2)].param); (yyval.param) = (yyvsp[(2) - (2)].param); ;}
break;
- case 64:
- #line 506 "parser.y"
+ case 68:
-#line 513 "parser.y"
++#line 520 "parser.y"
{
(yyval.param) = _gmx_selexpr_create_param((yyvsp[(1) - (2)].str));
(yyval.param)->value = process_value_list((yyvsp[(2) - (2)].val), &(yyval.param)->nval);
;}
break;
- case 65:
- #line 512 "parser.y"
+ case 69:
-#line 519 "parser.y"
++#line 526 "parser.y"
{ (yyval.val) = NULL; ;}
break;
- case 66:
- #line 513 "parser.y"
+ case 70:
-#line 520 "parser.y"
++#line 527 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); ;}
break;
- case 67:
- #line 517 "parser.y"
+ case 71:
-#line 521 "parser.y"
++#line 528 "parser.y"
+ { (yyval.val) = (yyvsp[(2) - (3)].val); ;}
+ break;
+
+ case 72:
-#line 525 "parser.y"
++#line 532 "parser.y"
{ (yyval.val) = (yyvsp[(1) - (1)].val); ;}
break;
- case 68:
- #line 519 "parser.y"
+ case 73:
-#line 527 "parser.y"
++#line 534 "parser.y"
{ (yyvsp[(2) - (2)].val)->next = (yyvsp[(1) - (2)].val); (yyval.val) = (yyvsp[(2) - (2)].val); ;}
break;
- case 69:
- #line 521 "parser.y"
+ case 74:
-#line 529 "parser.y"
++#line 536 "parser.y"
{ (yyvsp[(3) - (3)].val)->next = (yyvsp[(1) - (3)].val); (yyval.val) = (yyvsp[(3) - (3)].val); ;}
break;
- case 70:
- #line 525 "parser.y"
+ case 75:
-#line 533 "parser.y"
++#line 540 "parser.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
+ break;
+
+ case 76:
-#line 534 "parser.y"
++#line 541 "parser.y"
+ { (yyval.val) = (yyvsp[(2) - (3)].val); ;}
+ break;
+
+ case 77:
-#line 538 "parser.y"
++#line 545 "parser.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
+ break;
+
+ case 78:
-#line 540 "parser.y"
++#line 547 "parser.y"
+ { (yyvsp[(2) - (2)].val)->next = (yyvsp[(1) - (2)].val); (yyval.val) = (yyvsp[(2) - (2)].val); ;}
+ break;
+
+ case 79:
-#line 542 "parser.y"
++#line 549 "parser.y"
+ { (yyvsp[(3) - (3)].val)->next = (yyvsp[(1) - (3)].val); (yyval.val) = (yyvsp[(3) - (3)].val); ;}
+ break;
+
+ case 80:
-#line 546 "parser.y"
++#line 553 "parser.y"
{ (yyval.val) = _gmx_selexpr_create_value_expr((yyvsp[(1) - (1)].sel)); ;}
break;
- case 71:
- #line 527 "parser.y"
+ case 81:
-#line 548 "parser.y"
++#line 555 "parser.y"
{ (yyval.val) = _gmx_selexpr_create_value_expr((yyvsp[(1) - (1)].sel)); ;}
break;
- case 72:
- #line 529 "parser.y"
+ case 82:
-#line 550 "parser.y"
++#line 557 "parser.y"
{ (yyval.val) = _gmx_selexpr_create_value_expr((yyvsp[(1) - (1)].sel)); ;}
break;
- case 73:
- #line 531 "parser.y"
+ case 83:
-#line 552 "parser.y"
++#line 559 "parser.y"
{ (yyval.val) = _gmx_selexpr_create_value_expr((yyvsp[(1) - (1)].sel)); ;}
break;
- case 74:
- #line 533 "parser.y"
+ case 84:
-#line 553 "parser.y"
++#line 560 "parser.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
+ break;
+
+ case 85:
-#line 558 "parser.y"
++#line 565 "parser.y"
{
(yyval.val) = _gmx_selexpr_create_value(INT_VALUE);
- (yyval.val)->u.i.i1 = (yyvsp[(1) - (3)].i); (yyval.val)->u.i.i2 = (yyvsp[(3) - (3)].i);
+ (yyval.val)->u.i.i1 = (yyval.val)->u.i.i2 = (yyvsp[(1) - (1)].r);
;}
break;
- case 75:
- #line 538 "parser.y"
+ case 86:
-#line 563 "parser.y"
++#line 570 "parser.y"
{
(yyval.val) = _gmx_selexpr_create_value(REAL_VALUE);
- (yyval.val)->u.r.r1 = (yyvsp[(1) - (3)].i); (yyval.val)->u.r.r2 = (yyvsp[(3) - (3)].r);
+ (yyval.val)->u.r.r1 = (yyval.val)->u.r.r2 = (yyvsp[(1) - (1)].r);
;}
break;
- case 76:
- #line 543 "parser.y"
+ case 87:
-#line 568 "parser.y"
++#line 575 "parser.y"
+ {
+ (yyval.val) = _gmx_selexpr_create_value(STR_VALUE);
+ (yyval.val)->u.s = (yyvsp[(1) - (1)].str);
+ ;}
+ break;
+
+ case 88:
-#line 572 "parser.y"
++#line 579 "parser.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
+ break;
+
+ case 89:
-#line 577 "parser.y"
++#line 584 "parser.y"
+ {
+ (yyval.val) = _gmx_selexpr_create_value(INT_VALUE);
+ (yyval.val)->u.i.i1 = (yyvsp[(1) - (3)].r); (yyval.val)->u.i.i2 = (yyvsp[(3) - (3)].r);
+ ;}
+ break;
+
+ case 90:
-#line 582 "parser.y"
++#line 589 "parser.y"
+ {
+ (yyval.val) = _gmx_selexpr_create_value(REAL_VALUE);
+ (yyval.val)->u.r.r1 = (yyvsp[(1) - (3)].r); (yyval.val)->u.r.r2 = (yyvsp[(3) - (3)].r);
+ ;}
+ break;
+
+ case 91:
-#line 587 "parser.y"
++#line 594 "parser.y"
{
(yyval.val) = _gmx_selexpr_create_value(REAL_VALUE);
(yyval.val)->u.r.r1 = (yyvsp[(1) - (3)].r); (yyval.val)->u.r.r2 = (yyvsp[(3) - (3)].r);
/* Line 1267 of yacc.c. */
- #line 2166 "parser.cpp"
-#line 2309 "parser.c"
++#line 2313 "parser.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
- #line 549 "parser.y"
-#line 593 "parser.y"
++#line 600 "parser.y"
static t_selexpr_value *