[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
all: avoid useless comments and #lines
From: |
Akim Demaille |
Subject: |
all: avoid useless comments and #lines |
Date: |
Sun, 21 Oct 2018 10:00:52 +0200 |
I was looking for a place where to issue a warning about
Bison’s private macros, and noticed too many confusing
comments and useless #lines.
commit 81a9580622fc69375f8062f66a7ee0d0ef525397
Author: Akim Demaille <address@hidden>
Date: Sun Oct 21 09:40:16 2018 +0200
all: avoid useless comments and #lines
Currently we emit useless code for places where we might issue user
content, but there is none. This commit avoids this. Besides, some
of the comments looked like implementation details ("Copy the first
part of user declarations"), rather than made for the reader of the
result ("First part of user prologue").
On Bison's parse-gram.c we get:
@@ -76,10 +76,6 @@
#define yynerrs gram_nerrs
-/* Copy the first part of user declarations. */
-
-#line 82 "src/parse-gram.c" /* yacc.c:339 */
-
* data/bison.m4 (b4_define_user_code): Accept a comment to document
the section.
Do not emit any code if the content is empty.
Adjust callers to not emit the comment.
Do not
* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, data/yacc.c:
Adjust.
diff --git a/data/bison.m4 b/data/bison.m4
index cb777d07..f727a04d 100644
--- a/data/bison.m4
+++ b/data/bison.m4
@@ -613,13 +613,15 @@ m4_define([b4_user_code],
b4_syncline(address@hidden@], address@hidden@])])
-# b4_define_user_code(MACRO)
-# --------------------------
-# From b4_MACRO, build b4_user_MACRO that includes the synclines.
+# b4_define_user_code(MACRO, COMMENT)
+# -----------------------------------
+# From b4_MACRO, if defined, build b4_user_MACRO that includes the synclines.
m4_define([b4_define_user_code],
[m4_define([b4_user_$1],
-[b4_user_code([b4_$1])])])
-
+ [m4_ifdef([b4_$1],
+ [m4_ifval([$2],
+ [b4_comment([$2])
+])b4_user_code([b4_$1])])])])
# b4_user_actions
# b4_user_initial_action
@@ -629,9 +631,9 @@ m4_define([b4_define_user_code],
# ----------------------
# Macros that issue user code, ending with synclines.
b4_define_user_code([actions])
-b4_define_user_code([initial_action])
-b4_define_user_code([post_prologue])
-b4_define_user_code([pre_prologue])
+b4_define_user_code([initial_action], [User initialization code.])
+b4_define_user_code([post_prologue], [Second part of user prologue.])
+b4_define_user_code([pre_prologue], [First part of user prologue.])
b4_define_user_code([union_members])
@@ -1056,8 +1058,6 @@ b4_check_user_names_wrap([[code]], [[qualifier]])
## ---------------- ##
# m4_define_default([b4_lex_param], []) dnl breaks other skeletons
-m4_define_default([b4_pre_prologue], [])
-m4_define_default([b4_post_prologue], [])
m4_define_default([b4_epilogue], [])
m4_define_default([b4_parse_param], [])
diff --git a/data/glr.c b/data/glr.c
index 8247af5b..6da6d45f 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -236,7 +236,6 @@ b4_copyright([Skeleton implementation for Bison GLR parsers
in C],
#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
#define yylloc ]b4_prefix[lloc]])]))[
-/* First part of user declarations. */
]b4_user_pre_prologue[
]b4_null_define[
@@ -259,9 +258,8 @@ b4_copyright([Skeleton implementation for Bison GLR parsers
in C],
static YYSTYPE yyval_default;]b4_locations_if([[
static YYLTYPE yyloc_default][]b4_yyloc_default;])[
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
+]b4_user_post_prologue[
+]b4_percent_code_get[]dnl
[#include <stdio.h>
#include <stdlib.h>
@@ -820,7 +818,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen,
yyGLRStackItem* yyvsp,
]])[
switch (yyn)
{
- ]b4_user_actions[
+]b4_user_actions[
default: break;
}
@@ -2266,7 +2264,6 @@ yyrecoverSyntaxError (yyGLRStack*
yystackp]b4_user_formals[)
yylloc = yyloc_default;])[
]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
b4_user_initial_action
b4_dollar_popdef])[]dnl
[
diff --git a/data/glr.cc b/data/glr.cc
index f6632c9b..b6139da7 100644
--- a/data/glr.cc
+++ b/data/glr.cc
@@ -44,7 +44,7 @@
# filename member).
# We require a pure interface.
-m4_define([b4_pure_flag], [1])
+m4_define([b4_pure_flag], [1])
m4_include(b4_pkgdatadir/[c++.m4])
b4_bison_locations_if([m4_include(b4_pkgdatadir/[location.cc])])
diff --git a/data/lalr1.cc b/data/lalr1.cc
index 6633cbd2..6b6d1584 100644
--- a/data/lalr1.cc
+++ b/data/lalr1.cc
@@ -418,13 +418,11 @@ m4_if(b4_prefix, [yy], [],
// Take the name prefix into account.
[#]define yylex b4_prefix[]lex])[
-// First part of user declarations.
]b4_user_pre_prologue[
]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
[b4_shared_declarations([cc])])[
-// User implementation prologue.
]b4_user_post_prologue[
]b4_percent_code_get[
@@ -768,7 +766,6 @@ m4_if(b4_prefix, [yy], [],
]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
- // User initialization code.
b4_user_initial_action
b4_dollar_popdef])[]dnl
diff --git a/data/lalr1.java b/data/lalr1.java
index 86798dc0..d270850b 100644
--- a/data/lalr1.java
+++ b/data/lalr1.java
@@ -87,10 +87,10 @@ b4_copyright([Skeleton implementation for Bison LALR(1)
parsers in Java],
[2007-2015, 2018])
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
-])[/* First part of user declarations. */
-]b4_user_pre_prologue
-b4_user_post_prologue
-b4_percent_code_get([[imports]])
+])[
+]b4_user_pre_prologue[
+]b4_user_post_prologue[
+]b4_percent_code_get([[imports]])
[/**
* A Bison parser, automatically generated from
<tt>]m4_bpatsubst(b4_file_name, [^"\(.*\)"$], [\1])[</tt>.
*
@@ -586,7 +586,6 @@ b4_define_state])[
yystack.push (yystate, yylval ]b4_locations_if([, yylloc])[);
]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
b4_user_initial_action
b4_dollar_popdef[]dnl
])[
@@ -597,7 +596,6 @@ b4_dollar_popdef[]dnl
push_parse_initialize ();
]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
b4_user_initial_action
b4_dollar_popdef[]dnl
])[
diff --git a/data/yacc.c b/data/yacc.c
index 34d719b0..880379ba 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -335,9 +335,7 @@ m4_if(b4_api_prefix, [yy], [],
#define yychar ]b4_prefix[char]b4_locations_if([[
#define yylloc ]b4_prefix[lloc]])]))[
-/* Copy the first part of user declarations. */
]b4_user_pre_prologue[
-
]b4_null_define[
/* Enabling verbose error messages. */
@@ -354,9 +352,8 @@ m4_if(b4_api_prefix, [yy], [],
]])dnl
b4_shared_declarations[
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
+]b4_user_post_prologue[
+]b4_percent_code_get[]dnl
[#ifdef short
# undef short
@@ -1433,7 +1430,6 @@ b4_function_define([[yyparse]], [[int]], b4_parse_param)[
]m4_ifdef([b4_initial_action], [
b4_dollar_pushdef([m4_define([b4_dollar_dollar_used])yylval], [],
[b4_push_if([b4_pure_if([*])yypushed_loc], [yylloc])])dnl
-/* User initialization code. */
b4_user_initial_action
b4_dollar_popdef[]dnl
m4_ifdef([b4_dollar_dollar_used],[[ yyvsp[0] = yylval;
@@ -1653,7 +1649,7 @@ yyreduce:
int yychar_backup = yychar;
switch (yyn)
{
- ]b4_user_actions[
+]b4_user_actions[
default: break;
}
if (yychar_backup != yychar)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- all: avoid useless comments and #lines,
Akim Demaille <=