ael: Regenerate lexers and parsers.

Various changes to ensure that the lexers and parsers can be correctly
generated when REBUILD_PARSERS is enabled.

Some notes:

* Because of the version of flex we are using to generate the lexers
  (2.5.35) some post-processing in the Makefile is still required.

* The generated lexers do not contain the problematic C99 check that
  was being replaced by the call to sed in the respective Makefiles so
  it was removed.

* Since these files are generated, they will include trailing
  whitespace in some places. This does not need to be corrected.

Change-Id: Ibbd343606fcf5c0d285b1599e6e8e59f514f2e4e
pull/57/head
Sean Bright 2 years ago committed by Friendly Automation
parent 1ba3b34f77
commit 34ff836db5

@ -133,13 +133,10 @@ else
ast_expr2f.c: ast_expr2f.c:
endif endif
$(ECHO_PREFIX) echo " [FLEX] $< -> $@" $(ECHO_PREFIX) echo " [FLEX] $< -> $@"
$(CMD_PREFIX) $(FLEX) -o $@ ast_expr2.fl
$(CMD_PREFIX) sed 's@#if __STDC_VERSION__ >= 199901L@#if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L@' $@ > $@.fix
$(CMD_PREFIX) echo "#define ASTMM_LIBC ASTMM_REDIRECT" > $@ $(CMD_PREFIX) echo "#define ASTMM_LIBC ASTMM_REDIRECT" > $@
$(CMD_PREFIX) echo "#include \"asterisk.h\"" >> $@ $(CMD_PREFIX) echo "#include \"asterisk.h\"" >> $@
$(CMD_PREFIX) echo >> $@ $(CMD_PREFIX) echo >> $@
$(CMD_PREFIX) cat $@.fix >> $@ $(CMD_PREFIX) $(FLEX) -t ast_expr2.fl >> $@
$(CMD_PREFIX) rm $@.fix
ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),) ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),)
GMIMELDFLAGS+=$(GMIME_LIB) GMIMELDFLAGS+=$(GMIME_LIB)

