From ad499b111339a813cfcce4f717c38513f0e05ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Fri, 1 May 2015 21:52:27 +0200 Subject: parse_kconfig add debug outputs --- scripts/parse_kconfig/doutput.c | 64 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 scripts/parse_kconfig/doutput.c (limited to 'scripts/parse_kconfig/doutput.c') diff --git a/scripts/parse_kconfig/doutput.c b/scripts/parse_kconfig/doutput.c new file mode 100644 index 0000000..ac7927f --- /dev/null +++ b/scripts/parse_kconfig/doutput.c @@ -0,0 +1,64 @@ +#include "doutput.h" + +void doutput_expr(struct expr *expr) { +#ifdef DEBUG + if (verbose_level < 3) + return; + switch (expr->type) { + case E_OR: + printf(" OR\n"); + doutput_expr(expr->left.expr); + doutput_expr(expr->right.expr); + break; + case E_AND: + printf(" AND\n"); + doutput_expr(expr->left.expr); + doutput_expr(expr->right.expr); + break; + case E_NOT: + printf(" NOT\n"); + doutput_expr(expr->left.expr); + break; + case E_EQUAL: + printf(" = "); + printf("%s ", expr->left.sym->name); + if (!strcmp("y", expr->right.sym->name)) + printf("YES\n"); + else if (!strcmp("n", expr->right.sym->name)) + printf("NO\n"); + else if (!strcmp("m", expr->right.sym->name)) + printf("MODULE\n"); + else + printf("%s\n", expr->left.sym->name); + break; + case E_UNEQUAL: + printf(" != "); + printf("%s ", expr->left.sym->name); + if (!strcmp("y", expr->right.sym->name)) + printf("YES\n"); + else if (!strcmp("n", expr->right.sym->name)) + printf("NO\n"); + else + printf("OTHER %s\n", expr->right.sym->name); + break; + case E_LIST: + printf(" list\n"); + break; + case E_SYMBOL: + printf(" symbol"); + if (expr->left.sym->name != NULL) + printf(": %s", expr->left.sym->name); + printf("\n"); + break; + case E_RANGE: + printf(" range\n"); + break; + case E_NONE: + printf(" none\n"); + break; + default: + printf(" ERROR\n"); + break; + } +#endif /* DEBUG */ +} -- cgit v1.2.3