Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/xlint/lint1 lint: update debug logging of the parser...
details: https://anonhg.NetBSD.org/src/rev/7ea7f7c5e2e0
branches: trunk
changeset: 377401:7ea7f7c5e2e0
user: rillig <rillig%NetBSD.org@localhost>
date: Mon Jul 10 19:04:52 2023 +0000
description:
lint: update debug logging of the parser for Bison 3.8.2
Bison 3.8.2 no longer knows YYPRINT.
diffstat:
usr.bin/xlint/lint1/cgram.y | 56 ++++++++++++++++++++++++++++----------------
1 files changed, 35 insertions(+), 21 deletions(-)
diffs (108 lines):
diff -r cd57ca61708d -r 7ea7f7c5e2e0 usr.bin/xlint/lint1/cgram.y
--- a/usr.bin/xlint/lint1/cgram.y Mon Jul 10 19:00:33 2023 +0000
+++ b/usr.bin/xlint/lint1/cgram.y Mon Jul 10 19:04:52 2023 +0000
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: cgram.y,v 1.449 2023/07/10 19:00:33 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.450 2023/07/10 19:04:52 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: cgram.y,v 1.449 2023/07/10 19:00:33 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.450 2023/07/10 19:04:52 rillig Exp $");
#endif
#include <limits.h>
@@ -126,12 +126,9 @@ is_either(const char *s, const char *a,
return strcmp(s, a) == 0 || strcmp(s, b) == 0;
}
-#if YYDEBUG && (YYBYACC || YYBISON)
+#if YYDEBUG && YYBYACC
#define YYSTYPE_TOSTRING cgram_to_string
#endif
-#if YYDEBUG && YYBISON
-#define YYPRINT cgram_print
-#endif
%}
@@ -156,6 +153,37 @@ is_either(const char *s, const char *a,
bool y_in_system_header;
};
+/* for Bison:
+%printer {
+ if (is_integer($$->v_tspec))
+ fprintf(yyo, "%lld", (unsigned long long)$$->u.integer);
+ else
+ fprintf(yyo, "%Lg", $$->u.floating);
+} <y_val>
+%printer { fprintf(yyo, "'%s'", $$->sb_name); } <y_name>
+%printer { debug_sym("", $$, ""); } <y_sym>
+%printer { fprintf(yyo, "%s", op_name($$)); } <y_op>
+%printer { fprintf(yyo, "%s", scl_name($$)); } <y_scl>
+%printer { fprintf(yyo, "%s", tspec_name($$)); } <y_tspec>
+%printer { fprintf(yyo, "%s", tqual_name($$)); } <y_tqual>
+%printer { fprintf(yyo, "%s", type_name($$)); } <y_type>
+%printer {
+ fprintf(yyo, "%s '%s'", op_name($$->tn_op), type_name($$->tn_type));
+} <y_tnode>
+%printer { fprintf(yyo, "%zu to %zu", $$.lo, $$.hi); } <y_range>
+%printer { fprintf(yyo, "length %zu", $$->st_len); } <y_string>
+%printer {
+ fprintf(yyo, "%s%s%s",
+ $$->p_const ? "const " : "",
+ $$->p_volatile ? "volatile " : "",
+ $$->p_pointer ? "*" : "");
+} <y_qual_ptr>
+%printer { fprintf(yyo, "%s", $$ ? "yes" : "no"); } <y_seen_statement>
+%printer { fprintf(yyo, "%s", type_name($$->ga_arg)); } <y_generic>
+%printer { fprintf(yyo, "%d", $$.dim); } <y_array_size>
+%printer { fprintf(yyo, "%s", $$ ? "yes" : "no"); } <y_in_system_header>
+*/
+
%token T_LBRACE T_RBRACE T_LBRACK T_RBRACK T_LPAREN T_RPAREN
%token T_POINT T_ARROW
%token T_COMPLEMENT T_LOGNOT
@@ -390,12 +418,6 @@ is_either(const char *s, const char *a,
/* No type for gcc_attribute_parameters. */
%type <y_in_system_header> sys
-%{
-#if YYDEBUG && YYBISON
-static inline void cgram_print(FILE *, int, YYSTYPE);
-#endif
-%}
-
%%
program:
@@ -2188,7 +2210,7 @@ yyerror(const char *msg)
return 0;
}
-#if YYDEBUG && (YYBYACC || YYBISON)
+#if YYDEBUG && YYBYACC
static const char *
cgram_to_string(int token, YYSTYPE val)
{
@@ -2217,14 +2239,6 @@ cgram_to_string(int token, YYSTYPE val)
}
#endif
-#if YYDEBUG && YYBISON
-static inline void
-cgram_print(FILE *output, int token, YYSTYPE val)
-{
- (void)fprintf(output, "%s", cgram_to_string(token, val));
-}
-#endif
-
static void
cgram_declare(sym_t *decl, bool has_initializer, sbuf_t *renaming)
{
Home |
Main Index |
Thread Index |
Old Index