@ -413,7 +413,7 @@ int ast_yyerror(const char *,YYLTYPE *, struct parse_io *);
/* Line 189 of yacc.c */ /* Line 189 of yacc.c */
#line 419 "ast_expr2.c" #line 417 "ast_expr2.c"
/* Enabling traces. */ /* Enabling traces. */
#ifndef YYDEBUG #ifndef YYDEBUG
@ -473,7 +473,7 @@ typedef union YYSTYPE
{ {
/* Line 214 of yacc.c */ /* Line 214 of yacc.c */
#line 345 "ast_expr2.y" #line 343 "ast_expr2.y"
struct val *val; struct val *val;
struct expr_node *arglist; struct expr_node *arglist;
@ -481,7 +481,7 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */ /* Line 214 of yacc.c */
#line 487 "ast_expr2.c" #line 485 "ast_expr2.c"
} YYSTYPE; } YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@ -505,13 +505,13 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */ /* Copy the second part of user declarations. */
/* Line 264 of yacc.c */ /* Line 264 of yacc.c */
#line 350 "ast_expr2.y" #line 348 "ast_expr2.y"
extern int ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t)); extern int ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t));
/* Line 264 of yacc.c */ /* Line 264 of yacc.c */
#line 517 "ast_expr2.c" #line 515 "ast_expr2.c"
#ifdef short #ifdef short
# undef short # undef short
@ -809,9 +809,9 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] = static const yytype_uint16 yyrline[] =
{ {
0, 374, 374, 382, 389, 390, 396, 405, 411, 412, 0, 372, 372, 380, 387, 388, 394, 403, 409, 410,
416, 420, 424, 428, 432, 436, 440, 444, 448, 452, 414, 418, 422, 426, 430, 434, 438, 442, 446, 450,
456, 460, 464, 468, 472, 476, 480, 484, 489 454, 458, 462, 466, 470, 474, 478, 482, 487
}; };
#endif #endif
@ -1226,7 +1226,7 @@ int yydebug;
# define YYMAXDEPTH 10000 # define YYMAXDEPTH 10000
#endif #endif
#if YYERROR_VERBOSE #if YYERROR_VERBOSE
@ -1437,7 +1437,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
} }
} }
#endif /* YYERROR_VERBOSE */ #endif /* YYERROR_VERBOSE */
/*-----------------------------------------------. /*-----------------------------------------------.
| Release the memory associated to this symbol. | | Release the memory associated to this symbol. |
@ -1469,209 +1469,209 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
case 4: /* "TOK_COLONCOLON" */ case 4: /* "TOK_COLONCOLON" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1479 "ast_expr2.c" #line 1477 "ast_expr2.c"
break; break;
case 5: /* "TOK_COND" */ case 5: /* "TOK_COND" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1488 "ast_expr2.c" #line 1486 "ast_expr2.c"
break; break;
case 6: /* "TOK_OR" */ case 6: /* "TOK_OR" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1497 "ast_expr2.c" #line 1495 "ast_expr2.c"
break; break;
case 7: /* "TOK_AND" */ case 7: /* "TOK_AND" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1506 "ast_expr2.c" #line 1504 "ast_expr2.c"
break; break;
case 8: /* "TOK_NE" */ case 8: /* "TOK_NE" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1515 "ast_expr2.c" #line 1513 "ast_expr2.c"
break; break;
case 9: /* "TOK_LE" */ case 9: /* "TOK_LE" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1524 "ast_expr2.c" #line 1522 "ast_expr2.c"
break; break;
case 10: /* "TOK_GE" */ case 10: /* "TOK_GE" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1533 "ast_expr2.c" #line 1531 "ast_expr2.c"
break; break;
case 11: /* "TOK_LT" */ case 11: /* "TOK_LT" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1542 "ast_expr2.c" #line 1540 "ast_expr2.c"
break; break;
case 12: /* "TOK_GT" */ case 12: /* "TOK_GT" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1551 "ast_expr2.c" #line 1549 "ast_expr2.c"
break; break;
case 13: /* "TOK_EQ" */ case 13: /* "TOK_EQ" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1560 "ast_expr2.c" #line 1558 "ast_expr2.c"
break; break;
case 14: /* "TOK_MINUS" */ case 14: /* "TOK_MINUS" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1569 "ast_expr2.c" #line 1567 "ast_expr2.c"
break; break;
case 15: /* "TOK_PLUS" */ case 15: /* "TOK_PLUS" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1578 "ast_expr2.c" #line 1576 "ast_expr2.c"
break; break;
case 16: /* "TOK_MOD" */ case 16: /* "TOK_MOD" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1587 "ast_expr2.c" #line 1585 "ast_expr2.c"
break; break;
case 17: /* "TOK_DIV" */ case 17: /* "TOK_DIV" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1596 "ast_expr2.c" #line 1594 "ast_expr2.c"
break; break;
case 18: /* "TOK_MULT" */ case 18: /* "TOK_MULT" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1605 "ast_expr2.c" #line 1603 "ast_expr2.c"
break; break;
case 19: /* "TOK_COMPL" */ case 19: /* "TOK_COMPL" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1614 "ast_expr2.c" #line 1612 "ast_expr2.c"
break; break;
case 20: /* "TOK_TILDETILDE" */ case 20: /* "TOK_TILDETILDE" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1623 "ast_expr2.c" #line 1621 "ast_expr2.c"
break; break;
case 21: /* "TOK_EQTILDE" */ case 21: /* "TOK_EQTILDE" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1632 "ast_expr2.c" #line 1630 "ast_expr2.c"
break; break;
case 22: /* "TOK_COLON" */ case 22: /* "TOK_COLON" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1641 "ast_expr2.c" #line 1639 "ast_expr2.c"
break; break;
case 23: /* "TOK_LP" */ case 23: /* "TOK_LP" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1650 "ast_expr2.c" #line 1648 "ast_expr2.c"
break; break;
case 24: /* "TOK_RP" */ case 24: /* "TOK_RP" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1659 "ast_expr2.c" #line 1657 "ast_expr2.c"
break; break;
case 25: /* "TOKEN" */ case 25: /* "TOKEN" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1668 "ast_expr2.c" #line 1666 "ast_expr2.c"
break; break;
case 29: /* "expr" */ case 29: /* "expr" */
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 368 "ast_expr2.y" #line 366 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
/* Line 1000 of yacc.c */ /* Line 1000 of yacc.c */
#line 1677 "ast_expr2.c" #line 1675 "ast_expr2.c"
break; break;
default: default:
@ -2002,7 +2002,7 @@ yyreduce:
case 2: case 2:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 374 "ast_expr2.y" #line 372 "ast_expr2.y"
{ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); { ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1);
((struct parse_io *)parseio)->val->type = (yyvsp[(1) - (1)].val)->type; ((struct parse_io *)parseio)->val->type = (yyvsp[(1) - (1)].val)->type;
if( (yyvsp[(1) - (1)].val)->type == AST_EXPR_number ) if( (yyvsp[(1) - (1)].val)->type == AST_EXPR_number )
@ -2016,7 +2016,7 @@ yyreduce:
case 3: case 3:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 382 "ast_expr2.y" #line 380 "ast_expr2.y"
{/* nothing */ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); {/* nothing */ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1);
((struct parse_io *)parseio)->val->type = AST_EXPR_string; ((struct parse_io *)parseio)->val->type = AST_EXPR_string;
((struct parse_io *)parseio)->val->u.s = strdup(""); ((struct parse_io *)parseio)->val->u.s = strdup("");
@ -2026,14 +2026,14 @@ yyreduce:
case 4: case 4:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 389 "ast_expr2.y" #line 387 "ast_expr2.y"
{ (yyval.arglist) = alloc_expr_node(AST_EXPR_NODE_VAL); (yyval.arglist)->val = (yyvsp[(1) - (1)].val);;} { (yyval.arglist) = alloc_expr_node(AST_EXPR_NODE_VAL); (yyval.arglist)->val = (yyvsp[(1) - (1)].val);;}
break; break;
case 5: case 5:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 390 "ast_expr2.y" #line 388 "ast_expr2.y"
{struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL); {struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL);
struct expr_node *t; struct expr_node *t;
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
@ -2045,7 +2045,7 @@ yyreduce:
case 6: case 6:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 396 "ast_expr2.y" #line 394 "ast_expr2.y"
{struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL); {struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL);
struct expr_node *t; /* NULL args should OK */ struct expr_node *t; /* NULL args should OK */
DESTROY((yyvsp[(2) - (2)].val)); DESTROY((yyvsp[(2) - (2)].val));
@ -2057,7 +2057,7 @@ yyreduce:
case 7: case 7:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 405 "ast_expr2.y" #line 403 "ast_expr2.y"
{ (yyval.val) = op_func((yyvsp[(1) - (4)].val),(yyvsp[(3) - (4)].arglist), ((struct parse_io *)parseio)->chan); { (yyval.val) = op_func((yyvsp[(1) - (4)].val),(yyvsp[(3) - (4)].arglist), ((struct parse_io *)parseio)->chan);
DESTROY((yyvsp[(2) - (4)].val)); DESTROY((yyvsp[(2) - (4)].val));
DESTROY((yyvsp[(4) - (4)].val)); DESTROY((yyvsp[(4) - (4)].val));
@ -2069,14 +2069,14 @@ yyreduce:
case 8: case 8:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 411 "ast_expr2.y" #line 409 "ast_expr2.y"
{(yyval.val) = (yyvsp[(1) - (1)].val);;} {(yyval.val) = (yyvsp[(1) - (1)].val);;}
break; break;
case 9: case 9:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 412 "ast_expr2.y" #line 410 "ast_expr2.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val); { (yyval.val) = (yyvsp[(2) - (3)].val);
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
(yyloc).first_line=0; (yyloc).last_line=0; (yyloc).first_line=0; (yyloc).last_line=0;
@ -2086,7 +2086,7 @@ yyreduce:
case 10: case 10:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 416 "ast_expr2.y" #line 414 "ast_expr2.y"
{ (yyval.val) = op_or ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_or ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2096,7 +2096,7 @@ yyreduce:
case 11: case 11:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 420 "ast_expr2.y" #line 418 "ast_expr2.y"
{ (yyval.val) = op_and ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_and ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2106,7 +2106,7 @@ yyreduce:
case 12: case 12:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 424 "ast_expr2.y" #line 422 "ast_expr2.y"
{ (yyval.val) = op_eq ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_eq ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2116,7 +2116,7 @@ yyreduce:
case 13: case 13:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 428 "ast_expr2.y" #line 426 "ast_expr2.y"
{ (yyval.val) = op_gt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_gt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2126,7 +2126,7 @@ yyreduce:
case 14: case 14:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 432 "ast_expr2.y" #line 430 "ast_expr2.y"
{ (yyval.val) = op_lt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_lt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2136,7 +2136,7 @@ yyreduce:
case 15: case 15:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 436 "ast_expr2.y" #line 434 "ast_expr2.y"
{ (yyval.val) = op_ge ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_ge ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2146,7 +2146,7 @@ yyreduce:
case 16: case 16:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 440 "ast_expr2.y" #line 438 "ast_expr2.y"
{ (yyval.val) = op_le ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_le ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2156,7 +2156,7 @@ yyreduce:
case 17: case 17:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 444 "ast_expr2.y" #line 442 "ast_expr2.y"
{ (yyval.val) = op_ne ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_ne ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2166,7 +2166,7 @@ yyreduce:
case 18: case 18:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 448 "ast_expr2.y" #line 446 "ast_expr2.y"
{ (yyval.val) = op_plus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_plus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2176,7 +2176,7 @@ yyreduce:
case 19: case 19:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 452 "ast_expr2.y" #line 450 "ast_expr2.y"
{ (yyval.val) = op_minus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_minus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2186,7 +2186,7 @@ yyreduce:
case 20: case 20:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 456 "ast_expr2.y" #line 454 "ast_expr2.y"
{ (yyval.val) = op_negate ((yyvsp[(2) - (2)].val)); { (yyval.val) = op_negate ((yyvsp[(2) - (2)].val));
DESTROY((yyvsp[(1) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val));
(yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column;
@ -2196,7 +2196,7 @@ yyreduce:
case 21: case 21:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 460 "ast_expr2.y" #line 458 "ast_expr2.y"
{ (yyval.val) = op_compl ((yyvsp[(2) - (2)].val)); { (yyval.val) = op_compl ((yyvsp[(2) - (2)].val));
DESTROY((yyvsp[(1) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val));
(yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column;
@ -2206,7 +2206,7 @@ yyreduce:
case 22: case 22:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 464 "ast_expr2.y" #line 462 "ast_expr2.y"
{ (yyval.val) = op_times ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_times ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2216,7 +2216,7 @@ yyreduce:
case 23: case 23:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 468 "ast_expr2.y" #line 466 "ast_expr2.y"
{ (yyval.val) = op_div ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_div ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2226,7 +2226,7 @@ yyreduce:
case 24: case 24:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 472 "ast_expr2.y" #line 470 "ast_expr2.y"
{ (yyval.val) = op_rem ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_rem ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2236,7 +2236,7 @@ yyreduce:
case 25: case 25:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 476 "ast_expr2.y" #line 474 "ast_expr2.y"
{ (yyval.val) = op_colon ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_colon ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2246,7 +2246,7 @@ yyreduce:
case 26: case 26:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 480 "ast_expr2.y" #line 478 "ast_expr2.y"
{ (yyval.val) = op_eqtilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_eqtilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2256,7 +2256,7 @@ yyreduce:
case 27: case 27:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 484 "ast_expr2.y" #line 482 "ast_expr2.y"
{ (yyval.val) = op_cond ((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val)); { (yyval.val) = op_cond ((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val));
DESTROY((yyvsp[(2) - (5)].val)); DESTROY((yyvsp[(2) - (5)].val));
DESTROY((yyvsp[(4) - (5)].val)); DESTROY((yyvsp[(4) - (5)].val));
@ -2267,7 +2267,7 @@ yyreduce:
case 28: case 28:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 489 "ast_expr2.y" #line 487 "ast_expr2.y"
{ (yyval.val) = op_tildetilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_tildetilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@ -2277,7 +2277,7 @@ yyreduce:
/* Line 1455 of yacc.c */ /* Line 1455 of yacc.c */
#line 2283 "ast_expr2.c" #line 2281 "ast_expr2.c"
default: break; default: break;
} }
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@ -2496,7 +2496,7 @@ yyreturn:
/* Line 1675 of yacc.c */ /* Line 1675 of yacc.c */
#line 495 "ast_expr2.y" #line 493 "ast_expr2.y"
static struct expr_node *alloc_expr_node(enum node_type nt) static struct expr_node *alloc_expr_node(enum node_type nt)
@ -3685,3 +3685,4 @@ op_tildetilde (struct val *a, struct val *b)
return v; return v;
} }

@ -72,7 +72,7 @@ typedef union YYSTYPE
{ {
/* Line 1676 of yacc.c */ /* Line 1676 of yacc.c */
#line 345 "ast_expr2.y" #line 343 "ast_expr2.y"
struct val *val; struct val *val;
struct expr_node *arglist; struct expr_node *arglist;
@ -101,3 +101,6 @@ typedef struct YYLTYPE
# define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1 # define YYLTYPE_IS_TRIVIAL 1
#endif #endif

@ -57,6 +57,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t; typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t; typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t; typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */ /* Limits of integral types. */
#ifndef INT8_MIN #ifndef INT8_MIN
@ -87,8 +88,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U) #define UINT32_MAX (4294967295U)
#endif #endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */ #endif /* ! FLEXINT_H */
#ifdef __cplusplus #ifdef __cplusplus
@ -162,15 +161,7 @@ typedef void* yyscan_t;
/* Size of default input buffer. */ /* Size of default input buffer. */
#ifndef YY_BUF_SIZE #ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384 #define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif #endif
/* The state buf must be large enough to hold one state per character in the main buffer. /* The state buf must be large enough to hold one state per character in the main buffer.
@ -608,7 +599,7 @@ int ast_yyget_column(yyscan_t yyscanner);
static int curlycount = 0; static int curlycount = 0;
static char *expr2_token_subst(const char *mess); static char *expr2_token_subst(const char *mess);
#line 611 "ast_expr2f.c" #line 600 "ast_expr2f.c"
#define INITIAL 0 #define INITIAL 0
#define var 1 #define var 1
@ -747,12 +738,7 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */ /* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE #ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192 #define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif #endif
/* Copy whatever the last rule matched to the standard output. */ /* Copy whatever the last rule matched to the standard output. */
@ -760,7 +746,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's, /* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite(). * we now use fwrite().
*/ */
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@ -771,7 +757,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \ { \
int c = '*'; \ int c = '*'; \
size_t n; \ int n; \
for ( n = 0; n < max_size && \ for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \ buf[n] = (char) c; \
@ -856,10 +842,10 @@ YY_DECL
register int yy_act; register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
#line 130 "ast_expr2.fl" #line 128 "ast_expr2.fl"
#line 862 "ast_expr2f.c" #line 846 "ast_expr2f.c"
yylval = yylval_param; yylval = yylval_param;
@ -950,132 +936,132 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 132 "ast_expr2.fl" #line 130 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;} { SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 133 "ast_expr2.fl" #line 131 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;} { SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 134 "ast_expr2.fl" #line 132 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;} { SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 135 "ast_expr2.fl" #line 133 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;} { SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 136 "ast_expr2.fl" #line 134 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;} { SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 137 "ast_expr2.fl" #line 135 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;} { SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 138 "ast_expr2.fl" #line 136 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;} { SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 139 "ast_expr2.fl" #line 137 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;} { SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 140 "ast_expr2.fl" #line 138 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GT;} { SET_COLUMNS; SET_STRING; return TOK_GT;}
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 141 "ast_expr2.fl" #line 139 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LT;} { SET_COLUMNS; SET_STRING; return TOK_LT;}
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 142 "ast_expr2.fl" #line 140 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GE;} { SET_COLUMNS; SET_STRING; return TOK_GE;}
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 143 "ast_expr2.fl" #line 141 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LE;} { SET_COLUMNS; SET_STRING; return TOK_LE;}
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 144 "ast_expr2.fl" #line 142 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_NE;} { SET_COLUMNS; SET_STRING; return TOK_NE;}
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 145 "ast_expr2.fl" #line 143 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_PLUS;} { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 146 "ast_expr2.fl" #line 144 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COMMA;} { SET_COLUMNS; SET_STRING; return TOK_COMMA;}
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 147 "ast_expr2.fl" #line 145 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MINUS;} { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 148 "ast_expr2.fl" #line 146 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MULT;} { SET_COLUMNS; SET_STRING; return TOK_MULT;}
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 149 "ast_expr2.fl" #line 147 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_DIV;} { SET_COLUMNS; SET_STRING; return TOK_DIV;}
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 150 "ast_expr2.fl" #line 148 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MOD;} { SET_COLUMNS; SET_STRING; return TOK_MOD;}
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "ast_expr2.fl" #line 149 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COND;} { SET_COLUMNS; SET_STRING; return TOK_COND;}
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 152 "ast_expr2.fl" #line 150 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COMPL;} { SET_COLUMNS; SET_STRING; return TOK_COMPL;}
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 153 "ast_expr2.fl" #line 151 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLON;} { SET_COLUMNS; SET_STRING; return TOK_COLON;}
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 154 "ast_expr2.fl" #line 152 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;} { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 155 "ast_expr2.fl" #line 153 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LP;} { SET_COLUMNS; SET_STRING; return TOK_LP;}
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 156 "ast_expr2.fl" #line 154 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_RP;} { SET_COLUMNS; SET_STRING; return TOK_RP;}
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 157 "ast_expr2.fl" #line 155 "ast_expr2.fl"
{ {
/* gather the contents of ${} expressions, with trailing stuff, /* gather the contents of ${} expressions, with trailing stuff,
* into a single TOKEN. * into a single TOKEN.
@ -1088,24 +1074,24 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 167 "ast_expr2.fl" #line 165 "ast_expr2.fl"
{} {}
YY_BREAK YY_BREAK
case 28: case 28:
/* rule 28 can match eol */ /* rule 28 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 168 "ast_expr2.fl" #line 166 "ast_expr2.fl"
{SET_COLUMNS; SET_STRING; return TOKEN;} {SET_COLUMNS; SET_STRING; return TOKEN;}
YY_BREAK YY_BREAK
case 29: case 29:
/* rule 29 can match eol */ /* rule 29 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 170 "ast_expr2.fl" #line 168 "ast_expr2.fl"
{/* what to do with eol */} {/* what to do with eol */}
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 171 "ast_expr2.fl" #line 169 "ast_expr2.fl"
{ {
SET_COLUMNS; SET_COLUMNS;
/* the original behavior of the expression parser was /* the original behavior of the expression parser was
@ -1118,7 +1104,7 @@ YY_RULE_SETUP
case 31: case 31:
/* rule 31 can match eol */ /* rule 31 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 180 "ast_expr2.fl" #line 178 "ast_expr2.fl"
{ {
SET_COLUMNS; SET_COLUMNS;
SET_STRING; SET_STRING;
@ -1128,7 +1114,7 @@ YY_RULE_SETUP
case 32: case 32:
/* rule 32 can match eol */ /* rule 32 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 186 "ast_expr2.fl" #line 184 "ast_expr2.fl"
{ {
curlycount = 0; curlycount = 0;
BEGIN(var); BEGIN(var);
@ -1138,7 +1124,7 @@ YY_RULE_SETUP
case 33: case 33:
/* rule 33 can match eol */ /* rule 33 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 192 "ast_expr2.fl" #line 190 "ast_expr2.fl"
{ {
curlycount--; curlycount--;
if (curlycount < 0) { if (curlycount < 0) {
@ -1152,7 +1138,7 @@ YY_RULE_SETUP
case 34: case 34:
/* rule 34 can match eol */ /* rule 34 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 202 "ast_expr2.fl" #line 200 "ast_expr2.fl"
{ {
curlycount++; curlycount++;
yymore(); yymore();
@ -1160,7 +1146,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 208 "ast_expr2.fl" #line 206 "ast_expr2.fl"
{ {
BEGIN(0); BEGIN(0);
SET_COLUMNS; SET_COLUMNS;
@ -1170,7 +1156,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 215 "ast_expr2.fl" #line 213 "ast_expr2.fl"
{ {
curlycount = 0; curlycount = 0;
BEGIN(var); BEGIN(var);
@ -1180,7 +1166,7 @@ YY_RULE_SETUP
case 37: case 37:
/* rule 37 can match eol */ /* rule 37 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "ast_expr2.fl" #line 219 "ast_expr2.fl"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
BEGIN(0); BEGIN(0);
@ -1191,7 +1177,7 @@ YY_RULE_SETUP
} }
YY_BREAK YY_BREAK
case YY_STATE_EOF(trail): case YY_STATE_EOF(trail):
#line 230 "ast_expr2.fl" #line 228 "ast_expr2.fl"
{ {
BEGIN(0); BEGIN(0);
SET_COLUMNS; SET_COLUMNS;
@ -1202,10 +1188,10 @@ case YY_STATE_EOF(trail):
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "ast_expr2.fl" #line 236 "ast_expr2.fl"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 1208 "ast_expr2f.c" #line 1192 "ast_expr2f.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(var): case YY_STATE_EOF(var):
yyterminate(); yyterminate();
@ -1979,8 +1965,8 @@ YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
/** Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will /** Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
* scan from a @e copy of @a bytes. * scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan * @param bytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
@ -2141,8 +2127,8 @@ void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
} }
/** Set the current column. /** Set the current column.
* \param column_no line_number * @param line_number
* \param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
void ast_yyset_column (int column_no , yyscan_t yyscanner) void ast_yyset_column (int column_no , yyscan_t yyscanner)
{ {
@ -2381,7 +2367,7 @@ void *ast_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 238 "ast_expr2.fl" #line 236 "ast_expr2.fl"
@ -2623,3 +2609,4 @@ int ast_yyerror (const char *s, yyltype *loc, struct parse_io *parseio )
free(s2); free(s2);
return(0); return(0);
} }

@ -40,13 +40,10 @@ else
ael/ael_lex.c: ael/ael_lex.c:
endif endif
$(ECHO_PREFIX) echo " [FLEX] $< -> $@" $(ECHO_PREFIX) echo " [FLEX] $< -> $@"
$(CMD_PREFIX) (cd ael; $(FLEX) ael.flex)
$(CMD_PREFIX) sed 's@#if __STDC_VERSION__ >= 199901L@#if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L@' $@ > $@.fix
$(CMD_PREFIX) echo "#define ASTMM_LIBC ASTMM_REDIRECT" > $@ $(CMD_PREFIX) echo "#define ASTMM_LIBC ASTMM_REDIRECT" > $@
$(CMD_PREFIX) echo "#include \"asterisk.h\"" >> $@ $(CMD_PREFIX) echo "#include \"asterisk.h\"" >> $@
$(CMD_PREFIX) echo >> $@ $(CMD_PREFIX) echo >> $@
$(CMD_PREFIX) cat $@.fix >> $@ $(CMD_PREFIX) $(FLEX) -t ael/ael.flex >> $@
$(CMD_PREFIX) rm $@.fix
ifneq ($(findstring REBUILD_PARSERS,$(MENUSELECT_CFLAGS)),) ifneq ($(findstring REBUILD_PARSERS,$(MENUSELECT_CFLAGS)),)
ael/ael.tab.c ael/ael.tab.h: ael/ael.y ael/ael.tab.c ael/ael.tab.h: ael/ael.y

@ -68,9 +68,6 @@
%option bison-locations %option bison-locations
%{ %{
#define ASTMM_LIBC ASTMM_REDIRECT
#include "asterisk.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>

File diff suppressed because it is too large Load Diff

@ -88,7 +88,7 @@ typedef union YYSTYPE
{ {
/* Line 2068 of yacc.c */ /* Line 2068 of yacc.c */
#line 59 "ael.y" #line 58 "ael.y"
int intval; /* integer value, typically flags */ int intval; /* integer value, typically flags */
char *str; /* strings */ char *str; /* strings */
@ -118,3 +118,6 @@ typedef struct YYLTYPE
# define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1 # define YYLTYPE_IS_TRIVIAL 1
#endif #endif

@ -57,6 +57,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t; typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t; typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t; typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */ /* Limits of integral types. */
#ifndef INT8_MIN #ifndef INT8_MIN
@ -87,8 +88,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U) #define UINT32_MAX (4294967295U)
#endif #endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */ #endif /* ! FLEXINT_H */
#ifdef __cplusplus #ifdef __cplusplus
@ -162,15 +161,7 @@ typedef void* yyscan_t;
/* Size of default input buffer. */ /* Size of default input buffer. */
#ifndef YY_BUF_SIZE #ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384 #define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif #endif
/* The state buf must be large enough to hold one state per character in the main buffer. /* The state buf must be large enough to hold one state per character in the main buffer.
@ -828,8 +819,6 @@ static yyconst flex_int16_t yy_chk[1073] =
* bison-locations is probably not needed. * bison-locations is probably not needed.
*/ */
#line 71 "ael.flex" #line 71 "ael.flex"
#include "asterisk.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
@ -967,7 +956,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS #define STORE_POS
#define STORE_LOC #define STORE_LOC
#endif #endif
#line 963 "ael_lex.c" #line 957 "ael_lex.c"
#define INITIAL 0 #define INITIAL 0
#define paren 1 #define paren 1
@ -1111,12 +1100,7 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */ /* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE #ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192 #define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif #endif
/* Copy whatever the last rule matched to the standard output. */ /* Copy whatever the last rule matched to the standard output. */
@ -1124,7 +1108,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's, /* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite(). * we now use fwrite().
*/ */
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@ -1135,7 +1119,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \ { \
int c = '*'; \ int c = '*'; \
size_t n; \ int n; \
for ( n = 0; n < max_size && \ for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \ buf[n] = (char) c; \
@ -1220,10 +1204,10 @@ YY_DECL
register int yy_act; register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
#line 217 "ael.flex" #line 220 "ael.flex"
#line 1219 "ael_lex.c" #line 1208 "ael_lex.c"
yylval = yylval_param; yylval = yylval_param;
@ -1314,260 +1298,260 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 219 "ael.flex" #line 222 "ael.flex"
{ STORE_POS; return LC;} { STORE_POS; return LC;}
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 220 "ael.flex" #line 223 "ael.flex"
{ STORE_POS; return RC;} { STORE_POS; return RC;}
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "ael.flex" #line 224 "ael.flex"
{ STORE_POS; return LP;} { STORE_POS; return LP;}
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 222 "ael.flex" #line 225 "ael.flex"
{ STORE_POS; return RP;} { STORE_POS; return RP;}
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 223 "ael.flex" #line 226 "ael.flex"
{ STORE_POS; return SEMI;} { STORE_POS; return SEMI;}
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 224 "ael.flex" #line 227 "ael.flex"
{ STORE_POS; return EQ;} { STORE_POS; return EQ;}
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "ael.flex" #line 228 "ael.flex"
{ STORE_POS; return COMMA;} { STORE_POS; return COMMA;}
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "ael.flex" #line 229 "ael.flex"
{ STORE_POS; return COLON;} { STORE_POS; return COLON;}
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "ael.flex" #line 230 "ael.flex"
{ STORE_POS; return AMPER;} { STORE_POS; return AMPER;}
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "ael.flex" #line 231 "ael.flex"
{ STORE_POS; return BAR;} { STORE_POS; return BAR;}
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "ael.flex" #line 232 "ael.flex"
{ STORE_POS; return EXTENMARK;} { STORE_POS; return EXTENMARK;}
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "ael.flex" #line 233 "ael.flex"
{ STORE_POS; return AT;} { STORE_POS; return AT;}
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "ael.flex" #line 234 "ael.flex"
{/*comment*/} {/*comment*/}
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "ael.flex" #line 235 "ael.flex"
{ STORE_POS; return KW_CONTEXT;} { STORE_POS; return KW_CONTEXT;}
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 233 "ael.flex" #line 236 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;} { STORE_POS; return KW_ABSTRACT;}
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "ael.flex" #line 237 "ael.flex"
{ STORE_POS; return KW_EXTEND;} { STORE_POS; return KW_EXTEND;}
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "ael.flex" #line 238 "ael.flex"
{ STORE_POS; return KW_MACRO;}; { STORE_POS; return KW_MACRO;};
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "ael.flex" #line 239 "ael.flex"
{ STORE_POS; return KW_GLOBALS;} { STORE_POS; return KW_GLOBALS;}
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "ael.flex" #line 240 "ael.flex"
{ STORE_POS; return KW_LOCAL;} { STORE_POS; return KW_LOCAL;}
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "ael.flex" #line 241 "ael.flex"
{ STORE_POS; return KW_IGNOREPAT;} { STORE_POS; return KW_IGNOREPAT;}
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "ael.flex" #line 242 "ael.flex"
{ STORE_POS; return KW_SWITCH;} { STORE_POS; return KW_SWITCH;}
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "ael.flex" #line 243 "ael.flex"
{ STORE_POS; return KW_IF;} { STORE_POS; return KW_IF;}
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "ael.flex" #line 244 "ael.flex"
{ STORE_POS; return KW_IFTIME;} { STORE_POS; return KW_IFTIME;}
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "ael.flex" #line 245 "ael.flex"
{ STORE_POS; return KW_RANDOM;} { STORE_POS; return KW_RANDOM;}
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "ael.flex" #line 246 "ael.flex"
{ STORE_POS; return KW_REGEXTEN;} { STORE_POS; return KW_REGEXTEN;}
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 244 "ael.flex" #line 247 "ael.flex"
{ STORE_POS; return KW_HINT;} { STORE_POS; return KW_HINT;}
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "ael.flex" #line 248 "ael.flex"
{ STORE_POS; return KW_ELSE;} { STORE_POS; return KW_ELSE;}
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 246 "ael.flex" #line 249 "ael.flex"
{ STORE_POS; return KW_GOTO;} { STORE_POS; return KW_GOTO;}
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "ael.flex" #line 250 "ael.flex"
{ STORE_POS; return KW_JUMP;} { STORE_POS; return KW_JUMP;}
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 248 "ael.flex" #line 251 "ael.flex"
{ STORE_POS; return KW_RETURN;} { STORE_POS; return KW_RETURN;}
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 249 "ael.flex" #line 252 "ael.flex"
{ STORE_POS; return KW_BREAK;} { STORE_POS; return KW_BREAK;}
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 250 "ael.flex" #line 253 "ael.flex"
{ STORE_POS; return KW_CONTINUE;} { STORE_POS; return KW_CONTINUE;}
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 251 "ael.flex" #line 254 "ael.flex"
{ STORE_POS; return KW_FOR;} { STORE_POS; return KW_FOR;}
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 252 "ael.flex" #line 255 "ael.flex"
{ STORE_POS; return KW_WHILE;} { STORE_POS; return KW_WHILE;}
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 253 "ael.flex" #line 256 "ael.flex"
{ STORE_POS; return KW_CASE;} { STORE_POS; return KW_CASE;}
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 254 "ael.flex" #line 257 "ael.flex"
{ STORE_POS; return KW_DEFAULT;} { STORE_POS; return KW_DEFAULT;}
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 255 "ael.flex" #line 258 "ael.flex"
{ STORE_POS; return KW_PATTERN;} { STORE_POS; return KW_PATTERN;}
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 256 "ael.flex" #line 259 "ael.flex"
{ STORE_POS; return KW_CATCH;} { STORE_POS; return KW_CATCH;}
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 257 "ael.flex" #line 260 "ael.flex"
{ STORE_POS; return KW_SWITCHES;} { STORE_POS; return KW_SWITCHES;}
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 258 "ael.flex" #line 261 "ael.flex"
{ STORE_POS; return KW_ESWITCHES;} { STORE_POS; return KW_ESWITCHES;}
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 259 "ael.flex" #line 262 "ael.flex"
{ STORE_POS; return KW_INCLUDES;} { STORE_POS; return KW_INCLUDES;}
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 260 "ael.flex" #line 263 "ael.flex"
{ BEGIN(comment); my_col += 2; } { BEGIN(comment); my_col += 2; }
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 262 "ael.flex" #line 265 "ael.flex"
{ my_col += yyleng; } { my_col += yyleng; }
YY_BREAK YY_BREAK
case 44: case 44:
/* rule 44 can match eol */ /* rule 44 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 263 "ael.flex" #line 266 "ael.flex"
{ ++my_lineno; my_col=1;} { ++my_lineno; my_col=1;}
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 264 "ael.flex" #line 267 "ael.flex"
{ my_col += yyleng; } { my_col += yyleng; }
YY_BREAK YY_BREAK
case 46: case 46:
/* rule 46 can match eol */ /* rule 46 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 265 "ael.flex" #line 268 "ael.flex"
{ ++my_lineno; my_col=1;} { ++my_lineno; my_col=1;}
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 266 "ael.flex" #line 269 "ael.flex"
{ my_col += 2; BEGIN(INITIAL); } /* the nice thing about comments is that you know exactly what ends them */ { my_col += 2; BEGIN(INITIAL); } /* the nice thing about comments is that you know exactly what ends them */
YY_BREAK YY_BREAK
case 48: case 48:
/* rule 48 can match eol */ /* rule 48 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 268 "ael.flex" #line 271 "ael.flex"
{ my_lineno++; my_col = 1; } { my_lineno++; my_col = 1; }
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 269 "ael.flex" #line 272 "ael.flex"
{ my_col += yyleng; } { my_col += yyleng; }
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 270 "ael.flex" #line 273 "ael.flex"
{ my_col += (yyleng*8)-(my_col%8); } { my_col += (yyleng*8)-(my_col%8); }
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 272 "ael.flex" #line 275 "ael.flex"
{ {
/* boy did I open a can of worms when I changed the lexical token "word". /* boy did I open a can of worms when I changed the lexical token "word".
all the above keywords can be used as a beginning to a "word".- all the above keywords can be used as a beginning to a "word".-
@ -1596,22 +1580,22 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 298 "ael.flex" #line 301 "ael.flex"
{ yymore(); /* Keep going */ } { yymore(); /* Keep going */ }
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 299 "ael.flex" #line 302 "ael.flex"
{ yymore(); /* Keep going */ } { yymore(); /* Keep going */ }
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 300 "ael.flex" #line 303 "ael.flex"
{ yymore(); /* Keep Going */ } { yymore(); /* Keep Going */ }
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 301 "ael.flex" #line 304 "ael.flex"
{ /* the beginning of a ${} construct. prepare and pop into curlystate */ { /* the beginning of a ${} construct. prepare and pop into curlystate */
parencount2 = 0; parencount2 = 0;
pbcpos2 = 0; pbcpos2 = 0;
@ -1622,7 +1606,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 308 "ael.flex" #line 311 "ael.flex"
{ /* the beginning of a $[] construct. prepare and pop into brackstate */ { /* the beginning of a $[] construct. prepare and pop into brackstate */
parencount3 = 0; parencount3 = 0;
pbcpos3 = 0; pbcpos3 = 0;
@ -1634,7 +1618,7 @@ YY_RULE_SETUP
case 57: case 57:
/* rule 57 can match eol */ /* rule 57 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 315 "ael.flex" #line 318 "ael.flex"
{ {
/* a non-word constituent char, like a space, tab, curly, paren, etc */ /* a non-word constituent char, like a space, tab, curly, paren, etc */
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
@ -1650,7 +1634,7 @@ YY_RULE_SETUP
case 58: case 58:
/* rule 58 can match eol */ /* rule 58 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 328 "ael.flex" #line 331 "ael.flex"
{ {
if ( pbcpop2('}') ) { /* error */ if ( pbcpop2('}') ) { /* error */
STORE_LOC; STORE_LOC;
@ -1673,7 +1657,7 @@ YY_RULE_SETUP
case 59: case 59:
/* rule 59 can match eol */ /* rule 59 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 347 "ael.flex" #line 350 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if (c == '{') if (c == '{')
@ -1685,7 +1669,7 @@ YY_RULE_SETUP
case 60: case 60:
/* rule 60 can match eol */ /* rule 60 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 355 "ael.flex" #line 358 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if ( pbcpop2(c)) { /* error */ if ( pbcpop2(c)) { /* error */
@ -1704,7 +1688,7 @@ YY_RULE_SETUP
case 61: case 61:
/* rule 61 can match eol */ /* rule 61 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 371 "ael.flex" #line 374 "ael.flex"
{ {
if ( pbcpop3(']') ) { /* error */ if ( pbcpop3(']') ) { /* error */
STORE_LOC; STORE_LOC;
@ -1727,7 +1711,7 @@ YY_RULE_SETUP
case 62: case 62:
/* rule 62 can match eol */ /* rule 62 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 390 "ael.flex" #line 393 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if (c == '[') if (c == '[')
@ -1739,7 +1723,7 @@ YY_RULE_SETUP
case 63: case 63:
/* rule 63 can match eol */ /* rule 63 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 398 "ael.flex" #line 401 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if ( pbcpop3(c)) { /* error */ if ( pbcpop3(c)) { /* error */
@ -1765,7 +1749,7 @@ YY_RULE_SETUP
case 64: case 64:
/* rule 64 can match eol */ /* rule 64 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 421 "ael.flex" #line 424 "ael.flex"
{ {
if ( pbcpop(')') ) { /* error */ if ( pbcpop(')') ) { /* error */
STORE_LOC; STORE_LOC;
@ -1794,7 +1778,7 @@ YY_RULE_SETUP
case 65: case 65:
/* rule 65 can match eol */ /* rule 65 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 446 "ael.flex" #line 449 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if (c == '(') if (c == '(')
@ -1806,7 +1790,7 @@ YY_RULE_SETUP
case 66: case 66:
/* rule 66 can match eol */ /* rule 66 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 454 "ael.flex" #line 457 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */ if ( pbcpop(c)) { /* error */
@ -1833,7 +1817,7 @@ YY_RULE_SETUP
case 67: case 67:
/* rule 67 can match eol */ /* rule 67 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 478 "ael.flex" #line 481 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if (c == '(') if (c == '(')
@ -1845,7 +1829,7 @@ YY_RULE_SETUP
case 68: case 68:
/* rule 68 can match eol */ /* rule 68 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 486 "ael.flex" #line 489 "ael.flex"
{ {
if ( pbcpop(')') ) { /* error */ if ( pbcpop(')') ) { /* error */
STORE_LOC; STORE_LOC;
@ -1876,7 +1860,7 @@ YY_RULE_SETUP
case 69: case 69:
/* rule 69 can match eol */ /* rule 69 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 513 "ael.flex" #line 516 "ael.flex"
{ {
if( parencount != 0) { /* ast_log(LOG_NOTICE,"Folding in a comma!\n"); */ if( parencount != 0) { /* ast_log(LOG_NOTICE,"Folding in a comma!\n"); */
yymore(); yymore();
@ -1895,7 +1879,7 @@ YY_RULE_SETUP
case 70: case 70:
/* rule 70 can match eol */ /* rule 70 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 528 "ael.flex" #line 531 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */ if ( pbcpop(c) ) { /* error */
@ -1918,7 +1902,7 @@ YY_RULE_SETUP
case 71: case 71:
/* rule 71 can match eol */ /* rule 71 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 547 "ael.flex" #line 550 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
yymore(); yymore();
@ -1928,7 +1912,7 @@ YY_RULE_SETUP
case 72: case 72:
/* rule 72 can match eol */ /* rule 72 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 553 "ael.flex" #line 556 "ael.flex"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */ if ( pbcpop(c) ) { /* error */
@ -1946,7 +1930,7 @@ YY_RULE_SETUP
case 73: case 73:
/* rule 73 can match eol */ /* rule 73 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 567 "ael.flex" #line 570 "ael.flex"
{ {
STORE_LOC; STORE_LOC;
yylval->str = malloc(yyleng); yylval->str = malloc(yyleng);
@ -1960,7 +1944,7 @@ YY_RULE_SETUP
case 74: case 74:
/* rule 74 can match eol */ /* rule 74 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 577 "ael.flex" #line 580 "ael.flex"
{ {
char fnamebuf[1024],*p1,*p2; char fnamebuf[1024],*p1,*p2;
int glob_ret; int glob_ret;
@ -2013,7 +1997,7 @@ case YY_STATE_EOF(comment):
case YY_STATE_EOF(curlystate): case YY_STATE_EOF(curlystate):
case YY_STATE_EOF(wordstate): case YY_STATE_EOF(wordstate):
case YY_STATE_EOF(brackstate): case YY_STATE_EOF(brackstate):
#line 622 "ael.flex" #line 625 "ael.flex"
{ {
char fnamebuf[2048]; char fnamebuf[2048];
if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) { if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) {
@ -2049,15 +2033,15 @@ case YY_STATE_EOF(brackstate):
case 75: case 75:
/* rule 75 can match eol */ /* rule 75 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 654 "ael.flex" #line 657 "ael.flex"
{ /* default rule */ ast_log(LOG_ERROR,"Unhandled char(s): %s\n", yytext); } { /* default rule */ ast_log(LOG_ERROR,"Unhandled char(s): %s\n", yytext); }
YY_BREAK YY_BREAK
case 76: case 76:
YY_RULE_SETUP YY_RULE_SETUP
#line 656 "ael.flex" #line 659 "ael.flex"
YY_FATAL_ERROR( "flex scanner jammed" ); YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK YY_BREAK
#line 2053 "ael_lex.c" #line 2042 "ael_lex.c"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@ -2828,8 +2812,8 @@ YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
/** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will /** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
* scan from a @e copy of @a bytes. * scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan * @param bytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
@ -2990,7 +2974,7 @@ void ael_yyset_lineno (int line_number , yyscan_t yyscanner)
} }
/** Set the current column. /** Set the current column.
* @param column_no * @param line_number
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
*/ */
void ael_yyset_column (int column_no , yyscan_t yyscanner) void ael_yyset_column (int column_no , yyscan_t yyscanner)
@ -3230,7 +3214,7 @@ void *ael_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 656 "ael.flex" #line 659 "ael.flex"
@ -3492,3 +3476,4 @@ static void setup_filestack(char *fnamebuf2, int fnamebuf_siz, glob_t *globbuf,
} }
} }
} }

Loading…
Cancel
Save