Module Name: src Committed By: rillig Date: Mon Oct 25 21:33:24 UTC 2021
Modified Files: src/usr.bin/indent: indent.c lexi.c Log Message: indent: improve debug logging Output the various details in chronological order. To generate a diff of this commit: cvs rdiff -u -r1.158 -r1.159 src/usr.bin/indent/indent.c cvs rdiff -u -r1.100 -r1.101 src/usr.bin/indent/lexi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/indent/indent.c diff -u src/usr.bin/indent/indent.c:1.158 src/usr.bin/indent/indent.c:1.159 --- src/usr.bin/indent/indent.c:1.158 Mon Oct 25 19:56:03 2021 +++ src/usr.bin/indent/indent.c Mon Oct 25 21:33:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.c,v 1.158 2021/10/25 19:56:03 rillig Exp $ */ +/* $NetBSD: indent.c,v 1.159 2021/10/25 21:33:24 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -43,7 +43,7 @@ static char sccsid[] = "@(#)indent.c 5.1 #include <sys/cdefs.h> #if defined(__NetBSD__) -__RCSID("$NetBSD: indent.c,v 1.158 2021/10/25 19:56:03 rillig Exp $"); +__RCSID("$NetBSD: indent.c,v 1.159 2021/10/25 21:33:24 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $"); #endif @@ -1554,7 +1554,9 @@ debug_vis_range(const char *prefix, cons { debug_printf("%s", prefix); for (const char *p = s; p < e; p++) { - if (isprint((unsigned char)*p) && *p != '\\' && *p != '"') + if (*p == '\\' || *p == '"') + debug_printf("\\%c", *p); + else if (isprint((unsigned char)*p)) debug_printf("%c", *p); else if (*p == '\n') debug_printf("\\n"); Index: src/usr.bin/indent/lexi.c diff -u src/usr.bin/indent/lexi.c:1.100 src/usr.bin/indent/lexi.c:1.101 --- src/usr.bin/indent/lexi.c:1.100 Mon Oct 25 00:54:37 2021 +++ src/usr.bin/indent/lexi.c Mon Oct 25 21:33:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lexi.c,v 1.100 2021/10/25 00:54:37 rillig Exp $ */ +/* $NetBSD: lexi.c,v 1.101 2021/10/25 21:33:24 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -43,7 +43,7 @@ static char sccsid[] = "@(#)lexi.c 8.1 ( #include <sys/cdefs.h> #if defined(__NetBSD__) -__RCSID("$NetBSD: lexi.c,v 1.100 2021/10/25 00:54:37 rillig Exp $"); +__RCSID("$NetBSD: lexi.c,v 1.101 2021/10/25 21:33:24 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $"); #endif @@ -260,29 +260,61 @@ lsym_name(lexer_symbol sym) return name[sym]; } +static const char * +kw_name(enum keyword_kind kw) { + static const char *name[] = { + "0", + "offsetof", + "sizeof", + "struct_or_union_or_enum", + "type", + "for", + "if", + "while", + "do", + "else", + "switch", + "case_or_default", + "jump", + "storage_class", + "typedef", + "inline_or_restrict", + }; + + return name[kw]; +} + static void debug_print_buf(const char *name, const struct buffer *buf) { if (buf->s < buf->e) { - debug_printf(" %s ", name); - debug_vis_range("\"", buf->s, buf->e, "\""); + debug_printf("%s ", name); + debug_vis_range("\"", buf->s, buf->e, "\"\n"); } } -#endif -static lexer_symbol -lexi_end(lexer_symbol lsym) +static void +debug_lexi(lexer_symbol lsym) { -#ifdef debug - debug_printf("in line %d, lexi returns '%s'", - line_no, lsym_name(lsym)); - debug_print_buf("token", &token); + debug_printf("\n"); + debug_printf("line %d\n", line_no); debug_print_buf("label", &lab); debug_print_buf("code", &code); debug_print_buf("comment", &com); + debug_printf("lexi returns '%s'", lsym_name(lsym)); + if (ps.keyword != kw_0) + debug_printf(" keyword '%s'", kw_name(ps.keyword)); debug_printf("\n"); + debug_print_buf("token", &token); +} #endif +static lexer_symbol +lexi_end(lexer_symbol lsym) +{ +#ifdef debug + debug_lexi(lsym); +#endif return lsym; }