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
This commit is contained in:
Sean Bright 2023-03-21 09:24:59 -04:00 committed by Friendly Automation
parent 7dc73c8151
commit acd1513111
9 changed files with 579 additions and 608 deletions

View File

@ -133,13 +133,10 @@ else
ast_expr2f.c:
endif
$(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 "#include \"asterisk.h\"" >> $@
$(CMD_PREFIX) echo >> $@
$(CMD_PREFIX) cat $@.fix >> $@
$(CMD_PREFIX) rm $@.fix
$(CMD_PREFIX) $(FLEX) -t ast_expr2.fl >> $@
ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),)
GMIMELDFLAGS+=$(GMIME_LIB)

View File

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

View File

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

View File

@ -57,6 +57,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@ -87,8 +88,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@ -162,15 +161,7 @@ typedef void* yyscan_t;
/* Size of default input buffer. */
#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
#endif /* __ia64__ */
#endif
/* 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 char *expr2_token_subst(const char *mess);
#line 611 "ast_expr2f.c"
#line 600 "ast_expr2f.c"
#define INITIAL 0
#define var 1
@ -747,12 +738,7 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
#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
#endif /* __ia64__ */
#endif
/* 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,
* we now use fwrite().
*/
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif
/* 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 ) \
{ \
int c = '*'; \
size_t n; \
int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@ -856,10 +842,10 @@ YY_DECL
register int yy_act;
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;
@ -950,132 +936,132 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 132 "ast_expr2.fl"
#line 130 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK
case 2:
YY_RULE_SETUP
#line 133 "ast_expr2.fl"
#line 131 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 134 "ast_expr2.fl"
#line 132 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 135 "ast_expr2.fl"
#line 133 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK
case 5:
YY_RULE_SETUP
#line 136 "ast_expr2.fl"
#line 134 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 137 "ast_expr2.fl"
#line 135 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 138 "ast_expr2.fl"
#line 136 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
YY_BREAK
case 8:
YY_RULE_SETUP
#line 139 "ast_expr2.fl"
#line 137 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 140 "ast_expr2.fl"
#line 138 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GT;}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 141 "ast_expr2.fl"
#line 139 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LT;}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 142 "ast_expr2.fl"
#line 140 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GE;}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 143 "ast_expr2.fl"
#line 141 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LE;}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 144 "ast_expr2.fl"
#line 142 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_NE;}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 145 "ast_expr2.fl"
#line 143 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_PLUS;}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 146 "ast_expr2.fl"
#line 144 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COMMA;}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 147 "ast_expr2.fl"
#line 145 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MINUS;}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 148 "ast_expr2.fl"
#line 146 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MULT;}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 149 "ast_expr2.fl"
#line 147 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_DIV;}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 150 "ast_expr2.fl"
#line 148 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MOD;}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 151 "ast_expr2.fl"
#line 149 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COND;}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 152 "ast_expr2.fl"
#line 150 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COMPL;}
YY_BREAK
case 22:
YY_RULE_SETUP
#line 153 "ast_expr2.fl"
#line 151 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLON;}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 154 "ast_expr2.fl"
#line 152 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 155 "ast_expr2.fl"
#line 153 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LP;}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 156 "ast_expr2.fl"
#line 154 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_RP;}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 157 "ast_expr2.fl"
#line 155 "ast_expr2.fl"
{
/* gather the contents of ${} expressions, with trailing stuff,
* into a single TOKEN.
@ -1088,24 +1074,24 @@ YY_RULE_SETUP
YY_BREAK
case 27:
YY_RULE_SETUP
#line 167 "ast_expr2.fl"
#line 165 "ast_expr2.fl"
{}
YY_BREAK
case 28:
/* rule 28 can match eol */
YY_RULE_SETUP
#line 168 "ast_expr2.fl"
#line 166 "ast_expr2.fl"
{SET_COLUMNS; SET_STRING; return TOKEN;}
YY_BREAK
case 29:
/* rule 29 can match eol */
YY_RULE_SETUP
#line 170 "ast_expr2.fl"
#line 168 "ast_expr2.fl"
{/* what to do with eol */}
YY_BREAK
case 30:
YY_RULE_SETUP
#line 171 "ast_expr2.fl"
#line 169 "ast_expr2.fl"
{
SET_COLUMNS;
/* the original behavior of the expression parser was
@ -1118,7 +1104,7 @@ YY_RULE_SETUP
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
#line 180 "ast_expr2.fl"
#line 178 "ast_expr2.fl"
{
SET_COLUMNS;
SET_STRING;
@ -1128,7 +1114,7 @@ YY_RULE_SETUP
case 32:
/* rule 32 can match eol */
YY_RULE_SETUP
#line 186 "ast_expr2.fl"
#line 184 "ast_expr2.fl"
{
curlycount = 0;
BEGIN(var);
@ -1138,7 +1124,7 @@ YY_RULE_SETUP
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
#line 192 "ast_expr2.fl"
#line 190 "ast_expr2.fl"
{
curlycount--;
if (curlycount < 0) {
@ -1152,7 +1138,7 @@ YY_RULE_SETUP
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
#line 202 "ast_expr2.fl"
#line 200 "ast_expr2.fl"
{
curlycount++;
yymore();
@ -1160,7 +1146,7 @@ YY_RULE_SETUP
YY_BREAK
case 35:
YY_RULE_SETUP
#line 208 "ast_expr2.fl"
#line 206 "ast_expr2.fl"
{
BEGIN(0);
SET_COLUMNS;
@ -1170,7 +1156,7 @@ YY_RULE_SETUP
YY_BREAK
case 36:
YY_RULE_SETUP
#line 215 "ast_expr2.fl"
#line 213 "ast_expr2.fl"
{
curlycount = 0;
BEGIN(var);
@ -1180,7 +1166,7 @@ YY_RULE_SETUP
case 37:
/* rule 37 can match eol */
YY_RULE_SETUP
#line 221 "ast_expr2.fl"
#line 219 "ast_expr2.fl"
{
char c = yytext[yyleng-1];
BEGIN(0);
@ -1191,7 +1177,7 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(trail):
#line 230 "ast_expr2.fl"
#line 228 "ast_expr2.fl"
{
BEGIN(0);
SET_COLUMNS;
@ -1202,10 +1188,10 @@ case YY_STATE_EOF(trail):
YY_BREAK
case 38:
YY_RULE_SETUP
#line 238 "ast_expr2.fl"
#line 236 "ast_expr2.fl"
ECHO;
YY_BREAK
#line 1208 "ast_expr2f.c"
#line 1192 "ast_expr2f.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(var):
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
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param bytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner 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.
* \param column_no line_number
* \param yyscanner The scanner object.
* @param line_number
* @param yyscanner The scanner object.
*/
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"
#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);
return(0);
}

View File

@ -40,13 +40,10 @@ else
ael/ael_lex.c:
endif
$(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 "#include \"asterisk.h\"" >> $@
$(CMD_PREFIX) echo >> $@
$(CMD_PREFIX) cat $@.fix >> $@
$(CMD_PREFIX) rm $@.fix
$(CMD_PREFIX) $(FLEX) -t ael/ael.flex >> $@
ifneq ($(findstring REBUILD_PARSERS,$(MENUSELECT_CFLAGS)),)
ael/ael.tab.c ael/ael.tab.h: ael/ael.y

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -57,6 +57,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@ -87,8 +88,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@ -162,15 +161,7 @@ typedef void* yyscan_t;
/* Size of default input buffer. */
#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
#endif /* __ia64__ */
#endif
/* 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.
*/
#line 71 "ael.flex"
#include "asterisk.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@ -967,7 +956,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS
#define STORE_LOC
#endif
#line 963 "ael_lex.c"
#line 957 "ael_lex.c"
#define INITIAL 0
#define paren 1
@ -1111,12 +1100,7 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
#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
#endif /* __ia64__ */
#endif
/* 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,
* we now use fwrite().
*/
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif
/* 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 ) \
{ \
int c = '*'; \
size_t n; \
int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@ -1220,10 +1204,10 @@ YY_DECL
register int yy_act;
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;
@ -1314,260 +1298,260 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 219 "ael.flex"
#line 222 "ael.flex"
{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
#line 220 "ael.flex"
#line 223 "ael.flex"
{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 221 "ael.flex"
#line 224 "ael.flex"
{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 222 "ael.flex"
#line 225 "ael.flex"
{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
#line 223 "ael.flex"
#line 226 "ael.flex"
{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 224 "ael.flex"
#line 227 "ael.flex"
{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 225 "ael.flex"
#line 228 "ael.flex"
{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
#line 226 "ael.flex"
#line 229 "ael.flex"
{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 227 "ael.flex"
#line 230 "ael.flex"
{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 228 "ael.flex"
#line 231 "ael.flex"
{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 229 "ael.flex"
#line 232 "ael.flex"
{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 230 "ael.flex"
#line 233 "ael.flex"
{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 231 "ael.flex"
#line 234 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 232 "ael.flex"
#line 235 "ael.flex"
{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 233 "ael.flex"
#line 236 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 234 "ael.flex"
#line 237 "ael.flex"
{ STORE_POS; return KW_EXTEND;}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 235 "ael.flex"
#line 238 "ael.flex"
{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 18:
YY_RULE_SETUP
#line 236 "ael.flex"
#line 239 "ael.flex"
{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 237 "ael.flex"
#line 240 "ael.flex"
{ STORE_POS; return KW_LOCAL;}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 238 "ael.flex"
#line 241 "ael.flex"
{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 239 "ael.flex"
#line 242 "ael.flex"
{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 22:
YY_RULE_SETUP
#line 240 "ael.flex"
#line 243 "ael.flex"
{ STORE_POS; return KW_IF;}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 241 "ael.flex"
#line 244 "ael.flex"
{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 242 "ael.flex"
#line 245 "ael.flex"
{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 243 "ael.flex"
#line 246 "ael.flex"
{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 244 "ael.flex"
#line 247 "ael.flex"
{ STORE_POS; return KW_HINT;}
YY_BREAK
case 27:
YY_RULE_SETUP
#line 245 "ael.flex"
#line 248 "ael.flex"
{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 28:
YY_RULE_SETUP
#line 246 "ael.flex"
#line 249 "ael.flex"
{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 29:
YY_RULE_SETUP
#line 247 "ael.flex"
#line 250 "ael.flex"
{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 30:
YY_RULE_SETUP
#line 248 "ael.flex"
#line 251 "ael.flex"
{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 31:
YY_RULE_SETUP
#line 249 "ael.flex"
#line 252 "ael.flex"
{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 32:
YY_RULE_SETUP
#line 250 "ael.flex"
#line 253 "ael.flex"
{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 33:
YY_RULE_SETUP
#line 251 "ael.flex"
#line 254 "ael.flex"
{ STORE_POS; return KW_FOR;}
YY_BREAK
case 34:
YY_RULE_SETUP
#line 252 "ael.flex"
#line 255 "ael.flex"
{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 35:
YY_RULE_SETUP
#line 253 "ael.flex"
#line 256 "ael.flex"
{ STORE_POS; return KW_CASE;}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 254 "ael.flex"
#line 257 "ael.flex"
{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 37:
YY_RULE_SETUP
#line 255 "ael.flex"
#line 258 "ael.flex"
{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 38:
YY_RULE_SETUP
#line 256 "ael.flex"
#line 259 "ael.flex"
{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 39:
YY_RULE_SETUP
#line 257 "ael.flex"
#line 260 "ael.flex"
{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 40:
YY_RULE_SETUP
#line 258 "ael.flex"
#line 261 "ael.flex"
{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 41:
YY_RULE_SETUP
#line 259 "ael.flex"
#line 262 "ael.flex"
{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 260 "ael.flex"
#line 263 "ael.flex"
{ BEGIN(comment); my_col += 2; }
YY_BREAK
case 43:
YY_RULE_SETUP
#line 262 "ael.flex"
#line 265 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
#line 263 "ael.flex"
#line 266 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 264 "ael.flex"
#line 267 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
#line 265 "ael.flex"
#line 268 "ael.flex"
{ ++my_lineno; my_col=1;}
YY_BREAK
case 47:
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 */
YY_BREAK
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
#line 268 "ael.flex"
#line 271 "ael.flex"
{ my_lineno++; my_col = 1; }
YY_BREAK
case 49:
YY_RULE_SETUP
#line 269 "ael.flex"
#line 272 "ael.flex"
{ my_col += yyleng; }
YY_BREAK
case 50:
YY_RULE_SETUP
#line 270 "ael.flex"
#line 273 "ael.flex"
{ my_col += (yyleng*8)-(my_col%8); }
YY_BREAK
case 51:
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".
all the above keywords can be used as a beginning to a "word".-
@ -1596,22 +1580,22 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
#line 298 "ael.flex"
#line 301 "ael.flex"
{ yymore(); /* Keep going */ }
YY_BREAK
case 53:
YY_RULE_SETUP
#line 299 "ael.flex"
#line 302 "ael.flex"
{ yymore(); /* Keep going */ }
YY_BREAK
case 54:
YY_RULE_SETUP
#line 300 "ael.flex"
#line 303 "ael.flex"
{ yymore(); /* Keep Going */ }
YY_BREAK
case 55:
YY_RULE_SETUP
#line 301 "ael.flex"
#line 304 "ael.flex"
{ /* the beginning of a ${} construct. prepare and pop into curlystate */
parencount2 = 0;
pbcpos2 = 0;
@ -1622,7 +1606,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
#line 308 "ael.flex"
#line 311 "ael.flex"
{ /* the beginning of a $[] construct. prepare and pop into brackstate */
parencount3 = 0;
pbcpos3 = 0;
@ -1634,7 +1618,7 @@ YY_RULE_SETUP
case 57:
/* rule 57 can match eol */
YY_RULE_SETUP
#line 315 "ael.flex"
#line 318 "ael.flex"
{
/* a non-word constituent char, like a space, tab, curly, paren, etc */
char c = yytext[yyleng-1];
@ -1650,7 +1634,7 @@ YY_RULE_SETUP
case 58:
/* rule 58 can match eol */
YY_RULE_SETUP
#line 328 "ael.flex"
#line 331 "ael.flex"
{
if ( pbcpop2('}') ) { /* error */
STORE_LOC;
@ -1673,7 +1657,7 @@ YY_RULE_SETUP
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
#line 347 "ael.flex"
#line 350 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '{')
@ -1685,7 +1669,7 @@ YY_RULE_SETUP
case 60:
/* rule 60 can match eol */
YY_RULE_SETUP
#line 355 "ael.flex"
#line 358 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop2(c)) { /* error */
@ -1704,7 +1688,7 @@ YY_RULE_SETUP
case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
#line 371 "ael.flex"
#line 374 "ael.flex"
{
if ( pbcpop3(']') ) { /* error */
STORE_LOC;
@ -1727,7 +1711,7 @@ YY_RULE_SETUP
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
#line 390 "ael.flex"
#line 393 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '[')
@ -1739,7 +1723,7 @@ YY_RULE_SETUP
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
#line 398 "ael.flex"
#line 401 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop3(c)) { /* error */
@ -1765,7 +1749,7 @@ YY_RULE_SETUP
case 64:
/* rule 64 can match eol */
YY_RULE_SETUP
#line 421 "ael.flex"
#line 424 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@ -1794,7 +1778,7 @@ YY_RULE_SETUP
case 65:
/* rule 65 can match eol */
YY_RULE_SETUP
#line 446 "ael.flex"
#line 449 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@ -1806,7 +1790,7 @@ YY_RULE_SETUP
case 66:
/* rule 66 can match eol */
YY_RULE_SETUP
#line 454 "ael.flex"
#line 457 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */
@ -1833,7 +1817,7 @@ YY_RULE_SETUP
case 67:
/* rule 67 can match eol */
YY_RULE_SETUP
#line 478 "ael.flex"
#line 481 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
@ -1845,7 +1829,7 @@ YY_RULE_SETUP
case 68:
/* rule 68 can match eol */
YY_RULE_SETUP
#line 486 "ael.flex"
#line 489 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
@ -1876,7 +1860,7 @@ YY_RULE_SETUP
case 69:
/* rule 69 can match eol */
YY_RULE_SETUP
#line 513 "ael.flex"
#line 516 "ael.flex"
{
if( parencount != 0) { /* ast_log(LOG_NOTICE,"Folding in a comma!\n"); */
yymore();
@ -1895,7 +1879,7 @@ YY_RULE_SETUP
case 70:
/* rule 70 can match eol */
YY_RULE_SETUP
#line 528 "ael.flex"
#line 531 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@ -1918,7 +1902,7 @@ YY_RULE_SETUP
case 71:
/* rule 71 can match eol */
YY_RULE_SETUP
#line 547 "ael.flex"
#line 550 "ael.flex"
{
char c = yytext[yyleng-1];
yymore();
@ -1928,7 +1912,7 @@ YY_RULE_SETUP
case 72:
/* rule 72 can match eol */
YY_RULE_SETUP
#line 553 "ael.flex"
#line 556 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
@ -1946,7 +1930,7 @@ YY_RULE_SETUP
case 73:
/* rule 73 can match eol */
YY_RULE_SETUP
#line 567 "ael.flex"
#line 570 "ael.flex"
{
STORE_LOC;
yylval->str = malloc(yyleng);
@ -1960,7 +1944,7 @@ YY_RULE_SETUP
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
#line 577 "ael.flex"
#line 580 "ael.flex"
{
char fnamebuf[1024],*p1,*p2;
int glob_ret;
@ -2013,7 +1997,7 @@ case YY_STATE_EOF(comment):
case YY_STATE_EOF(curlystate):
case YY_STATE_EOF(wordstate):
case YY_STATE_EOF(brackstate):
#line 622 "ael.flex"
#line 625 "ael.flex"
{
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) {
@ -2049,15 +2033,15 @@ case YY_STATE_EOF(brackstate):
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
#line 654 "ael.flex"
#line 657 "ael.flex"
{ /* default rule */ ast_log(LOG_ERROR,"Unhandled char(s): %s\n", yytext); }
YY_BREAK
case 76:
YY_RULE_SETUP
#line 656 "ael.flex"
#line 659 "ael.flex"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 2053 "ael_lex.c"
#line 2042 "ael_lex.c"
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
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param bytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner 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.
* @param column_no
* @param line_number
* @param yyscanner The scanner object.
*/
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"
#line 656 "ael.flex"
#line 659 "ael.flex"
@ -3492,3 +3476,4 @@ static void setup_filestack(char *fnamebuf2, int fnamebuf_siz, glob_t *globbuf,
}
}
}