- use $(CC) instead of gcc when building testexpr2

- modify ast_expr2.fl and ast_expr2.y to not try to register the file version
  in a STANDALONE build
- add config.status as a dependency on testexpr2 to ensure configure is
  executed before building it
- add include/asterisk/buildopts.h as a dependency for testexpr2 as well
- add -Iinclude to the gcc commands for building the testexpr2 objects so that
  it can find the local asterisk headers


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2006-06-20 01:06:50 +00:00
parent bce5b8a146
commit c260301476
6 changed files with 189 additions and 161 deletions

View File

@@ -423,10 +423,10 @@ ast_expr2.c ast_expr2.h:
ast_expr2f.c: ast_expr2f.c:
flex -o $@ --full ast_expr2.fl flex -o $@ --full ast_expr2.fl
testexpr2: ast_expr2f.c ast_expr2.c ast_expr2.h testexpr2: config.status include/asterisk/buildopts.h ast_expr2f.c ast_expr2.c ast_expr2.h
gcc -g -c -DSTANDALONE ast_expr2f.c $(CC) -g -c -Iinclude -DSTANDALONE ast_expr2f.c
gcc -g -c -DSTANDALONE ast_expr2.c $(CC) -g -c -Iinclude -DSTANDALONE ast_expr2.c
gcc -g -o testexpr2 ast_expr2f.o ast_expr2.o $(CC) -g -o testexpr2 ast_expr2f.o ast_expr2.o
rm ast_expr2.o ast_expr2f.o rm ast_expr2.o ast_expr2f.o
manpage: asterisk.8 manpage: asterisk.8

View File

