[Asterisk-code-review] ael: Regenerate lexers and parsers. (asterisk[20])
Sean Bright
asteriskteam at digium.com
Wed Mar 22 09:18:10 CDT 2023
Sean Bright has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/20022 )
Change subject: ael: Regenerate lexers and parsers.
......................................................................
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
---
M main/Makefile
M main/ast_expr2.c
M main/ast_expr2.h
M main/ast_expr2f.c
M res/Makefile
M res/ael/ael.flex
M res/ael/ael.tab.c
M res/ael/ael.tab.h
M res/ael/ael_lex.c
9 files changed, 603 insertions(+), 608 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/22/20022/1
diff --git a/main/Makefile b/main/Makefile
index ac47423..2973917 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -133,13 +133,10 @@
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)
diff --git a/main/ast_expr2.c b/main/ast_expr2.c
index 5b8f6e8..ac02037 100644
--- a/main/ast_expr2.c
+++ b/main/ast_expr2.c
@@ -2,20 +2,20 @@
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
-
+
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
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
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -413,7 +413,7 @@
/* Line 189 of yacc.c */
-#line 419 "ast_expr2.c"
+#line 417 "ast_expr2.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -473,7 +473,7 @@
{
/* 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 @@
/* 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 @@
/* 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 @@
/* 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 @@
# define YYMAXDEPTH 10000
#endif
-
+
#if YYERROR_VERBOSE
@@ -1437,7 +1437,7 @@
}
}
#endif /* YYERROR_VERBOSE */
-
+
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -1469,209 +1469,209 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
/* 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 @@
/* 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 @@
return v;
}
+
diff --git a/main/ast_expr2.h b/main/ast_expr2.h
index 6282834..0b0ae69 100644
--- a/main/ast_expr2.h
+++ b/main/ast_expr2.h
@@ -2,20 +2,20 @@
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
-
+
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
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
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -72,7 +72,7 @@
{
/* 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 @@
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
+
+
+
diff --git a/main/ast_expr2f.c b/main/ast_expr2f.c
index 49e2545..9819eb7 100644
--- a/main/ast_expr2f.c
+++ b/main/ast_expr2f.c
@@ -37,7 +37,7 @@
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* 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
#define __STDC_LIMIT_MACROS 1
@@ -54,9 +54,10 @@
typedef signed char flex_int8_t;
typedef short int flex_int16_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 int flex_uint32_t;
+#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -87,8 +88,6 @@
#define UINT32_MAX (4294967295U)
#endif
-#endif /* ! C99 */
-
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@@ -162,15 +161,7 @@
/* 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.
@@ -187,7 +178,7 @@
#define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n)
-
+
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
@@ -249,7 +240,7 @@
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -602,13 +593,13 @@
yyscan_t scanner;
struct ast_channel *chan;
};
-
+
void ast_yyset_column(int column_no, yyscan_t yyscanner);
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
@@ -669,9 +660,9 @@
/* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/
# define yylval yyg->yylval_r
-
+
# define yylloc yyg->yylloc_r
-
+
int ast_yylex_init (yyscan_t* scanner);
int ast_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
@@ -710,9 +701,9 @@
void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
YYLTYPE *ast_yyget_lloc (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
* section 1.
*/
@@ -726,7 +717,7 @@
#endif
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
-
+
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
@@ -747,12 +738,7 @@
/* 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 @@
/* 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 @@
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 @@
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 @@
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_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 @@
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 @@
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 @@
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 @@
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_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_BREAK
case 36:
YY_RULE_SETUP
-#line 215 "ast_expr2.fl"
+#line 213 "ast_expr2.fl"
{
curlycount = 0;
BEGIN(var);
@@ -1180,7 +1166,7 @@
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_BREAK
case YY_STATE_EOF(trail):
-#line 230 "ast_expr2.fl"
+#line 228 "ast_expr2.fl"
{
BEGIN(0);
SET_COLUMNS;
@@ -1202,10 +1188,10 @@
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();
@@ -1725,7 +1711,7 @@
YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
-
+
b = (YY_BUFFER_STATE) ast_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in ast_yy_create_buffer()" );
@@ -1769,7 +1755,7 @@
#ifndef __cplusplus
extern int isatty (int );
#endif /* __cplusplus */
-
+
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
* such as during a ast_yyrestart() or at EOF.
@@ -1795,7 +1781,7 @@
}
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-
+
errno = oerrno;
}
@@ -1901,9 +1887,9 @@
, yyscanner);
if ( ! yyg->yy_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*));
-
+
yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0;
return;
@@ -1932,12 +1918,12 @@
* @param base the character buffer
* @param size the size in bytes of the character buffer
* @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 b;
-
+
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -1973,14 +1959,14 @@
*/
YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yystr , yyscan_t 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
* 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.
*/
@@ -1990,7 +1976,7 @@
char *buf;
yy_size_t n;
int i;
-
+
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;
buf = (char *) ast_yyalloc(n ,yyscanner );
@@ -2058,10 +2044,10 @@
int ast_yyget_lineno (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yylineno;
}
@@ -2071,10 +2057,10 @@
int ast_yyget_column (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yycolumn;
}
@@ -2135,14 +2121,14 @@
/* lineno is only valid if an input buffer exists. */
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;
}
/** 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)
{
@@ -2150,8 +2136,8 @@
/* column is only valid if an input buffer exists. */
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;
}
@@ -2204,13 +2190,13 @@
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yylloc;
}
-
+
void ast_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yylloc = yylloc_param;
}
-
+
/* User-visible API */
/* ast_yylex_init is special because it creates the scanner itself, so it is
@@ -2258,20 +2244,20 @@
errno = EINVAL;
return 1;
}
-
+
*ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
-
+
if (*ptr_yy_globals == NULL){
errno = ENOMEM;
return 1;
}
-
+
/* By setting to 0xAA, we expose bugs in
yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
-
+
ast_yyset_extra (yy_user_defined, *ptr_yy_globals);
-
+
return yy_init_globals ( *ptr_yy_globals );
}
@@ -2381,7 +2367,7 @@
#define YYTABLES_NAME "yytables"
-#line 238 "ast_expr2.fl"
+#line 236 "ast_expr2.fl"
@@ -2486,7 +2472,7 @@
extra_error_message[0] = 0;
}
-static const char * const expr2_token_equivs1[] =
+static const char * const expr2_token_equivs1[] =
{
"TOKEN",
"TOK_COND",
@@ -2512,7 +2498,7 @@
"TOK_LP"
};
-static const char * const expr2_token_equivs2[] =
+static const char * const expr2_token_equivs2[] =
{
"<token>",
"?",
@@ -2623,3 +2609,4 @@
free(s2);
return(0);
}
+
diff --git a/res/Makefile b/res/Makefile
index 0987f43..96c95a6 100644
--- a/res/Makefile
+++ b/res/Makefile
@@ -40,13 +40,10 @@
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
diff --git a/res/ael/ael.flex b/res/ael/ael.flex
index 82a5f9e..64cc9b6 100644
--- a/res/ael/ael.flex
+++ b/res/ael/ael.flex
@@ -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>
diff --git a/res/ael/ael.tab.c b/res/ael/ael.tab.c
index 802e78f..b10de26 100644
--- a/res/ael/ael.tab.c
+++ b/res/ael/ael.tab.c
@@ -1,19 +1,19 @@
/* A Bison parser, made by GNU Bison 2.5. */
/* Bison implementation for Yacc-like parsers in C
-
+
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
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
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -132,7 +132,7 @@
/* Line 268 of yacc.c */
-#line 137 "ael.tab.c"
+#line 136 "ael.tab.c"
/* Enabling traces. */
#ifndef YYDEBUG
@@ -210,7 +210,7 @@
{
/* Line 293 of yacc.c */
-#line 59 "ael.y"
+#line 58 "ael.y"
int intval; /* integer value, typically flags */
char *str; /* strings */
@@ -219,7 +219,7 @@
/* Line 293 of yacc.c */
-#line 224 "ael.tab.c"
+#line 223 "ael.tab.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -243,7 +243,7 @@
/* Copy the second part of user declarations. */
/* Line 343 of yacc.c */
-#line 65 "ael.y"
+#line 64 "ael.y"
/* declaring these AFTER the union makes things a lot simpler! */
void yyerror(YYLTYPE *locp, struct parse_io *parseio, char const *s);
@@ -266,7 +266,7 @@
/* Line 343 of yacc.c */
-#line 271 "ael.tab.c"
+#line 270 "ael.tab.c"
#ifdef short
# undef short
@@ -618,21 +618,21 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 191, 191, 194, 195, 196, 199, 200, 201, 202,
- 205, 206, 209, 218, 219, 220, 221, 222, 225, 231,
- 237, 238, 239, 242, 242, 248, 248, 255, 256, 257,
- 258, 261, 262, 263, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 277, 282, 286, 294, 299, 304, 313,
- 314, 315, 321, 331, 335, 343, 343, 347, 350, 353,
- 364, 365, 377, 378, 387, 396, 405, 416, 417, 427,
- 440, 441, 450, 461, 470, 473, 474, 475, 478, 481,
- 484, 485, 486, 484, 492, 496, 497, 498, 499, 502,
- 502, 535, 536, 537, 538, 542, 545, 546, 549, 550,
- 553, 556, 560, 564, 568, 574, 575, 579, 582, 588,
- 588, 593, 601, 601, 612, 619, 622, 623, 626, 627,
- 630, 633, 634, 637, 641, 645, 651, 652, 655, 656,
- 657, 663, 668, 673, 674, 675, 686, 689, 690, 697,
- 698, 699, 702, 705
+ 0, 190, 190, 193, 194, 195, 198, 199, 200, 201,
+ 204, 205, 208, 217, 218, 219, 220, 221, 224, 230,
+ 236, 237, 238, 241, 241, 247, 247, 254, 255, 256,
+ 257, 260, 261, 262, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 276, 281, 285, 293, 298, 303, 312,
+ 313, 314, 320, 330, 334, 342, 342, 346, 349, 352,
+ 363, 364, 376, 377, 386, 395, 404, 415, 416, 426,
+ 439, 440, 449, 460, 469, 472, 473, 474, 477, 480,
+ 483, 484, 485, 483, 491, 495, 496, 497, 498, 501,
+ 501, 534, 535, 536, 537, 541, 544, 545, 548, 549,
+ 552, 555, 559, 563, 567, 573, 574, 578, 581, 587,
+ 587, 592, 600, 600, 611, 618, 621, 622, 625, 626,
+ 629, 632, 633, 636, 640, 644, 650, 651, 654, 655,
+ 656, 662, 667, 672, 673, 674, 685, 688, 689, 696,
+ 697, 698, 701, 704
};
#endif
@@ -1497,503 +1497,503 @@
case 43: /* "word" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1506 "ael.tab.c"
+#line 1505 "ael.tab.c"
break;
case 46: /* "objects" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1518 "ael.tab.c"
+#line 1517 "ael.tab.c"
break;
case 47: /* "object" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1530 "ael.tab.c"
+#line 1529 "ael.tab.c"
break;
case 48: /* "context_name" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1539 "ael.tab.c"
+#line 1538 "ael.tab.c"
break;
case 49: /* "context" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1551 "ael.tab.c"
+#line 1550 "ael.tab.c"
break;
case 51: /* "macro" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1563 "ael.tab.c"
+#line 1562 "ael.tab.c"
break;
case 52: /* "globals" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1575 "ael.tab.c"
+#line 1574 "ael.tab.c"
break;
case 53: /* "global_statements" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1587 "ael.tab.c"
+#line 1586 "ael.tab.c"
break;
case 54: /* "assignment" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1599 "ael.tab.c"
+#line 1598 "ael.tab.c"
break;
case 56: /* "local_assignment" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1611 "ael.tab.c"
+#line 1610 "ael.tab.c"
break;
case 58: /* "arglist" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1623 "ael.tab.c"
+#line 1622 "ael.tab.c"
break;
case 59: /* "elements" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1635 "ael.tab.c"
+#line 1634 "ael.tab.c"
break;
case 60: /* "element" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1647 "ael.tab.c"
+#line 1646 "ael.tab.c"
break;
case 61: /* "ignorepat" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1659 "ael.tab.c"
+#line 1658 "ael.tab.c"
break;
case 62: /* "extension" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1671 "ael.tab.c"
+#line 1670 "ael.tab.c"
break;
case 63: /* "statements" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1683 "ael.tab.c"
+#line 1682 "ael.tab.c"
break;
case 64: /* "timerange" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1692 "ael.tab.c"
+#line 1691 "ael.tab.c"
break;
case 65: /* "timespec" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1704 "ael.tab.c"
+#line 1703 "ael.tab.c"
break;
case 66: /* "test_expr" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1713 "ael.tab.c"
+#line 1712 "ael.tab.c"
break;
case 68: /* "if_like_head" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1725 "ael.tab.c"
+#line 1724 "ael.tab.c"
break;
case 69: /* "word_list" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1734 "ael.tab.c"
+#line 1733 "ael.tab.c"
break;
case 71: /* "word3_list" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1743 "ael.tab.c"
+#line 1742 "ael.tab.c"
break;
case 72: /* "goto_word" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1752 "ael.tab.c"
+#line 1751 "ael.tab.c"
break;
case 73: /* "switch_statement" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1764 "ael.tab.c"
+#line 1763 "ael.tab.c"
break;
case 74: /* "statement" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1776 "ael.tab.c"
+#line 1775 "ael.tab.c"
break;
case 79: /* "opt_else" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1788 "ael.tab.c"
+#line 1787 "ael.tab.c"
break;
case 80: /* "target" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1800 "ael.tab.c"
+#line 1799 "ael.tab.c"
break;
case 81: /* "opt_pri" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1809 "ael.tab.c"
+#line 1808 "ael.tab.c"
break;
case 82: /* "jumptarget" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1821 "ael.tab.c"
+#line 1820 "ael.tab.c"
break;
case 83: /* "macro_call" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1833 "ael.tab.c"
+#line 1832 "ael.tab.c"
break;
case 85: /* "application_call_head" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1845 "ael.tab.c"
+#line 1844 "ael.tab.c"
break;
case 87: /* "application_call" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1857 "ael.tab.c"
+#line 1856 "ael.tab.c"
break;
case 88: /* "opt_word" */
/* Line 1391 of yacc.c */
-#line 183 "ael.y"
+#line 182 "ael.y"
{ free((yyvaluep->str));};
/* Line 1391 of yacc.c */
-#line 1866 "ael.tab.c"
+#line 1865 "ael.tab.c"
break;
case 89: /* "eval_arglist" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1878 "ael.tab.c"
+#line 1877 "ael.tab.c"
break;
case 90: /* "case_statements" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1890 "ael.tab.c"
+#line 1889 "ael.tab.c"
break;
case 91: /* "case_statement" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1902 "ael.tab.c"
+#line 1901 "ael.tab.c"
break;
case 92: /* "macro_statements" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1914 "ael.tab.c"
+#line 1913 "ael.tab.c"
break;
case 93: /* "macro_statement" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1926 "ael.tab.c"
+#line 1925 "ael.tab.c"
break;
case 94: /* "switches" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1938 "ael.tab.c"
+#line 1937 "ael.tab.c"
break;
case 95: /* "eswitches" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1950 "ael.tab.c"
+#line 1949 "ael.tab.c"
break;
case 96: /* "switchlist" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1962 "ael.tab.c"
+#line 1961 "ael.tab.c"
break;
case 97: /* "included_entry" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1974 "ael.tab.c"
+#line 1973 "ael.tab.c"
break;
case 98: /* "includeslist" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1986 "ael.tab.c"
+#line 1985 "ael.tab.c"
break;
case 99: /* "includes" */
/* Line 1391 of yacc.c */
-#line 170 "ael.y"
+#line 169 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
/* Line 1391 of yacc.c */
-#line 1998 "ael.tab.c"
+#line 1997 "ael.tab.c"
break;
default:
@@ -2322,77 +2322,77 @@
case 2:
/* Line 1806 of yacc.c */
-#line 191 "ael.y"
+#line 190 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[(1) - (1)].pval); }
break;
case 3:
/* Line 1806 of yacc.c */
-#line 194 "ael.y"
+#line 193 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 4:
/* Line 1806 of yacc.c */
-#line 195 "ael.y"
+#line 194 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 5:
/* Line 1806 of yacc.c */
-#line 196 "ael.y"
+#line 195 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);}
break;
case 6:
/* Line 1806 of yacc.c */
-#line 199 "ael.y"
+#line 198 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 7:
/* Line 1806 of yacc.c */
-#line 200 "ael.y"
+#line 199 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 8:
/* Line 1806 of yacc.c */
-#line 201 "ael.y"
+#line 200 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 9:
/* Line 1806 of yacc.c */
-#line 202 "ael.y"
+#line 201 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */}
break;
case 10:
/* Line 1806 of yacc.c */
-#line 205 "ael.y"
+#line 204 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 11:
/* Line 1806 of yacc.c */
-#line 206 "ael.y"
+#line 205 "ael.y"
{ (yyval.str) = strdup("default"); }
break;
case 12:
/* Line 1806 of yacc.c */
-#line 209 "ael.y"
+#line 208 "ael.y"
{
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[(1) - (6)]), &(yylsp[(6) - (6)]));
(yyval.pval)->u1.str = (yyvsp[(3) - (6)].str);
@@ -2404,42 +2404,42 @@
case 13:
/* Line 1806 of yacc.c */
-#line 218 "ael.y"
+#line 217 "ael.y"
{ (yyval.intval) = 1; }
break;
case 14:
/* Line 1806 of yacc.c */
-#line 219 "ael.y"
+#line 218 "ael.y"
{ (yyval.intval) = 0; }
break;
case 15:
/* Line 1806 of yacc.c */
-#line 220 "ael.y"
+#line 219 "ael.y"
{ (yyval.intval) = 2; }
break;
case 16:
/* Line 1806 of yacc.c */
-#line 221 "ael.y"
+#line 220 "ael.y"
{ (yyval.intval)=3; }
break;
case 17:
/* Line 1806 of yacc.c */
-#line 222 "ael.y"
+#line 221 "ael.y"
{ (yyval.intval)=3; }
break;
case 18:
/* Line 1806 of yacc.c */
-#line 225 "ael.y"
+#line 224 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (8)].str); (yyval.pval)->u2.arglist = (yyvsp[(4) - (8)].pval); (yyval.pval)->u3.macro_statements = (yyvsp[(7) - (8)].pval);
@@ -2449,7 +2449,7 @@
case 19:
/* Line 1806 of yacc.c */
-#line 231 "ael.y"
+#line 230 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.statements = (yyvsp[(3) - (4)].pval);
@@ -2459,35 +2459,35 @@
case 20:
/* Line 1806 of yacc.c */
-#line 237 "ael.y"
+#line 236 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 21:
/* Line 1806 of yacc.c */
-#line 238 "ael.y"
+#line 237 "ael.y"
{(yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 22:
/* Line 1806 of yacc.c */
-#line 239 "ael.y"
+#line 238 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);}
break;
case 23:
/* Line 1806 of yacc.c */
-#line 242 "ael.y"
+#line 241 "ael.y"
{ reset_semicount(parseio->scanner); }
break;
case 24:
/* Line 1806 of yacc.c */
-#line 242 "ael.y"
+#line 241 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (5)].str);
@@ -2497,14 +2497,14 @@
case 25:
/* Line 1806 of yacc.c */
-#line 248 "ael.y"
+#line 247 "ael.y"
{ reset_semicount(parseio->scanner); }
break;
case 26:
/* Line 1806 of yacc.c */
-#line 248 "ael.y"
+#line 247 "ael.y"
{
(yyval.pval) = npval2(PV_LOCALVARDEC, &(yylsp[(1) - (6)]), &(yylsp[(6) - (6)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (6)].str);
@@ -2514,119 +2514,119 @@
case 27:
/* Line 1806 of yacc.c */
-#line 255 "ael.y"
+#line 254 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 28:
/* Line 1806 of yacc.c */
-#line 256 "ael.y"
+#line 255 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); }
break;
case 29:
/* Line 1806 of yacc.c */
-#line 257 "ael.y"
+#line 256 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); }
break;
case 30:
/* Line 1806 of yacc.c */
-#line 258 "ael.y"
+#line 257 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);}
break;
case 31:
/* Line 1806 of yacc.c */
-#line 261 "ael.y"
+#line 260 "ael.y"
{(yyval.pval)=0;}
break;
case 32:
/* Line 1806 of yacc.c */
-#line 262 "ael.y"
+#line 261 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 33:
/* Line 1806 of yacc.c */
-#line 263 "ael.y"
+#line 262 "ael.y"
{ (yyval.pval)=(yyvsp[(2) - (2)].pval);}
break;
case 34:
/* Line 1806 of yacc.c */
-#line 266 "ael.y"
+#line 265 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 35:
/* Line 1806 of yacc.c */
-#line 267 "ael.y"
+#line 266 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 36:
/* Line 1806 of yacc.c */
-#line 268 "ael.y"
+#line 267 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 37:
/* Line 1806 of yacc.c */
-#line 269 "ael.y"
+#line 268 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 38:
/* Line 1806 of yacc.c */
-#line 270 "ael.y"
+#line 269 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 39:
/* Line 1806 of yacc.c */
-#line 271 "ael.y"
+#line 270 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 40:
/* Line 1806 of yacc.c */
-#line 272 "ael.y"
+#line 271 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 41:
/* Line 1806 of yacc.c */
-#line 273 "ael.y"
+#line 272 "ael.y"
{free((yyvsp[(1) - (2)].str)); (yyval.pval)=0;}
break;
case 42:
/* Line 1806 of yacc.c */
-#line 274 "ael.y"
+#line 273 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */}
break;
case 43:
/* Line 1806 of yacc.c */
-#line 277 "ael.y"
+#line 276 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(3) - (4)].str);}
@@ -2635,7 +2635,7 @@
case 44:
/* Line 1806 of yacc.c */
-#line 282 "ael.y"
+#line 281 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str);
@@ -2645,7 +2645,7 @@
case 45:
/* Line 1806 of yacc.c */
-#line 286 "ael.y"
+#line 285 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (5)]), &(yylsp[(3) - (5)]));
(yyval.pval)->u1.str = malloc(strlen((yyvsp[(1) - (5)].str))+strlen((yyvsp[(3) - (5)].str))+2);
@@ -2659,7 +2659,7 @@
case 46:
/* Line 1806 of yacc.c */
-#line 294 "ael.y"
+#line 293 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -2670,7 +2670,7 @@
case 47:
/* Line 1806 of yacc.c */
-#line 299 "ael.y"
+#line 298 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (7)]), &(yylsp[(7) - (7)]));
(yyval.pval)->u1.str = (yyvsp[(5) - (7)].str);
@@ -2681,7 +2681,7 @@
case 48:
/* Line 1806 of yacc.c */
-#line 304 "ael.y"
+#line 303 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(6) - (8)].str);
@@ -2693,28 +2693,28 @@
case 49:
/* Line 1806 of yacc.c */
-#line 313 "ael.y"
+#line 312 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 50:
/* Line 1806 of yacc.c */
-#line 314 "ael.y"
+#line 313 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 51:
/* Line 1806 of yacc.c */
-#line 315 "ael.y"
+#line 314 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);}
break;
case 52:
/* Line 1806 of yacc.c */
-#line 321 "ael.y"
+#line 320 "ael.y"
{
if (asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (yyvsp[(5) - (5)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2730,14 +2730,14 @@
case 53:
/* Line 1806 of yacc.c */
-#line 331 "ael.y"
+#line 330 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 54:
/* Line 1806 of yacc.c */
-#line 335 "ael.y"
+#line 334 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (7)].str), &(yylsp[(1) - (7)]));
(yyval.pval)->next = nword((yyvsp[(3) - (7)].str), &(yylsp[(3) - (7)]));
@@ -2748,21 +2748,21 @@
case 55:
/* Line 1806 of yacc.c */
-#line 343 "ael.y"
+#line 342 "ael.y"
{ reset_parencount(parseio->scanner); }
break;
case 56:
/* Line 1806 of yacc.c */
-#line 343 "ael.y"
+#line 342 "ael.y"
{ (yyval.str) = (yyvsp[(3) - (4)].str); }
break;
case 57:
/* Line 1806 of yacc.c */
-#line 347 "ael.y"
+#line 346 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (2)].str); }
@@ -2771,7 +2771,7 @@
case 58:
/* Line 1806 of yacc.c */
-#line 350 "ael.y"
+#line 349 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str=(yyvsp[(2) - (2)].str);}
@@ -2780,7 +2780,7 @@
case 59:
/* Line 1806 of yacc.c */
-#line 353 "ael.y"
+#line 352 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);
@@ -2790,14 +2790,14 @@
case 60:
/* Line 1806 of yacc.c */
-#line 364 "ael.y"
+#line 363 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);}
break;
case 61:
/* Line 1806 of yacc.c */
-#line 365 "ael.y"
+#line 364 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2813,14 +2813,14 @@
case 62:
/* Line 1806 of yacc.c */
-#line 377 "ael.y"
+#line 376 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); }
break;
case 63:
/* Line 1806 of yacc.c */
-#line 378 "ael.y"
+#line 377 "ael.y"
{
if (asprintf(&((yyval.str)), "%s %s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2835,7 +2835,7 @@
case 64:
/* Line 1806 of yacc.c */
-#line 387 "ael.y"
+#line 386 "ael.y"
{
if (asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2850,7 +2850,7 @@
case 65:
/* Line 1806 of yacc.c */
-#line 396 "ael.y"
+#line 395 "ael.y"
{ /* there are often '&' in hints */
if (asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2865,7 +2865,7 @@
case 66:
/* Line 1806 of yacc.c */
-#line 405 "ael.y"
+#line 404 "ael.y"
{
if (asprintf(&((yyval.str)), "%s@%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2880,14 +2880,14 @@
case 67:
/* Line 1806 of yacc.c */
-#line 416 "ael.y"
+#line 415 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);}
break;
case 68:
/* Line 1806 of yacc.c */
-#line 417 "ael.y"
+#line 416 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2903,7 +2903,7 @@
case 69:
/* Line 1806 of yacc.c */
-#line 427 "ael.y"
+#line 426 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2920,14 +2920,14 @@
case 70:
/* Line 1806 of yacc.c */
-#line 440 "ael.y"
+#line 439 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);}
break;
case 71:
/* Line 1806 of yacc.c */
-#line 441 "ael.y"
+#line 440 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2942,7 +2942,7 @@
case 72:
/* Line 1806 of yacc.c */
-#line 450 "ael.y"
+#line 449 "ael.y"
{
if (asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2957,7 +2957,7 @@
case 73:
/* Line 1806 of yacc.c */
-#line 461 "ael.y"
+#line 460 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
@@ -2967,7 +2967,7 @@
case 74:
/* Line 1806 of yacc.c */
-#line 470 "ael.y"
+#line 469 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));}
@@ -2976,21 +2976,21 @@
case 75:
/* Line 1806 of yacc.c */
-#line 473 "ael.y"
+#line 472 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); }
break;
case 76:
/* Line 1806 of yacc.c */
-#line 474 "ael.y"
+#line 473 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); }
break;
case 77:
/* Line 1806 of yacc.c */
-#line 475 "ael.y"
+#line 474 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);}
@@ -2999,7 +2999,7 @@
case 78:
/* Line 1806 of yacc.c */
-#line 478 "ael.y"
+#line 477 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);}
@@ -3008,7 +3008,7 @@
case 79:
/* Line 1806 of yacc.c */
-#line 481 "ael.y"
+#line 480 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); }
@@ -3017,28 +3017,28 @@
case 80:
/* Line 1806 of yacc.c */
-#line 484 "ael.y"
+#line 483 "ael.y"
{reset_semicount(parseio->scanner);}
break;
case 81:
/* Line 1806 of yacc.c */
-#line 485 "ael.y"
+#line 484 "ael.y"
{reset_semicount(parseio->scanner);}
break;
case 82:
/* Line 1806 of yacc.c */
-#line 486 "ael.y"
+#line 485 "ael.y"
{reset_parencount(parseio->scanner);}
break;
case 83:
/* Line 1806 of yacc.c */
-#line 486 "ael.y"
+#line 485 "ael.y"
{ /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
(yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str);
@@ -3050,7 +3050,7 @@
case 84:
/* Line 1806 of yacc.c */
-#line 492 "ael.y"
+#line 491 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (3)].str);
@@ -3060,28 +3060,28 @@
case 85:
/* Line 1806 of yacc.c */
-#line 496 "ael.y"
+#line 495 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); }
break;
case 86:
/* Line 1806 of yacc.c */
-#line 497 "ael.y"
+#line 496 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); }
break;
case 87:
/* Line 1806 of yacc.c */
-#line 498 "ael.y"
+#line 497 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); }
break;
case 88:
/* Line 1806 of yacc.c */
-#line 499 "ael.y"
+#line 498 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);}
@@ -3090,14 +3090,14 @@
case 89:
/* Line 1806 of yacc.c */
-#line 502 "ael.y"
+#line 501 "ael.y"
{reset_semicount(parseio->scanner);}
break;
case 90:
/* Line 1806 of yacc.c */
-#line 502 "ael.y"
+#line 501 "ael.y"
{
char *bufx;
int tot=0;
@@ -3136,28 +3136,28 @@
case 91:
/* Line 1806 of yacc.c */
-#line 535 "ael.y"
+#line 534 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); }
break;
case 92:
/* Line 1806 of yacc.c */
-#line 536 "ael.y"
+#line 535 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); }
break;
case 93:
/* Line 1806 of yacc.c */
-#line 537 "ael.y"
+#line 536 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); }
break;
case 94:
/* Line 1806 of yacc.c */
-#line 538 "ael.y"
+#line 537 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)]));
(yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));
@@ -3167,35 +3167,35 @@
case 95:
/* Line 1806 of yacc.c */
-#line 542 "ael.y"
+#line 541 "ael.y"
{ (yyval.pval)=0; }
break;
case 96:
/* Line 1806 of yacc.c */
-#line 545 "ael.y"
+#line 544 "ael.y"
{ (yyval.pval) = (yyvsp[(2) - (2)].pval); }
break;
case 97:
/* Line 1806 of yacc.c */
-#line 546 "ael.y"
+#line 545 "ael.y"
{ (yyval.pval) = NULL ; }
break;
case 98:
/* Line 1806 of yacc.c */
-#line 549 "ael.y"
+#line 548 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); }
break;
case 99:
/* Line 1806 of yacc.c */
-#line 550 "ael.y"
+#line 549 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); }
@@ -3204,7 +3204,7 @@
case 100:
/* Line 1806 of yacc.c */
-#line 553 "ael.y"
+#line 552 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); }
@@ -3213,7 +3213,7 @@
case 101:
/* Line 1806 of yacc.c */
-#line 556 "ael.y"
+#line 555 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -3223,7 +3223,7 @@
case 102:
/* Line 1806 of yacc.c */
-#line 560 "ael.y"
+#line 559 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -3233,7 +3233,7 @@
case 103:
/* Line 1806 of yacc.c */
-#line 564 "ael.y"
+#line 563 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -3243,7 +3243,7 @@
case 104:
/* Line 1806 of yacc.c */
-#line 568 "ael.y"
+#line 567 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -3253,21 +3253,21 @@
case 105:
/* Line 1806 of yacc.c */
-#line 574 "ael.y"
+#line 573 "ael.y"
{ (yyval.str) = strdup("1"); }
break;
case 106:
/* Line 1806 of yacc.c */
-#line 575 "ael.y"
+#line 574 "ael.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); }
break;
case 107:
/* Line 1806 of yacc.c */
-#line 579 "ael.y"
+#line 578 "ael.y"
{ /* ext[, pri] default 1 */
(yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)]));
(yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); }
@@ -3276,7 +3276,7 @@
case 108:
/* Line 1806 of yacc.c */
-#line 582 "ael.y"
+#line 581 "ael.y"
{ /* context, ext, pri */
(yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)]));
(yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)]));
@@ -3286,14 +3286,14 @@
case 109:
/* Line 1806 of yacc.c */
-#line 588 "ael.y"
+#line 587 "ael.y"
{reset_argcount(parseio->scanner);}
break;
case 110:
/* Line 1806 of yacc.c */
-#line 588 "ael.y"
+#line 587 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
@@ -3304,7 +3304,7 @@
case 111:
/* Line 1806 of yacc.c */
-#line 593 "ael.y"
+#line 592 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); }
@@ -3313,14 +3313,14 @@
case 112:
/* Line 1806 of yacc.c */
-#line 601 "ael.y"
+#line 600 "ael.y"
{reset_argcount(parseio->scanner);}
break;
case 113:
/* Line 1806 of yacc.c */
-#line 601 "ael.y"
+#line 600 "ael.y"
{
if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
@@ -3335,7 +3335,7 @@
case 114:
/* Line 1806 of yacc.c */
-#line 612 "ael.y"
+#line 611 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
if( (yyval.pval)->type == PV_GOTO )
@@ -3348,35 +3348,35 @@
case 115:
/* Line 1806 of yacc.c */
-#line 619 "ael.y"
+#line 618 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); }
break;
case 116:
/* Line 1806 of yacc.c */
-#line 622 "ael.y"
+#line 621 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str) ;}
break;
case 117:
/* Line 1806 of yacc.c */
-#line 623 "ael.y"
+#line 622 "ael.y"
{ (yyval.str) = strdup(""); }
break;
case 118:
/* Line 1806 of yacc.c */
-#line 626 "ael.y"
+#line 625 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); }
break;
case 119:
/* Line 1806 of yacc.c */
-#line 627 "ael.y"
+#line 626 "ael.y"
{
(yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
(yyval.pval)->u1.str = strdup(""); }
@@ -3385,28 +3385,28 @@
case 120:
/* Line 1806 of yacc.c */
-#line 630 "ael.y"
+#line 629 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); }
break;
case 121:
/* Line 1806 of yacc.c */
-#line 633 "ael.y"
+#line 632 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 122:
/* Line 1806 of yacc.c */
-#line 634 "ael.y"
+#line 633 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 123:
/* Line 1806 of yacc.c */
-#line 637 "ael.y"
+#line 636 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -3416,7 +3416,7 @@
case 124:
/* Line 1806 of yacc.c */
-#line 641 "ael.y"
+#line 640 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = NULL;
@@ -3426,7 +3426,7 @@
case 125:
/* Line 1806 of yacc.c */
-#line 645 "ael.y"
+#line 644 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX at 3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -3436,35 +3436,35 @@
case 126:
/* Line 1806 of yacc.c */
-#line 651 "ael.y"
+#line 650 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 127:
/* Line 1806 of yacc.c */
-#line 652 "ael.y"
+#line 651 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); }
break;
case 128:
/* Line 1806 of yacc.c */
-#line 655 "ael.y"
+#line 654 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 129:
/* Line 1806 of yacc.c */
-#line 656 "ael.y"
+#line 655 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (1)].pval);}
break;
case 130:
/* Line 1806 of yacc.c */
-#line 657 "ael.y"
+#line 656 "ael.y"
{
(yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
@@ -3474,7 +3474,7 @@
case 131:
/* Line 1806 of yacc.c */
-#line 663 "ael.y"
+#line 662 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));}
@@ -3483,7 +3483,7 @@
case 132:
/* Line 1806 of yacc.c */
-#line 668 "ael.y"
+#line 667 "ael.y"
{
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));}
@@ -3492,21 +3492,21 @@
case 133:
/* Line 1806 of yacc.c */
-#line 673 "ael.y"
+#line 672 "ael.y"
{ (yyval.pval) = NULL; }
break;
case 134:
/* Line 1806 of yacc.c */
-#line 674 "ael.y"
+#line 673 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval),nword((yyvsp[(2) - (3)].str), &(yylsp[(2) - (3)]))); }
break;
case 135:
/* Line 1806 of yacc.c */
-#line 675 "ael.y"
+#line 674 "ael.y"
{
char *x;
if (asprintf(&x,"%s@%s", (yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].str)) < 0) {
@@ -3523,21 +3523,21 @@
case 136:
/* Line 1806 of yacc.c */
-#line 686 "ael.y"
+#line 685 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);}
break;
case 137:
/* Line 1806 of yacc.c */
-#line 689 "ael.y"
+#line 688 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); }
break;
case 138:
/* Line 1806 of yacc.c */
-#line 690 "ael.y"
+#line 689 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
@@ -3547,28 +3547,28 @@
case 139:
/* Line 1806 of yacc.c */
-#line 697 "ael.y"
+#line 696 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); }
break;
case 140:
/* Line 1806 of yacc.c */
-#line 698 "ael.y"
+#line 697 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); }
break;
case 141:
/* Line 1806 of yacc.c */
-#line 699 "ael.y"
+#line 698 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);}
break;
case 142:
/* Line 1806 of yacc.c */
-#line 702 "ael.y"
+#line 701 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));}
@@ -3577,7 +3577,7 @@
case 143:
/* Line 1806 of yacc.c */
-#line 705 "ael.y"
+#line 704 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));}
break;
@@ -3585,7 +3585,7 @@
/* Line 1806 of yacc.c */
-#line 3590 "ael.tab.c"
+#line 3589 "ael.tab.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -3823,7 +3823,7 @@
/* Line 2067 of yacc.c */
-#line 710 "ael.y"
+#line 709 "ael.y"
static char *token_equivs1[] =
@@ -4005,3 +4005,4 @@
for(t=child_list;t;t=t->next) /* simple stuff */
t->dad = dad;
}
+
diff --git a/res/ael/ael.tab.h b/res/ael/ael.tab.h
index 1647649..5ea6c0f 100644
--- a/res/ael/ael.tab.h
+++ b/res/ael/ael.tab.h
@@ -1,19 +1,19 @@
/* A Bison parser, made by GNU Bison 2.5. */
/* Bison interface for Yacc-like parsers in C
-
+
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
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
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -88,7 +88,7 @@
{
/* 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 @@
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
+
+
+
diff --git a/res/ael/ael_lex.c b/res/ael/ael_lex.c
index 04821fe..b54a272 100644
--- a/res/ael/ael_lex.c
+++ b/res/ael/ael_lex.c
@@ -37,7 +37,7 @@
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* 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
#define __STDC_LIMIT_MACROS 1
@@ -54,9 +54,10 @@
typedef signed char flex_int8_t;
typedef short int flex_int16_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 int flex_uint32_t;
+#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -87,8 +88,6 @@
#define UINT32_MAX (4294967295U)
#endif
-#endif /* ! C99 */
-
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@@ -162,15 +161,7 @@
/* 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.
@@ -187,7 +178,7 @@
#define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n)
-
+
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
@@ -249,7 +240,7 @@
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -828,8 +819,6 @@
* 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 @@
#define STORE_POS
#define STORE_LOC
#endif
-#line 963 "ael_lex.c"
+#line 957 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -1033,9 +1022,9 @@
/* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/
# define yylval yyg->yylval_r
-
+
# define yylloc yyg->yylloc_r
-
+
int ael_yylex_init (yyscan_t* scanner);
int ael_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
@@ -1074,9 +1063,9 @@
void ael_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
YYLTYPE *ael_yyget_lloc (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
* section 1.
*/
@@ -1090,7 +1079,7 @@
#endif
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
-
+
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
#endif
@@ -1111,12 +1100,7 @@
/* 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 @@
/* 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 @@
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 @@
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 @@
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_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_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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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(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 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:
{
@@ -2574,7 +2558,7 @@
YY_BUFFER_STATE ael_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
-
+
b = (YY_BUFFER_STATE) ael_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in ael_yy_create_buffer()" );
@@ -2618,7 +2602,7 @@
#ifndef __cplusplus
extern int isatty (int );
#endif /* __cplusplus */
-
+
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
* such as during a ael_yyrestart() or at EOF.
@@ -2644,7 +2628,7 @@
}
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-
+
errno = oerrno;
}
@@ -2750,9 +2734,9 @@
, yyscanner);
if ( ! yyg->yy_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*));
-
+
yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0;
return;
@@ -2781,12 +2765,12 @@
* @param base the character buffer
* @param size the size in bytes of the character buffer
* @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 b;
-
+
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -2822,14 +2806,14 @@
*/
YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t 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
* 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.
*/
@@ -2839,7 +2823,7 @@
char *buf;
yy_size_t n;
int i;
-
+
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;
buf = (char *) ael_yyalloc(n ,yyscanner );
@@ -2907,10 +2891,10 @@
int ael_yyget_lineno (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yylineno;
}
@@ -2920,10 +2904,10 @@
int ael_yyget_column (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yycolumn;
}
@@ -2984,13 +2968,13 @@
/* lineno is only valid if an input buffer exists. */
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;
}
/** 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)
@@ -2999,8 +2983,8 @@
/* column is only valid if an input buffer exists. */
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;
}
@@ -3053,13 +3037,13 @@
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yylloc;
}
-
+
void ael_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yylloc = yylloc_param;
}
-
+
/* User-visible API */
/* ael_yylex_init is special because it creates the scanner itself, so it is
@@ -3107,20 +3091,20 @@
errno = EINVAL;
return 1;
}
-
+
*ptr_yy_globals = (yyscan_t) ael_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
-
+
if (*ptr_yy_globals == NULL){
errno = ENOMEM;
return 1;
}
-
+
/* By setting to 0xAA, we expose bugs in
yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
-
+
ael_yyset_extra (yy_user_defined, *ptr_yy_globals);
-
+
return yy_init_globals ( *ptr_yy_globals );
}
@@ -3230,7 +3214,7 @@
#define YYTABLES_NAME "yytables"
-#line 656 "ael.flex"
+#line 659 "ael.flex"
@@ -3492,3 +3476,4 @@
}
}
}
+
--
To view, visit https://gerrit.asterisk.org/c/asterisk/+/20022
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 20
Gerrit-Change-Id: Ibbd343606fcf5c0d285b1599e6e8e59f514f2e4e
Gerrit-Change-Number: 20022
Gerrit-PatchSet: 1
Gerrit-Owner: Sean Bright <sean at seanbright.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20230322/66d757ce/attachment-0001.html>
More information about the asterisk-code-review
mailing list