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
(cherry picked from commit ee4278959a)
This commit is contained in:
Sean Bright
2023-03-21 09:24:59 -04:00
committed by Asterisk Development Team
parent 5aa0b0f961
commit aba5d71743
9 changed files with 579 additions and 608 deletions

View File

@@ -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)

View File

@@ -2,20 +2,20 @@
/* A Bison parser, made by GNU Bison 2.4.1. */ /* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton implementation for Bison's Yacc-like parsers in C /* Skeleton implementation for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc. Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -28,7 +28,7 @@
special exception, which will cause the skeleton and the resulting special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public Bison output files to be licensed under the GNU General Public
License without this special exception. License without this special exception.
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ version 2.2 of Bison. */
@@ -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;
} }

View File

@@ -2,20 +2,20 @@
/* A Bison parser, made by GNU Bison 2.4.1. */ /* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C /* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc. Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -28,7 +28,7 @@
special exception, which will cause the skeleton and the resulting special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public Bison output files to be licensed under the GNU General Public
License without this special exception. License without this special exception.
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ version 2.2 of Bison. */
@@ -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

View File

@@ -37,7 +37,7 @@
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
* if you want the limit (max/min) macros for int types. * if you want the limit (max/min) macros for int types.
*/ */
#ifndef __STDC_LIMIT_MACROS #ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS 1 #define __STDC_LIMIT_MACROS 1
@@ -54,9 +54,10 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t; typedef signed char flex_int8_t;
typedef short int flex_int16_t; typedef short int flex_int16_t;
typedef int flex_int32_t; 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.
@@ -187,7 +178,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
#define EOB_ACT_LAST_MATCH 2 #define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n) #define YY_LESS_LINENO(n)
/* Return all but the first "n" matched characters back to the input stream. */ /* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \ #define yyless(n) \
do \ do \
@@ -249,7 +240,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */ int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */ int yy_bs_column; /**< The column count. */
/* Whether to try to fill the input buffer when we reach the /* Whether to try to fill the input buffer when we reach the
* end of it. * end of it.
*/ */
@@ -602,13 +593,13 @@ struct parse_io
yyscan_t scanner; yyscan_t scanner;
struct ast_channel *chan; struct ast_channel *chan;
}; };
void ast_yyset_column(int column_no, yyscan_t yyscanner); void ast_yyset_column(int column_no, yyscan_t yyscanner);
int ast_yyget_column(yyscan_t yyscanner); 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
@@ -669,9 +660,9 @@ static int yy_init_globals (yyscan_t yyscanner );
/* This must go here because YYSTYPE and YYLTYPE are included /* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/ * from bison output in section 1.*/
# define yylval yyg->yylval_r # define yylval yyg->yylval_r
# define yylloc yyg->yylloc_r # define yylloc yyg->yylloc_r
int ast_yylex_init (yyscan_t* scanner); int ast_yylex_init (yyscan_t* scanner);
int ast_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); int ast_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
@@ -710,9 +701,9 @@ YYSTYPE * ast_yyget_lval (yyscan_t yyscanner );
void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner ); YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner );
void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner ); void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in /* Macros after this point can all be overridden by user definitions in
* section 1. * section 1.
*/ */
@@ -726,7 +717,7 @@ extern int ast_yywrap (yyscan_t yyscanner );
#endif #endif
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
#ifndef yytext_ptr #ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif #endif
@@ -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();
@@ -1725,7 +1711,7 @@ static void ast_yy_load_buffer_state (yyscan_t yyscanner)
YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner) YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b ) if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" ); YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
@@ -1769,7 +1755,7 @@ static void ast_yy_load_buffer_state (yyscan_t yyscanner)
#ifndef __cplusplus #ifndef __cplusplus
extern int isatty (int ); extern int isatty (int );
#endif /* __cplusplus */ #endif /* __cplusplus */
/* Initializes or reinitializes a buffer. /* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer, * This function is sometimes called more than once on the same buffer,
* such as during a ast_yyrestart() or at EOF. * such as during a ast_yyrestart() or at EOF.
@@ -1795,7 +1781,7 @@ extern int isatty (int );
} }
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
errno = oerrno; errno = oerrno;
} }
@@ -1901,9 +1887,9 @@ static void ast_yyensure_buffer_stack (yyscan_t yyscanner)
, yyscanner); , yyscanner);
if ( ! yyg->yy_buffer_stack ) if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in ast_yyensure_buffer_stack()" ); YY_FATAL_ERROR( "out of dynamic memory in ast_yyensure_buffer_stack()" );
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_top = 0;
return; return;
@@ -1932,12 +1918,12 @@ static void ast_yyensure_buffer_stack (yyscan_t yyscanner)
* @param base the character buffer * @param base the character buffer
* @param size the size in bytes of the character buffer * @param size the size in bytes of the character buffer
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
if ( size < 2 || if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR ) base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -1973,14 +1959,14 @@ YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yys
*/ */
YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
{ {
return ast_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); return ast_yy_scan_bytes(yystr,strlen(yystr) ,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.
*/ */
@@ -1990,7 +1976,7 @@ YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ,
char *buf; char *buf;
yy_size_t n; yy_size_t n;
int i; int i;
/* Get memory for full buffer, including space for trailing EOB's. */ /* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2; n = _yybytes_len + 2;
buf = (char *) ast_yyalloc(n ,yyscanner ); buf = (char *) ast_yyalloc(n ,yyscanner );
@@ -2058,10 +2044,10 @@ YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner)
int ast_yyget_lineno (yyscan_t yyscanner) int ast_yyget_lineno (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (! YY_CURRENT_BUFFER) if (! YY_CURRENT_BUFFER)
return 0; return 0;
return yylineno; return yylineno;
} }
@@ -2071,10 +2057,10 @@ int ast_yyget_lineno (yyscan_t yyscanner)
int ast_yyget_column (yyscan_t yyscanner) int ast_yyget_column (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (! YY_CURRENT_BUFFER) if (! YY_CURRENT_BUFFER)
return 0; return 0;
return yycolumn; return yycolumn;
} }
@@ -2135,14 +2121,14 @@ void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
/* lineno is only valid if an input buffer exists. */ /* lineno is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "ast_yyset_lineno called with no buffer" , yyscanner); yy_fatal_error( "ast_yyset_lineno called with no buffer" , yyscanner);
yylineno = line_number; yylineno = line_number;
} }
/** 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)
{ {
@@ -2150,8 +2136,8 @@ void ast_yyset_column (int column_no , yyscan_t yyscanner)
/* column is only valid if an input buffer exists. */ /* column is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "ast_yyset_column called with no buffer" , yyscanner); yy_fatal_error( "ast_yyset_column called with no buffer" , yyscanner);
yycolumn = column_no; yycolumn = column_no;
} }
@@ -2204,13 +2190,13 @@ YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner)
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yylloc; return yylloc;
} }
void ast_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner) void ast_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yylloc = yylloc_param; yylloc = yylloc_param;
} }
/* User-visible API */ /* User-visible API */
/* ast_yylex_init is special because it creates the scanner itself, so it is /* ast_yylex_init is special because it creates the scanner itself, so it is
@@ -2258,20 +2244,20 @@ int ast_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals
errno = EINVAL; errno = EINVAL;
return 1; return 1;
} }
*ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); *ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
if (*ptr_yy_globals == NULL){ if (*ptr_yy_globals == NULL){
errno = ENOMEM; errno = ENOMEM;
return 1; return 1;
} }
/* By setting to 0xAA, we expose bugs in /* By setting to 0xAA, we expose bugs in
yy_init_globals. Leave at 0x00 for releases. */ yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
ast_yyset_extra (yy_user_defined, *ptr_yy_globals); ast_yyset_extra (yy_user_defined, *ptr_yy_globals);
return yy_init_globals ( *ptr_yy_globals ); return yy_init_globals ( *ptr_yy_globals );
} }
@@ -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"
@@ -2486,7 +2472,7 @@ void ast_expr_clear_extra_error_info(void)
extra_error_message[0] = 0; extra_error_message[0] = 0;
} }
static const char * const expr2_token_equivs1[] = static const char * const expr2_token_equivs1[] =
{ {
"TOKEN", "TOKEN",
"TOK_COND", "TOK_COND",
@@ -2512,7 +2498,7 @@ static const char * const expr2_token_equivs1[] =
"TOK_LP" "TOK_LP"
}; };
static const char * const expr2_token_equivs2[] = static const char * const expr2_token_equivs2[] =
{ {
"<token>", "<token>",
"?", "?",
@@ -2623,3 +2609,4 @@ int ast_yyerror (const char *s, yyltype *loc, struct parse_io *parseio )
free(s2); free(s2);
return(0); return(0);
} }

