From a398348262109d4272d93b787014e9c901d99b67 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 6 May 2011 08:25:48 -0400 Subject: [PATCH] only enable printf_debug in lexer and parser in babeltrace debug Signed-off-by: Mathieu Desnoyers --- formats/ctf/metadata/ctf-lexer.l | 5 ++--- formats/ctf/metadata/ctf-parser-test.c | 4 ++-- formats/ctf/metadata/ctf-parser.y | 17 ++++++++++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/formats/ctf/metadata/ctf-lexer.l b/formats/ctf/metadata/ctf-lexer.l index 3e53febd..ff4f8a51 100644 --- a/formats/ctf/metadata/ctf-lexer.l +++ b/formats/ctf/metadata/ctf-lexer.l @@ -18,6 +18,7 @@ */ #include +#include #include "ctf-scanner.h" #include "ctf-parser.h" #include "ctf-ast.h" @@ -29,8 +30,6 @@ static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) __attribute__((unused)); static int input (yyscan_t yyscanner) __attribute__((unused)); -#define printf_dbg(fmt, args...) fprintf(stderr, "%s: " fmt, __func__, ##args) - %} %x comment_ml comment_sl string_lit char_const @@ -121,7 +120,7 @@ _Imaginary setstring(yyextra, yylval, yytext); return _IMAGINARY; [1-9]{DIGIT}*{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return DECIMAL_CONSTANT; 0{OCTALDIGIT}*{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return OCTAL_CONSTANT; 0[xX]{HEXDIGIT}+{INTEGER_SUFFIX}? setstring(yyextra, yylval, yytext); return HEXADECIMAL_CONSTANT; -{IDENTIFIER} printf_dbg("\n", yytext); setstring(yyextra, yylval, yytext); if (is_type(yyextra, yytext)) return ID_TYPE; else return IDENTIFIER; +{IDENTIFIER} printf_debug("\n", yytext); setstring(yyextra, yylval, yytext); if (is_type(yyextra, yytext)) return ID_TYPE; else return IDENTIFIER; [ \t\n]+ ; /* ignore */ . return ERROR; %% diff --git a/formats/ctf/metadata/ctf-parser-test.c b/formats/ctf/metadata/ctf-parser-test.c index b99817e0..fdde409e 100644 --- a/formats/ctf/metadata/ctf-parser-test.c +++ b/formats/ctf/metadata/ctf-parser-test.c @@ -26,7 +26,7 @@ #include "ctf-parser.h" #include "ctf-ast.h" -extern int yydebug; +int babeltrace_verbose, babeltrace_debug; int main(int argc, char **argv) { @@ -34,7 +34,7 @@ int main(int argc, char **argv) struct ctf_trace *trace; int ret = 0; - yydebug = 1; + babeltrace_debug = 1; scanner = ctf_scanner_alloc(stdin); if (!scanner) { fprintf(stdout, "Error allocating scanner\n"); diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index 69fed13a..8fc83dfa 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -26,10 +26,13 @@ #include #include #include +#include #include "ctf-scanner.h" #include "ctf-parser.h" #include "ctf-ast.h" +int yydebug; + /* * TODO: support enum, variant and struct declarations in scopes. */ @@ -47,8 +50,6 @@ _cds_list_splice_tail (struct cds_list_head *add, struct cds_list_head *head) } } -#define printf_dbg(fmt, args...) fprintf(stderr, "%s: " fmt, __func__, ## args) - int yyparse(struct ctf_scanner *scanner); int yylex(union YYSTYPE *yyval, struct ctf_scanner *scanner); int yylex_init_extra(struct ctf_scanner *scanner, yyscan_t * ptr_yy_globals); @@ -171,7 +172,7 @@ static void push_scope(struct ctf_scanner *scanner) { struct ctf_scanner_scope *ns; - printf_dbg("push scope\n"); + printf_debug("push scope\n"); ns = malloc(sizeof(struct ctf_scanner_scope)); init_scope(ns, scanner->cs); scanner->cs = ns; @@ -181,7 +182,7 @@ static void pop_scope(struct ctf_scanner *scanner) { struct ctf_scanner_scope *os; - printf_dbg("pop scope\n"); + printf_debug("pop scope\n"); os = scanner->cs; scanner->cs = os->parent; finalize_scope(os); @@ -193,7 +194,7 @@ static int lookup_type(struct ctf_scanner_scope *s, const char *id) int ret; ret = (int) (long) g_hash_table_lookup(s->types, id); - printf_dbg("lookup %p %s %d\n", s, id, ret); + printf_debug("lookup %p %s %d\n", s, id, ret); return ret; } @@ -208,13 +209,13 @@ int is_type(struct ctf_scanner *scanner, const char *id) break; } } - printf_dbg("is type %s %d\n", id, ret); + printf_debug("is type %s %d\n", id, ret); return ret; } static void add_type(struct ctf_scanner *scanner, struct gc_string *id) { - printf_dbg("add type %s\n", id->s); + printf_debug("add type %s\n", id->s); if (lookup_type(scanner->cs, id->s)) return; g_hash_table_insert(scanner->cs->types, id->s, id->s); @@ -790,6 +791,8 @@ struct ctf_scanner *ctf_scanner_alloc(FILE *input) struct ctf_scanner *scanner; int ret; + yydebug = babeltrace_debug; + scanner = malloc(sizeof(*scanner)); if (!scanner) return NULL; -- 2.34.1