X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Ffilter%2Ffilter-parser.y;h=b43561fb327a491bf56e391d2a787acbda350492;hb=e032c6fd0419a73188f7143b18625b43a8d8f7c3;hp=e52f04eb3e6fa8fcc9bce0384f1e7d3442814737;hpb=edf4b93e2f5c849cbec49e987990b3705ea49f6a;p=lttng-tools.git diff --git a/src/common/filter/filter-parser.y b/src/common/filter/filter-parser.y index e52f04eb3..b43561fb3 100644 --- a/src/common/filter/filter-parser.y +++ b/src/common/filter/filter-parser.y @@ -15,11 +15,10 @@ #include #include #include -#include #include +#include "common/bytecode/bytecode.h" #include "filter-ast.h" #include "filter-parser.h" -#include "filter-bytecode.h" #include "memstream.h" #include @@ -44,20 +43,13 @@ do { \ } while (0) #endif -LTTNG_HIDDEN int yydebug; -LTTNG_HIDDEN int filter_parser_debug = 0; -LTTNG_HIDDEN int yyparse(struct filter_parser_ctx *parser_ctx, yyscan_t scanner); -LTTNG_HIDDEN int yylex(union YYSTYPE *yyval, yyscan_t scanner); -LTTNG_HIDDEN int yylex_init_extra(struct filter_parser_ctx *parser_ctx, yyscan_t * ptr_yy_globals); -LTTNG_HIDDEN int yylex_destroy(yyscan_t yyparser_ctx); -LTTNG_HIDDEN void yyrestart(FILE * in_str, yyscan_t parser_ctx); struct gc_string { @@ -74,7 +66,6 @@ static const char *node_type_to_str[] = { [ NODE_UNARY_OP ] = "NODE_UNARY_OP", }; -LTTNG_HIDDEN const char *node_type(struct filter_node *node) { if (node->type < NR_NODE_TYPES) @@ -139,7 +130,6 @@ struct gc_string *gc_string_append(struct filter_parser_ctx *parser_ctx, return gstr; } -LTTNG_HIDDEN void setstring(struct filter_parser_ctx *parser_ctx, YYSTYPE *lvalp, const char *src) { lvalp->gs = gc_string_alloc(parser_ctx, strlen(src) + 1); @@ -243,13 +233,11 @@ static void filter_ast_free(struct filter_ast *ast) free(ast); } -LTTNG_HIDDEN int filter_parser_ctx_append_ast(struct filter_parser_ctx *parser_ctx) { return yyparse(parser_ctx, parser_ctx->scanner); } -LTTNG_HIDDEN struct filter_parser_ctx *filter_parser_ctx_alloc(FILE *input) { struct filter_parser_ctx *parser_ctx; @@ -291,20 +279,23 @@ cleanup_parser_ctx: return NULL; } -LTTNG_HIDDEN void filter_parser_ctx_free(struct filter_parser_ctx *parser_ctx) { int ret; - free_strings(&parser_ctx->allocated_strings); - filter_ast_free(parser_ctx->ast); ret = yylex_destroy(parser_ctx->scanner); if (ret) fprintf(stderr, "yylex_destroy error\n"); + + filter_ast_free(parser_ctx->ast); + free_strings(&parser_ctx->allocated_strings); + filter_ir_free(parser_ctx); + free(parser_ctx->bytecode); + free(parser_ctx->bytecode_reloc); + free(parser_ctx); } -LTTNG_HIDDEN int filter_parser_ctx_create_from_filter_expression( const char *filter_expression, struct filter_parser_ctx **ctxp) { @@ -312,8 +303,8 @@ int filter_parser_ctx_create_from_filter_expression( struct filter_parser_ctx *ctx = NULL; FILE *fmem = NULL; - assert(filter_expression); - assert(ctxp); + LTTNG_ASSERT(filter_expression); + LTTNG_ASSERT(ctxp); /* * Casting const to non-const, as the underlying function will use it in @@ -427,7 +418,6 @@ error: { #include "common/macros.h" -LTTNG_HIDDEN void setstring(struct filter_parser_ctx *parser_ctx, YYSTYPE *lvalp, const char *src); }