@@ -1,7 +1,9 @@
/* A Bison parser, made by GNU Bison 2.1a. */ /* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton parser for Yacc-like parsing with Bison, /* 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.
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 This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -18,10 +20,18 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */ Boston, MA 02110-1301, USA. */
/* As a special exception, when this file is copied by Bison into a /* As a special exception, you may create a larger work that contains
Bison output file, you may use that output file without restriction. part or all of the Bison parser skeleton and distribute that work
This special exception was added by the Free Software Foundation under terms of your choice, so long as that work isn't itself a
in version 1.24 of Bison. */ parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
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. */
/* C LALR(1) parser skeleton written by Richard Stallman, by /* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */ simplifying the original so-called "semantic" parser. */
@@ -37,7 +47,7 @@
#define YYBISON 1 #define YYBISON 1
/* Bison version. */ /* Bison version. */
#define YYBISON_VERSION "2.1a" #define YYBISON_VERSION "2.3"
/* Skeleton name. */ /* Skeleton name. */
#define YYSKELETON_NAME "yacc.c" #define YYSKELETON_NAME "yacc.c"
@@ -131,7 +141,9 @@
#include "asterisk.h" #include "asterisk.h"
#ifndef STANDALONE
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
@@ -272,12 +284,12 @@ int ast_yyerror(const char *,YYLTYPE *, struct parse_io *);
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE typedef union YYSTYPE
#line 140 "ast_expr2.y" #line 147 "ast_expr2.y"
{ {
struct val *val; struct val *val;
} }
/* Line 198 of yacc.c. */ /* Line 193 of yacc.c. */
#line 276 "ast_expr2.c" #line 293 "ast_expr2.c"
YYSTYPE; YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
@@ -299,13 +311,13 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */ /* Copy the second part of user declarations. */
#line 144 "ast_expr2.y" #line 151 "ast_expr2.y"
extern int ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t)); extern int ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t));
/* Line 221 of yacc.c. */ /* Line 216 of yacc.c. */
#line 304 "ast_expr2.c" #line 321 "ast_expr2.c"
#ifdef short #ifdef short
# undef short # undef short
@@ -435,8 +447,13 @@ YYID (i)
# ifndef YYSTACK_ALLOC_MAXIMUM # ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif # endif
# ifdef __cplusplus # if (defined __cplusplus && ! defined _STDLIB_H \
extern "C" { && ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef _STDLIB_H
# define _STDLIB_H 1
# endif
# endif # endif
# ifndef YYMALLOC # ifndef YYMALLOC
# define YYMALLOC malloc # define YYMALLOC malloc
@@ -452,9 +469,6 @@ void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
void free (void *); /* INFRINGES ON USER NAME SPACE */ void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif # endif
# endif # endif
# ifdef __cplusplus
}
# endif
# endif # endif
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
@@ -598,9 +612,9 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] = static const yytype_uint16 yyrline[] =
{ {
0, 168, 168, 176, 183, 184, 188, 192, 196, 200, 0, 175, 175, 183, 190, 191, 195, 199, 203, 207,
204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 211, 215, 219, 223, 227, 231, 235, 239, 243, 247,
244, 248, 252, 256 251, 255, 259, 263
}; };
#endif #endif
@@ -858,14 +872,14 @@ do { \
#if (defined __STDC__ || defined __C99__FUNC__ \ #if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER) || defined __cplusplus || defined _MSC_VER)
static void static void
yy_symbol_value_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep, const YYLTYPE * const yylocationp) yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
#else #else
static void static void
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp) yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
FILE *yyoutput; FILE *yyoutput;
int yytype; int yytype;
const YYSTYPE * const yyvaluep; YYSTYPE const * const yyvaluep;
const YYLTYPE * const yylocationp; YYLTYPE const * const yylocationp;
#endif #endif
{ {
if (!yyvaluep) if (!yyvaluep)
@@ -892,14 +906,14 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \ #if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER) || defined __cplusplus || defined _MSC_VER)
static void static void
yy_symbol_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep, const YYLTYPE * const yylocationp) yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
#else #else
static void static void
yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp) yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
FILE *yyoutput; FILE *yyoutput;
int yytype; int yytype;
const YYSTYPE * const yyvaluep; YYSTYPE const * const yyvaluep;
const YYLTYPE * const yylocationp; YYLTYPE const * const yylocationp;
#endif #endif
{ {
if (yytype < YYNTOKENS) if (yytype < YYNTOKENS)
@@ -952,8 +966,7 @@ static void
yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
#else #else
static void static void
yy_reduce_print (yyvsp, yylsp, yyrule yy_reduce_print (yyvsp, yylsp, yyrule)
)
YYSTYPE *yyvsp; YYSTYPE *yyvsp;
YYLTYPE *yylsp; YYLTYPE *yylsp;
int yyrule; int yyrule;
@@ -1076,7 +1089,7 @@ yytnamerr (char *yyres, const char *yystr)
{ {
if (*yystr == '"') if (*yystr == '"')
{ {
size_t yyn = 0; YYSIZE_T yyn = 0;
char const *yyp = yystr; char const *yyp = yystr;
for (;;) for (;;)
@@ -1123,7 +1136,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
{ {
int yyn = yypact[yystate]; int yyn = yypact[yystate];
if (! (YYPACT_NINF < yyn && yyn < YYLAST)) if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
return 0; return 0;
else else
{ {
@@ -1161,7 +1174,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
int yyxbegin = yyn < 0 ? -yyn : 0; int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */ /* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn; int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yycount = 1; int yycount = 1;
@@ -1249,114 +1262,114 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
switch (yytype) switch (yytype)
{ {
case 3: /* "TOK_COLONCOLON" */ case 3: /* "TOK_COLONCOLON" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1250 "ast_expr2.c" #line 1268 "ast_expr2.c"
break; break;
case 4: /* "TOK_COND" */ case 4: /* "TOK_COND" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1255 "ast_expr2.c" #line 1273 "ast_expr2.c"
break; break;
case 5: /* "TOK_OR" */ case 5: /* "TOK_OR" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1260 "ast_expr2.c" #line 1278 "ast_expr2.c"
break; break;
case 6: /* "TOK_AND" */ case 6: /* "TOK_AND" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1265 "ast_expr2.c" #line 1283 "ast_expr2.c"
break; break;
case 7: /* "TOK_NE" */ case 7: /* "TOK_NE" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1270 "ast_expr2.c" #line 1288 "ast_expr2.c"
break; break;
case 8: /* "TOK_LE" */ case 8: /* "TOK_LE" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1275 "ast_expr2.c" #line 1293 "ast_expr2.c"
break; break;
case 9: /* "TOK_GE" */ case 9: /* "TOK_GE" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1280 "ast_expr2.c" #line 1298 "ast_expr2.c"
break; break;
case 10: /* "TOK_LT" */ case 10: /* "TOK_LT" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1285 "ast_expr2.c" #line 1303 "ast_expr2.c"
break; break;
case 11: /* "TOK_GT" */ case 11: /* "TOK_GT" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1290 "ast_expr2.c" #line 1308 "ast_expr2.c"
break; break;
case 12: /* "TOK_EQ" */ case 12: /* "TOK_EQ" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1295 "ast_expr2.c" #line 1313 "ast_expr2.c"
break; break;
case 13: /* "TOK_MINUS" */ case 13: /* "TOK_MINUS" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1300 "ast_expr2.c" #line 1318 "ast_expr2.c"
break; break;
case 14: /* "TOK_PLUS" */ case 14: /* "TOK_PLUS" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1305 "ast_expr2.c" #line 1323 "ast_expr2.c"
break; break;
case 15: /* "TOK_MOD" */ case 15: /* "TOK_MOD" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1310 "ast_expr2.c" #line 1328 "ast_expr2.c"
break; break;
case 16: /* "TOK_DIV" */ case 16: /* "TOK_DIV" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1315 "ast_expr2.c" #line 1333 "ast_expr2.c"
break; break;
case 17: /* "TOK_MULT" */ case 17: /* "TOK_MULT" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1320 "ast_expr2.c" #line 1338 "ast_expr2.c"
break; break;
case 18: /* "TOK_COMPL" */ case 18: /* "TOK_COMPL" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1325 "ast_expr2.c" #line 1343 "ast_expr2.c"
break; break;
case 19: /* "TOK_EQTILDE" */ case 19: /* "TOK_EQTILDE" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1330 "ast_expr2.c" #line 1348 "ast_expr2.c"
break; break;
case 20: /* "TOK_COLON" */ case 20: /* "TOK_COLON" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1335 "ast_expr2.c" #line 1353 "ast_expr2.c"
break; break;
case 21: /* "TOK_LP" */ case 21: /* "TOK_LP" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1340 "ast_expr2.c" #line 1358 "ast_expr2.c"
break; break;
case 22: /* "TOK_RP" */ case 22: /* "TOK_RP" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1345 "ast_expr2.c" #line 1363 "ast_expr2.c"
break; break;
case 23: /* "TOKEN" */ case 23: /* "TOKEN" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1350 "ast_expr2.c" #line 1368 "ast_expr2.c"
break; break;
case 26: /* "expr" */ case 26: /* "expr" */
#line 162 "ast_expr2.y" #line 169 "ast_expr2.y"
{ free_value((yyvaluep->val)); }; { free_value((yyvaluep->val)); };
#line 1355 "ast_expr2.c" #line 1373 "ast_expr2.c"
break; break;
default: default:
@@ -1679,7 +1692,7 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 2: case 2:
#line 168 "ast_expr2.y" #line 175 "ast_expr2.y"
{ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); { ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1);
((struct parse_io *)parseio)->val->type = (yyvsp[(1) - (1)].val)->type; ((struct parse_io *)parseio)->val->type = (yyvsp[(1) - (1)].val)->type;
if( (yyvsp[(1) - (1)].val)->type == AST_EXPR_integer ) if( (yyvsp[(1) - (1)].val)->type == AST_EXPR_integer )
@@ -1691,7 +1704,7 @@ yyreduce:
break; break;
case 3: case 3:
#line 176 "ast_expr2.y" #line 183 "ast_expr2.y"
{/* nothing */ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); {/* nothing */ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1);
((struct parse_io *)parseio)->val->type = AST_EXPR_string; ((struct parse_io *)parseio)->val->type = AST_EXPR_string;
((struct parse_io *)parseio)->val->u.s = strdup(""); ((struct parse_io *)parseio)->val->u.s = strdup("");
@@ -1699,12 +1712,12 @@ yyreduce:
break; break;
case 4: case 4:
#line 183 "ast_expr2.y" #line 190 "ast_expr2.y"
{ (yyval.val)= (yyvsp[(1) - (1)].val);;} { (yyval.val)= (yyvsp[(1) - (1)].val);;}
break; break;
case 5: case 5:
#line 184 "ast_expr2.y" #line 191 "ast_expr2.y"
{ (yyval.val) = (yyvsp[(2) - (3)].val); { (yyval.val) = (yyvsp[(2) - (3)].val);
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
(yyloc).first_line=0; (yyloc).last_line=0; (yyloc).first_line=0; (yyloc).last_line=0;
@@ -1712,7 +1725,7 @@ yyreduce:
break; break;
case 6: case 6:
#line 188 "ast_expr2.y" #line 195 "ast_expr2.y"
{ (yyval.val) = op_or ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_or ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1720,7 +1733,7 @@ yyreduce:
break; break;
case 7: case 7:
#line 192 "ast_expr2.y" #line 199 "ast_expr2.y"
{ (yyval.val) = op_and ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_and ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1728,7 +1741,7 @@ yyreduce:
break; break;
case 8: case 8:
#line 196 "ast_expr2.y" #line 203 "ast_expr2.y"
{ (yyval.val) = op_eq ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_eq ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1736,7 +1749,7 @@ yyreduce:
break; break;
case 9: case 9:
#line 200 "ast_expr2.y" #line 207 "ast_expr2.y"
{ (yyval.val) = op_gt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_gt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1744,7 +1757,7 @@ yyreduce:
break; break;
case 10: case 10:
#line 204 "ast_expr2.y" #line 211 "ast_expr2.y"
{ (yyval.val) = op_lt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_lt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1752,7 +1765,7 @@ yyreduce:
break; break;
case 11: case 11:
#line 208 "ast_expr2.y" #line 215 "ast_expr2.y"
{ (yyval.val) = op_ge ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_ge ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1760,7 +1773,7 @@ yyreduce:
break; break;
case 12: case 12:
#line 212 "ast_expr2.y" #line 219 "ast_expr2.y"
{ (yyval.val) = op_le ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_le ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1768,7 +1781,7 @@ yyreduce:
break; break;
case 13: case 13:
#line 216 "ast_expr2.y" #line 223 "ast_expr2.y"
{ (yyval.val) = op_ne ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_ne ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1776,7 +1789,7 @@ yyreduce:
break; break;
case 14: case 14:
#line 220 "ast_expr2.y" #line 227 "ast_expr2.y"
{ (yyval.val) = op_plus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_plus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1784,7 +1797,7 @@ yyreduce:
break; break;
case 15: case 15:
#line 224 "ast_expr2.y" #line 231 "ast_expr2.y"
{ (yyval.val) = op_minus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_minus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1792,7 +1805,7 @@ yyreduce:
break; break;
case 16: case 16:
#line 228 "ast_expr2.y" #line 235 "ast_expr2.y"
{ (yyval.val) = op_negate ((yyvsp[(2) - (2)].val)); { (yyval.val) = op_negate ((yyvsp[(2) - (2)].val));
DESTROY((yyvsp[(1) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val));
(yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column;
@@ -1800,7 +1813,7 @@ yyreduce:
break; break;
case 17: case 17:
#line 232 "ast_expr2.y" #line 239 "ast_expr2.y"
{ (yyval.val) = op_compl ((yyvsp[(2) - (2)].val)); { (yyval.val) = op_compl ((yyvsp[(2) - (2)].val));
DESTROY((yyvsp[(1) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val));
(yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column;
@@ -1808,7 +1821,7 @@ yyreduce:
break; break;
case 18: case 18:
#line 236 "ast_expr2.y" #line 243 "ast_expr2.y"
{ (yyval.val) = op_times ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_times ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1816,7 +1829,7 @@ yyreduce:
break; break;
case 19: case 19:
#line 240 "ast_expr2.y" #line 247 "ast_expr2.y"
{ (yyval.val) = op_div ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_div ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1824,7 +1837,7 @@ yyreduce:
break; break;
case 20: case 20:
#line 244 "ast_expr2.y" #line 251 "ast_expr2.y"
{ (yyval.val) = op_rem ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_rem ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1832,7 +1845,7 @@ yyreduce:
break; break;
case 21: case 21:
#line 248 "ast_expr2.y" #line 255 "ast_expr2.y"
{ (yyval.val) = op_colon ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_colon ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1840,7 +1853,7 @@ yyreduce:
break; break;
case 22: case 22:
#line 252 "ast_expr2.y" #line 259 "ast_expr2.y"
{ (yyval.val) = op_eqtilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); { (yyval.val) = op_eqtilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
DESTROY((yyvsp[(2) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val));
(yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column;
@@ -1848,7 +1861,7 @@ yyreduce:
break; break;
case 23: case 23:
#line 256 "ast_expr2.y" #line 263 "ast_expr2.y"
{ (yyval.val) = op_cond ((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val)); { (yyval.val) = op_cond ((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val));
DESTROY((yyvsp[(2) - (5)].val)); DESTROY((yyvsp[(2) - (5)].val));
DESTROY((yyvsp[(4) - (5)].val)); DESTROY((yyvsp[(4) - (5)].val));
@@ -1857,8 +1870,8 @@ yyreduce:
break; break;
/* Line 1270 of yacc.c. */ /* Line 1267 of yacc.c. */
#line 1857 "ast_expr2.c" #line 1875 "ast_expr2.c"
default: break; default: break;
} }
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2073,11 +2086,12 @@ yyreturn:
if (yymsg != yymsgbuf) if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg); YYSTACK_FREE (yymsg);
#endif #endif
return yyresult; /* Make sure YYID is used. */
return YYID (yyresult);
} }
#line 263 "ast_expr2.y" #line 270 "ast_expr2.y"
static struct val * static struct val *

View File

@@ -24,7 +24,9 @@
#include "asterisk.h" #include "asterisk.h"
#ifndef STANDALONE
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>

View File

@@ -1,7 +1,9 @@
/* A Bison parser, made by GNU Bison 2.1a. */ /* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton parser for Yacc-like parsing with Bison, /* 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.
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 This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -18,10 +20,18 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */ Boston, MA 02110-1301, USA. */
/* As a special exception, when this file is copied by Bison into a /* As a special exception, you may create a larger work that contains
Bison output file, you may use that output file without restriction. part or all of the Bison parser skeleton and distribute that work
This special exception was added by the Free Software Foundation under terms of your choice, so long as that work isn't itself a
in version 1.24 of Bison. */ parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
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. */
/* Tokens. */ /* Tokens. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
@@ -80,12 +90,12 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE typedef union YYSTYPE
#line 140 "ast_expr2.y" #line 147 "ast_expr2.y"
{ {
struct val *val; struct val *val;
} }
/* Line 1536 of yacc.c. */ /* Line 1529 of yacc.c. */
#line 89 "ast_expr2.h" #line 99 "ast_expr2.h"
YYSTYPE; YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
@@ -108,5 +118,3 @@ typedef struct YYLTYPE
#endif #endif

View File

@@ -14,7 +14,9 @@
#include "asterisk.h" #include "asterisk.h"
#ifndef STANDALONE
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>

View File

@@ -1356,7 +1356,9 @@ static yyconst yy_state_type yy_NUL_trans[54] =
#include "asterisk.h" #include "asterisk.h"
#ifndef STANDALONE
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#endif
#include <sys/types.h> #include <sys/types.h>
#include <stdio.h> #include <stdio.h>
@@ -1421,7 +1423,7 @@ int ast_yyget_column(yyscan_t yyscanner);
static int curlycount = 0; static int curlycount = 0;
static char *expr2_token_subst(char *mess); static char *expr2_token_subst(char *mess);
#line 1425 "ast_expr2f.c" #line 1427 "ast_expr2f.c"
#define INITIAL 0 #define INITIAL 0
#define var 1 #define var 1
@@ -1644,10 +1646,10 @@ YY_DECL
register int yy_act; register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
#line 102 "ast_expr2.fl" #line 104 "ast_expr2.fl"
#line 1651 "ast_expr2f.c" #line 1653 "ast_expr2f.c"
yylval = yylval_param; yylval = yylval_param;
@@ -1730,122 +1732,122 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 104 "ast_expr2.fl" #line 106 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;} { SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 105 "ast_expr2.fl" #line 107 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;} { SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 106 "ast_expr2.fl" #line 108 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;} { SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 107 "ast_expr2.fl" #line 109 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_OR;} { SET_COLUMNS; SET_STRING; return TOK_OR;}
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 108 "ast_expr2.fl" #line 110 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_AND;} { SET_COLUMNS; SET_STRING; return TOK_AND;}
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 109 "ast_expr2.fl" #line 111 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQ;} { SET_COLUMNS; SET_STRING; return TOK_EQ;}
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 110 "ast_expr2.fl" #line 112 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;} { SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 111 "ast_expr2.fl" #line 113 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GT;} { SET_COLUMNS; SET_STRING; return TOK_GT;}
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 112 "ast_expr2.fl" #line 114 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LT;} { SET_COLUMNS; SET_STRING; return TOK_LT;}
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 113 "ast_expr2.fl" #line 115 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_GE;} { SET_COLUMNS; SET_STRING; return TOK_GE;}
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 114 "ast_expr2.fl" #line 116 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LE;} { SET_COLUMNS; SET_STRING; return TOK_LE;}
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 115 "ast_expr2.fl" #line 117 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_NE;} { SET_COLUMNS; SET_STRING; return TOK_NE;}
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 116 "ast_expr2.fl" #line 118 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_PLUS;} { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 117 "ast_expr2.fl" #line 119 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MINUS;} { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 118 "ast_expr2.fl" #line 120 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MULT;} { SET_COLUMNS; SET_STRING; return TOK_MULT;}
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 119 "ast_expr2.fl" #line 121 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_DIV;} { SET_COLUMNS; SET_STRING; return TOK_DIV;}
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 120 "ast_expr2.fl" #line 122 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_MOD;} { SET_COLUMNS; SET_STRING; return TOK_MOD;}
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 121 "ast_expr2.fl" #line 123 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COND;} { SET_COLUMNS; SET_STRING; return TOK_COND;}
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 122 "ast_expr2.fl" #line 124 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COMPL;} { SET_COLUMNS; SET_STRING; return TOK_COMPL;}
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 123 "ast_expr2.fl" #line 125 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLON;} { SET_COLUMNS; SET_STRING; return TOK_COLON;}
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 124 "ast_expr2.fl" #line 126 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;} { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 125 "ast_expr2.fl" #line 127 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_LP;} { SET_COLUMNS; SET_STRING; return TOK_LP;}
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 126 "ast_expr2.fl" #line 128 "ast_expr2.fl"
{ SET_COLUMNS; SET_STRING; return TOK_RP;} { SET_COLUMNS; SET_STRING; return TOK_RP;}
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 127 "ast_expr2.fl" #line 129 "ast_expr2.fl"
{ {
/* gather the contents of ${} expressions, with trailing stuff, /* gather the contents of ${} expressions, with trailing stuff,
* into a single TOKEN. * into a single TOKEN.
@@ -1858,24 +1860,24 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 137 "ast_expr2.fl" #line 139 "ast_expr2.fl"
{} {}
YY_BREAK YY_BREAK
case 26: case 26:
/* rule 26 can match eol */ /* rule 26 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 138 "ast_expr2.fl" #line 140 "ast_expr2.fl"
{SET_COLUMNS; SET_STRING; return TOKEN;} {SET_COLUMNS; SET_STRING; return TOKEN;}
YY_BREAK YY_BREAK
case 27: case 27:
/* rule 27 can match eol */ /* rule 27 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 140 "ast_expr2.fl" #line 142 "ast_expr2.fl"
{/* what to do with eol */} {/* what to do with eol */}
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 141 "ast_expr2.fl" #line 143 "ast_expr2.fl"
{ {
SET_COLUMNS; SET_COLUMNS;
/* the original behavior of the expression parser was /* the original behavior of the expression parser was
@@ -1887,7 +1889,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 150 "ast_expr2.fl" #line 152 "ast_expr2.fl"
{ {
SET_COLUMNS; SET_COLUMNS;
SET_STRING; SET_STRING;
@@ -1897,7 +1899,7 @@ YY_RULE_SETUP
case 30: case 30:
/* rule 30 can match eol */ /* rule 30 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 157 "ast_expr2.fl" #line 159 "ast_expr2.fl"
{ {
curlycount--; curlycount--;
if (curlycount < 0) { if (curlycount < 0) {
@@ -1911,7 +1913,7 @@ YY_RULE_SETUP
case 31: case 31:
/* rule 31 can match eol */ /* rule 31 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 167 "ast_expr2.fl" #line 169 "ast_expr2.fl"
{ {
curlycount++; curlycount++;
yymore(); yymore();
@@ -1919,7 +1921,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 173 "ast_expr2.fl" #line 175 "ast_expr2.fl"
{ {
BEGIN(0); BEGIN(0);
SET_COLUMNS; SET_COLUMNS;
@@ -1930,7 +1932,7 @@ YY_RULE_SETUP
case 33: case 33:
/* rule 33 can match eol */ /* rule 33 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 180 "ast_expr2.fl" #line 182 "ast_expr2.fl"
{ {
char c = yytext[yyleng-1]; char c = yytext[yyleng-1];
BEGIN(0); BEGIN(0);
@@ -1942,7 +1944,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 189 "ast_expr2.fl" #line 191 "ast_expr2.fl"
{ {
curlycount = 0; curlycount = 0;
BEGIN(var); BEGIN(var);
@@ -1950,7 +1952,7 @@ YY_RULE_SETUP
} }
YY_BREAK YY_BREAK
case YY_STATE_EOF(trail): case YY_STATE_EOF(trail):
#line 195 "ast_expr2.fl" #line 197 "ast_expr2.fl"
{ {
BEGIN(0); BEGIN(0);
SET_COLUMNS; SET_COLUMNS;
@@ -1961,10 +1963,10 @@ case YY_STATE_EOF(trail):
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 203 "ast_expr2.fl" #line 205 "ast_expr2.fl"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 1968 "ast_expr2f.c" #line 1970 "ast_expr2f.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(var): case YY_STATE_EOF(var):
yyterminate(); yyterminate();
@@ -2197,7 +2199,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Read in more data. */ /* Read in more data. */
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
yyg->yy_n_chars, num_to_read ); yyg->yy_n_chars, (size_t) num_to_read );
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
} }
@@ -3091,7 +3093,7 @@ void ast_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 203 "ast_expr2.fl" #line 205 "ast_expr2.fl"