View File

@@ -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

View File

@@ -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

View File

@@ -1,19 +1,19 @@
/* A Bison parser, made by GNU Bison 2.5. */ /* A Bison parser, made by GNU Bison 2.5. */
/* Bison interface for Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public Bison output files to be licensed under the GNU General Public
License without this special exception. License without this special exception.
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ version 2.2 of Bison. */
@@ -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

View File

@@ -37,7 +37,7 @@
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
* if you want the limit (max/min) macros for int types. * if you want the limit (max/min) macros for int types.
*/ */
#ifndef __STDC_LIMIT_MACROS #ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS 1 #define __STDC_LIMIT_MACROS 1
@@ -54,9 +54,10 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t; typedef signed char flex_int8_t;
typedef short int flex_int16_t; typedef short int flex_int16_t;
typedef int flex_int32_t; 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.
@@ -187,7 +178,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
#define EOB_ACT_LAST_MATCH 2 #define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n) #define YY_LESS_LINENO(n)
/* Return all but the first "n" matched characters back to the input stream. */ /* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \ #define yyless(n) \
do \ do \
@@ -249,7 +240,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */ int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */ int yy_bs_column; /**< The column count. */
/* Whether to try to fill the input buffer when we reach the /* Whether to try to fill the input buffer when we reach the
* end of it. * end of it.
*/ */
@@ -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
@@ -1033,9 +1022,9 @@ static int yy_init_globals (yyscan_t yyscanner );
/* This must go here because YYSTYPE and YYLTYPE are included /* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/ * from bison output in section 1.*/
# define yylval yyg->yylval_r # define yylval yyg->yylval_r
# define yylloc yyg->yylloc_r # define yylloc yyg->yylloc_r
int ael_yylex_init (yyscan_t* scanner); int ael_yylex_init (yyscan_t* scanner);
int ael_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); int ael_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
@@ -1074,9 +1063,9 @@ YYSTYPE * ael_yyget_lval (yyscan_t yyscanner );
void ael_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); void ael_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
YYLTYPE *ael_yyget_lloc (yyscan_t yyscanner ); YYLTYPE *ael_yyget_lloc (yyscan_t yyscanner );
void ael_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner ); void ael_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in /* Macros after this point can all be overridden by user definitions in
* section 1. * section 1.
*/ */
@@ -1090,7 +1079,7 @@ extern int ael_yywrap (yyscan_t yyscanner );
#endif #endif
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
#ifndef yytext_ptr #ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif #endif
@@ -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:
{ {
@@ -2574,7 +2558,7 @@ static void ael_yy_load_buffer_state (yyscan_t yyscanner)
YY_BUFFER_STATE ael_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner) YY_BUFFER_STATE ael_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) ael_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); b = (YY_BUFFER_STATE) ael_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b ) if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in ael_yy_create_buffer()" ); YY_FATAL_ERROR( "out of dynamic memory in ael_yy_create_buffer()" );
@@ -2618,7 +2602,7 @@ static void ael_yy_load_buffer_state (yyscan_t yyscanner)
#ifndef __cplusplus #ifndef __cplusplus
extern int isatty (int ); extern int isatty (int );
#endif /* __cplusplus */ #endif /* __cplusplus */
/* Initializes or reinitializes a buffer. /* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer, * This function is sometimes called more than once on the same buffer,
* such as during a ael_yyrestart() or at EOF. * such as during a ael_yyrestart() or at EOF.
@@ -2644,7 +2628,7 @@ extern int isatty (int );
} }
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
errno = oerrno; errno = oerrno;
} }
@@ -2750,9 +2734,9 @@ static void ael_yyensure_buffer_stack (yyscan_t yyscanner)
, yyscanner); , yyscanner);
if ( ! yyg->yy_buffer_stack ) if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in ael_yyensure_buffer_stack()" ); YY_FATAL_ERROR( "out of dynamic memory in ael_yyensure_buffer_stack()" );
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
yyg->yy_buffer_stack_max = num_to_alloc; yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_top = 0;
return; return;
@@ -2781,12 +2765,12 @@ static void ael_yyensure_buffer_stack (yyscan_t yyscanner)
* @param base the character buffer * @param base the character buffer
* @param size the size in bytes of the character buffer * @param size the size in bytes of the character buffer
* @param yyscanner The scanner object. * @param yyscanner The scanner object.
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
if ( size < 2 || if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR ) base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -2822,14 +2806,14 @@ YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yys
*/ */
YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
{ {
return ael_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); return ael_yy_scan_bytes(yystr,strlen(yystr) ,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.
*/ */
@@ -2839,7 +2823,7 @@ YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ,
char *buf; char *buf;
yy_size_t n; yy_size_t n;
int i; int i;
/* Get memory for full buffer, including space for trailing EOB's. */ /* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2; n = _yybytes_len + 2;
buf = (char *) ael_yyalloc(n ,yyscanner ); buf = (char *) ael_yyalloc(n ,yyscanner );
@@ -2907,10 +2891,10 @@ YY_EXTRA_TYPE ael_yyget_extra (yyscan_t yyscanner)
int ael_yyget_lineno (yyscan_t yyscanner) int ael_yyget_lineno (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (! YY_CURRENT_BUFFER) if (! YY_CURRENT_BUFFER)
return 0; return 0;
return yylineno; return yylineno;
} }
@@ -2920,10 +2904,10 @@ int ael_yyget_lineno (yyscan_t yyscanner)
int ael_yyget_column (yyscan_t yyscanner) int ael_yyget_column (yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (! YY_CURRENT_BUFFER) if (! YY_CURRENT_BUFFER)
return 0; return 0;
return yycolumn; return yycolumn;
} }
@@ -2984,13 +2968,13 @@ void ael_yyset_lineno (int line_number , yyscan_t yyscanner)
/* lineno is only valid if an input buffer exists. */ /* lineno is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "ael_yyset_lineno called with no buffer" , yyscanner); yy_fatal_error( "ael_yyset_lineno called with no buffer" , yyscanner);
yylineno = line_number; yylineno = line_number;
} }
/** 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)
@@ -2999,8 +2983,8 @@ void ael_yyset_column (int column_no , yyscan_t yyscanner)
/* column is only valid if an input buffer exists. */ /* column is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER ) if (! YY_CURRENT_BUFFER )
yy_fatal_error( "ael_yyset_column called with no buffer" , yyscanner); yy_fatal_error( "ael_yyset_column called with no buffer" , yyscanner);
yycolumn = column_no; yycolumn = column_no;
} }
@@ -3053,13 +3037,13 @@ YYLTYPE *ael_yyget_lloc (yyscan_t yyscanner)
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yylloc; return yylloc;
} }
void ael_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner) void ael_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
{ {
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yylloc = yylloc_param; yylloc = yylloc_param;
} }
/* User-visible API */ /* User-visible API */
/* ael_yylex_init is special because it creates the scanner itself, so it is /* ael_yylex_init is special because it creates the scanner itself, so it is
@@ -3107,20 +3091,20 @@ int ael_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals
errno = EINVAL; errno = EINVAL;
return 1; return 1;
} }
*ptr_yy_globals = (yyscan_t) ael_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); *ptr_yy_globals = (yyscan_t) ael_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
if (*ptr_yy_globals == NULL){ if (*ptr_yy_globals == NULL){
errno = ENOMEM; errno = ENOMEM;
return 1; return 1;
} }
/* By setting to 0xAA, we expose bugs in /* By setting to 0xAA, we expose bugs in
yy_init_globals. Leave at 0x00 for releases. */ yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
ael_yyset_extra (yy_user_defined, *ptr_yy_globals); ael_yyset_extra (yy_user_defined, *ptr_yy_globals);
return yy_init_globals ( *ptr_yy_globals ); return yy_init_globals ( *ptr_yy_globals );
} }
@@ -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,
} }
} }
} }