Asterisk - The Open Source Telephony Project GIT-master-d5a0626
|
#include "asterisk.h"
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <locale.h>
#include <unistd.h>
#include <ctype.h>
#include <errno.h>
#include <regex.h>
#include <limits.h>
#include "asterisk/ast_expr.h"
#include "asterisk/logger.h"
#include "asterisk/pbx.h"
Go to the source code of this file.
Data Structures | |
struct | expr_node |
struct | parse_io |
struct | val |
union | yyalloc |
struct | yyltype |
union | YYSTYPE |
Macros | |
#define | ast_yyerror(x) ast_yyerror(x,&yyloc,parseio) |
#define | ast_yyerror(x) ast_yyerror(x, YYLTYPE *yylloc, struct parse_io *parseio) |
#define | ASTMM_LIBC ASTMM_REDIRECT |
#define | DESTROY(x) {if((x)->type == AST_EXPR_numeric_string || (x)->type == AST_EXPR_string) free((x)->u.s); (x)->u.s = 0; free(x);} |
#define | FP___PRINTF "%.16g" |
#define | FP___TYPE double |
#define | FUNC_ACOS acosl |
#define | FUNC_ASIN asinl |
#define | FUNC_ATAN atanl |
#define | FUNC_ATAN2 atan2l |
#define | FUNC_CEIL ceill |
#define | FUNC_COS cosl |
#define | FUNC_EXP expl |
#define | FUNC_EXP10 exp10l |
#define | FUNC_EXP2 exp2l |
#define | FUNC_FLOOR floorl |
#define | FUNC_FMOD fmodl |
#define | FUNC_LOG logl |
#define | FUNC_LOG10 log10l |
#define | FUNC_LOG2 log2l |
#define | FUNC_POW powl |
#define | FUNC_REMAINDER remainderl |
#define | FUNC_RINT rintl |
#define | FUNC_ROUND roundl |
#define | FUNC_SIN sinl |
#define | FUNC_SQRT sqrtl |
#define | FUNC_STRTOD strtold |
#define | FUNC_TAN tanl |
#define | FUNC_TRUNC truncl |
#define | QUAD_MAX (0x7fffffffffffffffLL) |
#define | QUAD_MIN (-0x7fffffffffffffffLL-1) |
#define | YY_(msgid) msgid |
#define | YY_LOCATION_PRINT(File, Loc) |
#define | YY_REDUCE_PRINT(Rule) |
#define | YY_STACK_PRINT(Bottom, Top) |
#define | YY_SYMBOL_PRINT(Title, Type, Value, Location) |
#define | YYABORT goto yyabortlab |
#define | YYACCEPT goto yyacceptlab |
#define | YYBACKUP(Token, Value) |
#define | YYBISON 1 |
#define | YYBISON_VERSION "2.4.1" |
#define | yychar ast_yychar |
#define | yyclearin (yychar = YYEMPTY) |
#define | YYCOPY(To, From, Count) |
#define | yydebug ast_yydebug |
#define | YYDEBUG 0 |
#define | YYDPRINTF(Args) |
#define | YYEMPTY (-2) |
#define | YYENABLE_NLS 0 |
#define | YYEOF 0 |
#define | YYERRCODE 256 |
#define | yyerrok (yyerrstatus = 0) |
#define | yyerror ast_yyerror |
#define | YYERROR goto yyerrorlab |
#define | YYERROR_VERBOSE 1 |
#define | YYERROR_VERBOSE 1 |
#define | YYFAIL goto yyerrlab |
#define | YYFINAL 11 |
#define | YYFREE free |
#define | YYID(n) (n) |
#define | YYINITDEPTH 200 |
#define | YYLAST 159 |
#define | yylex ast_yylex |
#define | YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) |
#define | YYLEX_PARAM ((struct parse_io *)parseio)->scanner |
#define | yylloc ast_yylloc |
#define | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YYLSP_NEEDED 1 |
#define | YYLTYPE yyltype |
#define | YYLTYPE_IS_TRIVIAL 1 |
#define | yylval ast_yylval |
#define | YYMALLOC malloc |
#define | YYMAXDEPTH 10000 |
#define | YYMAXUTOK 280 |
#define | yynerrs ast_yynerrs |
#define | YYNNTS 4 |
#define | YYNRULES 28 |
#define | YYNSTATES 54 |
#define | YYNTOKENS 26 |
#define | YYPACT_NINF -18 |
#define | yyparse ast_yyparse |
#define | YYPARSE_PARAM parseio |
#define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) |
#define | YYPULL 1 |
#define | YYPURE 1 |
#define | YYPUSH 0 |
#define | YYRECOVERING() (!!yyerrstatus) |
#define | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
#define | YYSIZE_T unsigned int |
#define | YYSKELETON_NAME "yacc.c" |
#define | YYSTACK_ALLOC YYMALLOC |
#define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
#define | YYSTACK_BYTES(N) |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
#define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
#define | yystype YYSTYPE /* obsolescent; will be withdrawn */ |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | YYTABLE_NINF -1 |
#define | YYTERROR 1 |
#define | YYTOKEN_TABLE 0 |
#define | YYTOKENTYPE |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYUNDEFTOK 2 |
#define | YYUSE(e) ((void) (e)) |
Typedefs | |
typedef struct yyltype | yyltype |
typedef void * | yyscan_t |
typedef union YYSTYPE | YYSTYPE |
typedef short int | yytype_int16 |
typedef short int | yytype_int8 |
typedef unsigned short int | yytype_uint16 |
typedef unsigned char | yytype_uint8 |
Enumerations | |
enum | node_type { AST_EXPR_NODE_COMMA , AST_EXPR_NODE_STRING , AST_EXPR_NODE_VAL } |
enum | valtype { AST_EXPR_number , AST_EXPR_numeric_string , AST_EXPR_string , AST_EXPR_number , AST_EXPR_numeric_string , AST_EXPR_string } |
enum | yytokentype { TOK_COMMA = 258 , TOK_COLONCOLON = 259 , TOK_COND = 260 , TOK_OR = 261 , TOK_AND = 262 , TOK_NE = 263 , TOK_LE = 264 , TOK_GE = 265 , TOK_LT = 266 , TOK_GT = 267 , TOK_EQ = 268 , TOK_MINUS = 269 , TOK_PLUS = 270 , TOK_MOD = 271 , TOK_DIV = 272 , TOK_MULT = 273 , TOK_COMPL = 274 , TOK_TILDETILDE = 275 , TOK_EQTILDE = 276 , TOK_COLON = 277 , TOK_LP = 278 , TOK_RP = 279 , TOKEN = 280 , TOK_COMMA = 258 , TOK_COLONCOLON = 259 , TOK_COND = 260 , TOK_OR = 261 , TOK_AND = 262 , TOK_NE = 263 , TOK_LE = 264 , TOK_GE = 265 , TOK_LT = 266 , TOK_GT = 267 , TOK_EQ = 268 , TOK_MINUS = 269 , TOK_PLUS = 270 , TOK_MOD = 271 , TOK_DIV = 272 , TOK_MULT = 273 , TOK_COMPL = 274 , TOK_TILDETILDE = 275 , TOK_EQTILDE = 276 , TOK_COLON = 277 , TOK_LP = 278 , TOK_RP = 279 , TOKEN = 280 , KW_CONTEXT = 258 , LC = 259 , RC = 260 , LP = 261 , RP = 262 , SEMI = 263 , EQ = 264 , COMMA = 265 , COLON = 266 , AMPER = 267 , BAR = 268 , AT = 269 , KW_MACRO = 270 , KW_GLOBALS = 271 , KW_IGNOREPAT = 272 , KW_SWITCH = 273 , KW_IF = 274 , KW_IFTIME = 275 , KW_ELSE = 276 , KW_RANDOM = 277 , KW_ABSTRACT = 278 , KW_EXTEND = 279 , EXTENMARK = 280 , KW_GOTO = 281 , KW_JUMP = 282 , KW_RETURN = 283 , KW_BREAK = 284 , KW_CONTINUE = 285 , KW_REGEXTEN = 286 , KW_HINT = 287 , KW_FOR = 288 , KW_WHILE = 289 , KW_CASE = 290 , KW_PATTERN = 291 , KW_DEFAULT = 292 , KW_CATCH = 293 , KW_SWITCHES = 294 , KW_ESWITCHES = 295 , KW_INCLUDES = 296 , KW_LOCAL = 297 , word = 298 , KW_CONTEXT = 258 , LC = 259 , RC = 260 , LP = 261 , RP = 262 , SEMI = 263 , EQ = 264 , COMMA = 265 , COLON = 266 , AMPER = 267 , BAR = 268 , AT = 269 , KW_MACRO = 270 , KW_GLOBALS = 271 , KW_IGNOREPAT = 272 , KW_SWITCH = 273 , KW_IF = 274 , KW_IFTIME = 275 , KW_ELSE = 276 , KW_RANDOM = 277 , KW_ABSTRACT = 278 , KW_EXTEND = 279 , EXTENMARK = 280 , KW_GOTO = 281 , KW_JUMP = 282 , KW_RETURN = 283 , KW_BREAK = 284 , KW_CONTINUE = 285 , KW_REGEXTEN = 286 , KW_HINT = 287 , KW_FOR = 288 , KW_WHILE = 289 , KW_CASE = 290 , KW_PATTERN = 291 , KW_DEFAULT = 292 , KW_CATCH = 293 , KW_SWITCHES = 294 , KW_ESWITCHES = 295 , KW_INCLUDES = 296 , KW_LOCAL = 297 , word = 298 } |
Functions | |
static struct val *make_str | __P ((const char *)) |
static struct val *make_number | __P ((FP___TYPE)) |
static int chk_div | __P ((FP___TYPE, FP___TYPE)) |
static int chk_minus | __P ((FP___TYPE, FP___TYPE, FP___TYPE)) |
static void free_value | __P ((struct val *)) |
static struct val *op_and | __P ((struct val *, struct val *)) |
static struct val *op_cond | __P ((struct val *, struct val *, struct val *)) |
int ast_yylex | __P ((YYSTYPE *, YYLTYPE *, yyscan_t)) |
static struct expr_node * | alloc_expr_node (enum node_type) |
int | ast_yyerror (const char *, YYLTYPE *, struct parse_io *) |
static int | chk_div (FP___TYPE a, FP___TYPE b) |
static int | chk_minus (FP___TYPE a, FP___TYPE b, FP___TYPE r) |
static int | chk_plus (FP___TYPE a, FP___TYPE b, FP___TYPE r) |
static int | chk_times (FP___TYPE a, FP___TYPE b, FP___TYPE r) |
static char * | compose_func_args (struct expr_node *arglist) |
static void | destroy_arglist (struct expr_node *arglist) |
static void | free_value (struct val *vp) |
static int | is_really_num (char *str) |
static int | is_zero_or_null (struct val *vp) |
static int | isstring (struct val *vp) |
static struct val * | make_number (FP___TYPE i) |
static struct val * | make_str (const char *s) |
static struct val * | op_and (struct val *a, struct val *b) |
static struct val * | op_colon (struct val *a, struct val *b) |
static struct val * | op_compl (struct val *a) |
static struct val * | op_cond (struct val *a, struct val *b, struct val *c) |
static struct val * | op_div (struct val *a, struct val *b) |
static struct val * | op_eq (struct val *a, struct val *b) |
static struct val * | op_eqtilde (struct val *a, struct val *b) |
static struct val * | op_func (struct val *funcname, struct expr_node *arglist, struct ast_channel *chan) |
static struct val * | op_ge (struct val *a, struct val *b) |
static struct val * | op_gt (struct val *a, struct val *b) |
static struct val * | op_le (struct val *a, struct val *b) |
static struct val * | op_lt (struct val *a, struct val *b) |
static struct val * | op_minus (struct val *a, struct val *b) |
static struct val * | op_ne (struct val *a, struct val *b) |
static struct val * | op_negate (struct val *a) |
static struct val * | op_or (struct val *a, struct val *b) |
static struct val * | op_plus (struct val *a, struct val *b) |
static struct val * | op_rem (struct val *a, struct val *b) |
static struct val * | op_tildetilde (struct val *a, struct val *b) |
static struct val * | op_times (struct val *a, struct val *b) |
static void | strip_quotes (struct val *vp) |
static int | to_number (struct val *vp) |
static void | to_string (struct val *vp) |
static void | yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) const |
int | yyparse (void *YYPARSE_PARAM) |
static char * | yystpcpy (char *yydest, const char *yysrc) |
static YYSIZE_T | yystrlen (char *yystr) const |
static YYSIZE_T | yysyntax_error (char *yyresult, int yystate, int yychar) |
static YYSIZE_T | yytnamerr (char *yyres, const char *yystr) |
Variables | |
char | extra_error_message [4095] |
int | extra_error_message_supplied |
static const yytype_int8 | yycheck [] |
static const yytype_uint8 | yydefact [] |
static const yytype_int8 | yydefgoto [] |
static const yytype_int16 | yypact [] |
static const yytype_int8 | yypgoto [] |
static const yytype_uint8 | yyr1 [] |
static const yytype_uint8 | yyr2 [] |
static const yytype_uint8 | yystos [] |
static const yytype_uint8 | yytable [] |
static const char *const | yytname [] |
static const yytype_uint8 | yytranslate [] |
#define ast_yyerror | ( | x | ) | ast_yyerror(x,&yyloc,parseio) |
Definition at line 2723 of file ast_expr2.c.
Definition at line 2723 of file ast_expr2.c.
#define ASTMM_LIBC ASTMM_REDIRECT |
Definition at line 94 of file ast_expr2.c.
#define DESTROY | ( | x | ) | {if((x)->type == AST_EXPR_numeric_string || (x)->type == AST_EXPR_string) free((x)->u.s); (x)->u.s = 0; free(x);} |
Definition at line 412 of file ast_expr2.c.
#define FP___PRINTF "%.16g" |
Definition at line 110 of file ast_expr2.c.
#define FP___TYPE double |
Definition at line 111 of file ast_expr2.c.
#define FUNC_ACOS acosl |
Definition at line 133 of file ast_expr2.c.
#define FUNC_ASIN asinl |
Definition at line 139 of file ast_expr2.c.
#define FUNC_ATAN atanl |
Definition at line 145 of file ast_expr2.c.
#define FUNC_ATAN2 atan2l |
Definition at line 151 of file ast_expr2.c.
#define FUNC_CEIL ceill |
Definition at line 211 of file ast_expr2.c.
#define FUNC_COS cosl |
Definition at line 115 of file ast_expr2.c.
#define FUNC_EXP expl |
Definition at line 175 of file ast_expr2.c.
#define FUNC_EXP10 exp10l |
Definition at line 241 of file ast_expr2.c.
#define FUNC_EXP2 exp2l |
Definition at line 233 of file ast_expr2.c.
#define FUNC_FLOOR floorl |
Definition at line 205 of file ast_expr2.c.
#define FUNC_FMOD fmodl |
Definition at line 193 of file ast_expr2.c.
#define FUNC_LOG logl |
Definition at line 181 of file ast_expr2.c.
#define FUNC_LOG10 log10l |
Definition at line 261 of file ast_expr2.c.
#define FUNC_LOG2 log2l |
Definition at line 249 of file ast_expr2.c.
#define FUNC_POW powl |
Definition at line 157 of file ast_expr2.c.
#define FUNC_REMAINDER remainderl |
Definition at line 187 of file ast_expr2.c.
#define FUNC_RINT rintl |
Definition at line 169 of file ast_expr2.c.
#define FUNC_ROUND roundl |
Definition at line 217 of file ast_expr2.c.
#define FUNC_SIN sinl |
Definition at line 121 of file ast_expr2.c.
#define FUNC_SQRT sqrtl |
Definition at line 163 of file ast_expr2.c.
#define FUNC_STRTOD strtold |
Definition at line 199 of file ast_expr2.c.
#define FUNC_TAN tanl |
Definition at line 127 of file ast_expr2.c.
#define FUNC_TRUNC truncl |
Definition at line 223 of file ast_expr2.c.
#define QUAD_MAX (0x7fffffffffffffffLL) |
Definition at line 308 of file ast_expr2.c.
#define QUAD_MIN (-0x7fffffffffffffffLL-1) |
Definition at line 305 of file ast_expr2.c.
#define YY_ | ( | msgid | ) | msgid |
Definition at line 571 of file ast_expr2.c.
#define YY_LOCATION_PRINT | ( | File, | |
Loc | |||
) |
Definition at line 1025 of file ast_expr2.c.
#define YY_REDUCE_PRINT | ( | Rule | ) |
Definition at line 1209 of file ast_expr2.c.
#define YY_STACK_PRINT | ( | Bottom, | |
Top | |||
) |
Definition at line 1208 of file ast_expr2.c.
#define YY_SYMBOL_PRINT | ( | Title, | |
Type, | |||
Value, | |||
Location | |||
) |
Definition at line 1207 of file ast_expr2.c.
#define YYABORT goto yyabortlab |
Definition at line 959 of file ast_expr2.c.
#define YYACCEPT goto yyacceptlab |
Definition at line 958 of file ast_expr2.c.
#define YYBACKUP | ( | Token, | |
Value | |||
) |
Definition at line 971 of file ast_expr2.c.
#define YYBISON 1 |
Definition at line 46 of file ast_expr2.c.
#define YYBISON_VERSION "2.4.1" |
Definition at line 49 of file ast_expr2.c.
#define yychar ast_yychar |
Definition at line 71 of file ast_expr2.c.
Definition at line 954 of file ast_expr2.c.
#define YYCOPY | ( | To, | |
From, | |||
Count | |||
) |
Definition at line 699 of file ast_expr2.c.
#define yydebug ast_yydebug |
Definition at line 72 of file ast_expr2.c.
#define YYDEBUG 0 |
Definition at line 420 of file ast_expr2.c.
#define YYDPRINTF | ( | Args | ) |
Definition at line 1206 of file ast_expr2.c.
#define YYEMPTY (-2) |
Definition at line 955 of file ast_expr2.c.
#define YYENABLE_NLS 0 |
Definition at line 310 of file ast_expr2.c.
#define YYEOF 0 |
Definition at line 956 of file ast_expr2.c.
#define YYERRCODE 256 |
Definition at line 990 of file ast_expr2.c.
#define yyerrok (yyerrstatus = 0) |
Definition at line 953 of file ast_expr2.c.
#define yyerror ast_yyerror |
Definition at line 69 of file ast_expr2.c.
#define YYERROR goto yyerrorlab |
Definition at line 960 of file ast_expr2.c.
#define YYERROR_VERBOSE 1 |
Definition at line 426 of file ast_expr2.c.
#define YYERROR_VERBOSE 1 |
Definition at line 426 of file ast_expr2.c.
#define YYFAIL goto yyerrlab |
Definition at line 967 of file ast_expr2.c.
#define YYFINAL 11 |
Definition at line 729 of file ast_expr2.c.
#define YYFREE free |
Definition at line 660 of file ast_expr2.c.
#define YYID | ( | n | ) | (n) |
Definition at line 584 of file ast_expr2.c.
#define YYINITDEPTH 200 |
Definition at line 1215 of file ast_expr2.c.
#define YYLAST 159 |
Definition at line 731 of file ast_expr2.c.
#define yylex ast_yylex |
Definition at line 68 of file ast_expr2.c.
#define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) |
Definition at line 1038 of file ast_expr2.c.
#define YYLEX_PARAM ((struct parse_io *)parseio)->scanner |
Definition at line 312 of file ast_expr2.c.
#define yylloc ast_yylloc |
Definition at line 74 of file ast_expr2.c.
#define YYLLOC_DEFAULT | ( | Current, | |
Rhs, | |||
N | |||
) |
Definition at line 999 of file ast_expr2.c.
#define YYLSP_NEEDED 1 |
Definition at line 64 of file ast_expr2.c.
Definition at line 400 of file ast_expr2.c.
#define YYLTYPE_IS_TRIVIAL 1 |
Definition at line 401 of file ast_expr2.c.
#define yylval ast_yylval |
Definition at line 70 of file ast_expr2.c.
#define YYMALLOC malloc |
Definition at line 653 of file ast_expr2.c.
#define YYMAXDEPTH 10000 |
Definition at line 1226 of file ast_expr2.c.
#define YYMAXUTOK 280 |
Definition at line 744 of file ast_expr2.c.
#define yynerrs ast_yynerrs |
Definition at line 73 of file ast_expr2.c.
#define YYNNTS 4 |
Definition at line 736 of file ast_expr2.c.
#define YYNRULES 28 |
Definition at line 738 of file ast_expr2.c.
#define YYNSTATES 54 |
Definition at line 740 of file ast_expr2.c.
#define YYNTOKENS 26 |
Definition at line 734 of file ast_expr2.c.
#define YYPACT_NINF -18 |
Definition at line 879 of file ast_expr2.c.
int yyparse ast_yyparse |
Definition at line 67 of file ast_expr2.c.
#define YYPARSE_PARAM parseio |
Definition at line 311 of file ast_expr2.c.
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) |
#define YYPULL 1 |
Definition at line 61 of file ast_expr2.c.
#define YYPURE 1 |
Definition at line 55 of file ast_expr2.c.
#define YYPUSH 0 |
Definition at line 58 of file ast_expr2.c.
#define YYRECOVERING | ( | ) | (!!yyerrstatus) |
Definition at line 969 of file ast_expr2.c.
#define YYRHSLOC | ( | Rhs, | |
K | |||
) | ((Rhs)[K]) |
Definition at line 997 of file ast_expr2.c.
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
Definition at line 561 of file ast_expr2.c.
#define YYSIZE_T unsigned int |
Definition at line 557 of file ast_expr2.c.
#define YYSKELETON_NAME "yacc.c" |
Definition at line 52 of file ast_expr2.c.
#define YYSTACK_ALLOC YYMALLOC |
Definition at line 639 of file ast_expr2.c.
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 642 of file ast_expr2.c.
#define YYSTACK_BYTES | ( | N | ) |
Definition at line 688 of file ast_expr2.c.
#define YYSTACK_FREE YYFREE |
Definition at line 640 of file ast_expr2.c.
#define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
Definition at line 684 of file ast_expr2.c.
#define YYSTACK_RELOCATE | ( | Stack_alloc, | |
Stack | |||
) |
Definition at line 715 of file ast_expr2.c.
Definition at line 487 of file ast_expr2.c.
#define YYSTYPE_IS_DECLARED 1 |
Definition at line 488 of file ast_expr2.c.
#define YYSTYPE_IS_TRIVIAL 1 |
Definition at line 486 of file ast_expr2.c.
#define YYTABLE_NINF -1 |
Definition at line 900 of file ast_expr2.c.
#define YYTERROR 1 |
Definition at line 989 of file ast_expr2.c.
#define YYTOKEN_TABLE 0 |
Definition at line 433 of file ast_expr2.c.
#define YYTOKENTYPE |
Definition at line 439 of file ast_expr2.c.
#define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
Definition at line 746 of file ast_expr2.c.
#define YYUNDEFTOK 2 |
Definition at line 743 of file ast_expr2.c.
#define YYUSE | ( | e | ) | ((void) (e)) |
Definition at line 577 of file ast_expr2.c.
typedef void* yyscan_t |
Definition at line 346 of file ast_expr2.c.
typedef short int yytype_int16 |
Definition at line 544 of file ast_expr2.c.
typedef short int yytype_int8 |
Definition at line 532 of file ast_expr2.c.
typedef unsigned short int yytype_uint16 |
Definition at line 538 of file ast_expr2.c.
typedef unsigned char yytype_uint8 |
Definition at line 523 of file ast_expr2.c.
enum node_type |
Enumerator | |
---|---|
AST_EXPR_NODE_COMMA | |
AST_EXPR_NODE_STRING | |
AST_EXPR_NODE_VAL |
Definition at line 333 of file ast_expr2.c.
enum valtype |
Enumerator | |
---|---|
AST_EXPR_number | |
AST_EXPR_numeric_string | |
AST_EXPR_string | |
AST_EXPR_number | |
AST_EXPR_numeric_string | |
AST_EXPR_string |
Definition at line 317 of file ast_expr2.c.
enum yytokentype |
Definition at line 442 of file ast_expr2.c.
|
static |
Definition at line 2502 of file ast_expr2.c.
References ast_log, calloc, LOG_ERROR, and expr_node::type.
Referenced by yyparse().
Definition at line 3325 of file ast_expr2.c.
References a, b, chk_plus(), and QUAD_MIN.
Referenced by op_minus(), and op_negate().
Definition at line 3282 of file ast_expr2.c.
Referenced by chk_minus(), and op_plus().
Definition at line 3447 of file ast_expr2.c.
Referenced by op_times().
|
static |
Definition at line 2747 of file ast_expr2.c.
References AST_EXPR_number, ast_log, FP___PRINTF, val::i, LOG_NOTICE, malloc(), expr_node::right, val::s, val::type, val::u, and expr_node::val.
Referenced by op_func().
|
static |
Definition at line 2730 of file ast_expr2.c.
References free(), free_value(), expr_node::right, and expr_node::val.
Referenced by yyparse().
|
static |
Definition at line 2564 of file ast_expr2.c.
References AST_EXPR_numeric_string, AST_EXPR_string, free(), NULL, val::s, val::type, and val::u.
Referenced by destroy_arglist(), op_and(), op_colon(), op_compl(), op_cond(), op_div(), op_eq(), op_eqtilde(), op_ge(), op_gt(), op_le(), op_lt(), op_minus(), op_ne(), op_negate(), op_or(), op_plus(), op_rem(), op_tildetilde(), op_times(), and yydestruct().
|
static |
Definition at line 2789 of file ast_expr2.c.
References str.
Referenced by op_func().
|
static |
Definition at line 2656 of file ast_expr2.c.
References AST_EXPR_number, val::i, val::s, to_number(), val::type, and val::u.
|
static |
Definition at line 2516 of file ast_expr2.c.
References AST_EXPR_number, ast_log, val::i, LOG_WARNING, malloc(), NULL, val::type, and val::u.
Referenced by op_and(), op_colon(), op_compl(), op_div(), op_eq(), op_eqtilde(), op_func(), op_ge(), op_gt(), op_le(), op_lt(), op_minus(), op_ne(), op_negate(), op_plus(), op_rem(), and op_times().
|
static |
Definition at line 2532 of file ast_expr2.c.
References AST_EXPR_numeric_string, AST_EXPR_string, ast_log, free(), val::i, LOG_WARNING, malloc(), NULL, val::s, strdup, val::type, and val::u.
Referenced by op_colon(), op_eqtilde(), op_func(), op_tildetilde(), and yyparse().
Definition at line 3103 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), is_zero_or_null(), and make_number().
Referenced by yyparse().
Definition at line 3554 of file ast_expr2.c.
References a, ast_log, b, FP___TYPE, free_value(), LOG_WARNING, make_number(), make_str(), strip_quotes(), and to_string().
Referenced by yyparse().
Definition at line 3393 of file ast_expr2.c.
References a, AST_EXPR_number, AST_EXPR_numeric_string, AST_EXPR_string, free_value(), and make_number().
Referenced by yyparse().
Definition at line 3223 of file ast_expr2.c.
References a, b, c, free_value(), isstring(), and to_number().
Referenced by yyparse().
Definition at line 3492 of file ast_expr2.c.
References a, ast_log, b, chk_div(), extra_error_message_supplied, free_value(), LOG_WARNING, make_number(), and to_number().
Referenced by yyparse().
Definition at line 3116 of file ast_expr2.c.
References a, ast_log, b, FP___TYPE, free_value(), isstring(), LOG_WARNING, make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3605 of file ast_expr2.c.
References a, ast_log, b, FP___TYPE, free_value(), LOG_WARNING, make_number(), make_str(), strip_quotes(), and to_string().
Referenced by yyparse().
|
static |
Definition at line 2798 of file ast_expr2.c.
References ast_custom_function_find(), ast_log, compose_func_args(), FP___TYPE, free(), FUNC_ACOS, FUNC_ASIN, FUNC_ATAN, FUNC_ATAN2, FUNC_CEIL, FUNC_COS, FUNC_EXP, FUNC_EXP10, FUNC_EXP2, FUNC_FLOOR, FUNC_LOG, FUNC_LOG10, FUNC_LOG2, FUNC_POW, FUNC_REMAINDER, FUNC_RINT, FUNC_ROUND, FUNC_SIN, FUNC_SQRT, FUNC_STRTOD, FUNC_TAN, FUNC_TRUNC, val::i, is_really_num(), LOG_ERROR, LOG_WARNING, make_number(), make_str(), NULL, ast_custom_function::read, result, expr_node::right, val::s, to_number(), val::u, and expr_node::val.
Referenced by yyparse().
Definition at line 3183 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), isstring(), make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3143 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), isstring(), make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3203 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), isstring(), make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3163 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), isstring(), make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3339 of file ast_expr2.c.
References a, ast_log, b, chk_minus(), extra_error_message_supplied, free_value(), val::i, LOG_WARNING, make_number(), to_number(), and val::u.
Referenced by yyparse().
Definition at line 3262 of file ast_expr2.c.
References a, b, FP___TYPE, free_value(), isstring(), make_number(), to_number(), and to_string().
Referenced by yyparse().
Definition at line 3373 of file ast_expr2.c.
References a, ast_log, chk_minus(), extra_error_message_supplied, free_value(), val::i, LOG_WARNING, make_number(), to_number(), and val::u.
Referenced by yyparse().
Definition at line 3091 of file ast_expr2.c.
References a, b, free_value(), and is_zero_or_null().
Referenced by yyparse().
Definition at line 3295 of file ast_expr2.c.
References a, ast_log, b, chk_plus(), extra_error_message_supplied, free_value(), val::i, LOG_WARNING, make_number(), to_number(), and val::u.
Referenced by yyparse().
Definition at line 3527 of file ast_expr2.c.
References a, ast_log, b, extra_error_message_supplied, free_value(), FUNC_FMOD, LOG_WARNING, make_number(), and to_number().
Referenced by yyparse().
Definition at line 3655 of file ast_expr2.c.
References a, ast_log, b, free(), free_value(), LOG_WARNING, make_str(), malloc(), NULL, strip_quotes(), and to_string().
Referenced by yyparse().
Definition at line 3459 of file ast_expr2.c.
References a, ast_log, b, chk_times(), extra_error_message_supplied, free_value(), val::i, LOG_WARNING, make_number(), to_number(), and val::u.
Referenced by yyparse().
|
static |
Definition at line 2607 of file ast_expr2.c.
References AST_EXPR_numeric_string, AST_EXPR_string, val::s, val::type, and val::u.
Referenced by op_colon(), op_eqtilde(), and op_tildetilde().
|
static |
Definition at line 2576 of file ast_expr2.c.
References AST_EXPR_number, AST_EXPR_string, ast_log, errno, FP___TYPE, free(), FUNC_STRTOD, val::i, LOG_WARNING, NULL, val::s, val::type, and val::u.
Referenced by is_zero_or_null(), op_cond(), op_div(), op_eq(), op_func(), op_ge(), op_gt(), op_le(), op_lt(), op_minus(), op_ne(), op_negate(), op_plus(), op_rem(), and op_times().
|
static |
Definition at line 2630 of file ast_expr2.c.
References asprintf(), AST_EXPR_numeric_string, AST_EXPR_string, ast_log, FP___PRINTF, val::i, LOG_WARNING, val::s, tmp(), val::type, and val::u.
Referenced by op_colon(), op_eq(), op_eqtilde(), op_ge(), op_gt(), op_le(), op_lt(), op_ne(), and op_tildetilde().
|
static |
Definition at line 1453 of file ast_expr2.c.
References free_value(), YYSTYPE::val, YY_SYMBOL_PRINT, and YYUSE.
Referenced by yyparse().
int yyparse | ( | void * | YYPARSE_PARAM | ) |
Definition at line 1712 of file ast_expr2.c.
References alloc_expr_node(), YYSTYPE::arglist, AST_EXPR_NODE_VAL, AST_EXPR_number, AST_EXPR_string, calloc, DESTROY, destroy_arglist(), free(), val::i, make_str(), op_and(), op_colon(), op_compl(), op_cond(), op_div(), op_eq(), op_eqtilde(), op_func(), op_ge(), op_gt(), op_le(), op_lt(), op_minus(), op_ne(), op_negate(), op_or(), op_plus(), op_rem(), op_tildetilde(), op_times(), expr_node::right, val::s, strdup, type, val::u, expr_node::val, YYSTYPE::val, YY_, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yychar, yycheck, yydefact, yydefgoto, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror, YYFINAL, YYID, YYINITDEPTH, YYLAST, YYLEX, yylloc, YYLLOC_DEFAULT, yyalloc::yyls_alloc, yylval, YYMAXDEPTH, yynerrs, YYNTOKENS, yypact, YYPACT_NINF, yypgoto, YYPOPSTACK, yyr1, yyr2, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_ALLOC_MAXIMUM, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yystos, yysyntax_error(), yytable, YYTABLE_NINF, YYTERROR, YYTRANSLATE, and yyalloc::yyvs_alloc.
|
static |
Definition at line 1268 of file ast_expr2.c.
Referenced by yysyntax_error(), and yytnamerr().
|
static |
Definition at line 1244 of file ast_expr2.c.
References YYSIZE_T.
Referenced by yysyntax_error(), and yytnamerr().
|
static |
Definition at line 1340 of file ast_expr2.c.
References YY_, yychar, yycheck, YYLAST, YYNTOKENS, yypact, YYPACT_NINF, YYSIZE_MAXIMUM, YYSIZE_T, yystpcpy(), yystrlen(), YYTERROR, yytname, yytnamerr(), and YYTRANSLATE.
Referenced by yyparse().
|
static |
Definition at line 1293 of file ast_expr2.c.
References YYSIZE_T, yystpcpy(), and yystrlen().
Referenced by yysyntax_error().
|
extern |
Definition at line 2458 of file ast_expr2f.c.
Referenced by ast_expr_clear_extra_error_info(), ast_expr_register_extra_error_info(), and ast_yyerror().
|
extern |
Definition at line 2459 of file ast_expr2f.c.
Referenced by ast_expr_clear_extra_error_info(), ast_expr_register_extra_error_info(), ast_yyerror(), op_div(), op_minus(), op_negate(), op_plus(), op_rem(), and op_times().
|
static |
Definition at line 921 of file ast_expr2.c.
Referenced by yyparse(), and yysyntax_error().
|
static |
Definition at line 861 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 872 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 880 of file ast_expr2.c.
Referenced by yyparse(), and yysyntax_error().
|
static |
Definition at line 891 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 843 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 851 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 943 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 901 of file ast_expr2.c.
Referenced by yyparse().
|
static |
Definition at line 821 of file ast_expr2.c.
Referenced by yysyntax_error().
|
static |
Definition at line 750 of file ast_expr2.c.