bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/9] style: prefer 'FOO ()' to 'FOO' for function-like macros


From: Akim Demaille
Subject: [PATCH 1/9] style: prefer 'FOO ()' to 'FOO' for function-like macros
Date: Sat, 13 Jun 2020 17:23:09 +0200

* src/flex-scanner.h (STRING_GROW, STRING_FINISH, STRING_FREE):
Make them function-like macros.
Adjust dependencies.
---
 src/flex-scanner.h | 14 +++++-----
 src/scan-code.l    | 26 +++++++++----------
 src/scan-gram.l    | 64 +++++++++++++++++++++++-----------------------
 src/scan-skel.l    |  2 +-
 tests/input.at     |  4 +--
 5 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/src/flex-scanner.h b/src/flex-scanner.h
index 6f686174..f0f3ae17 100644
--- a/src/flex-scanner.h
+++ b/src/flex-scanner.h
@@ -94,22 +94,22 @@ int   FLEX_PREFIX (lex_destroy) (void);
    keep (to construct ID, STRINGS etc.).  Use the following macros to
    use it.
 
-   Use STRING_GROW to append what has just been matched, and
-   STRING_FINISH to end the string (it puts the ending 0).
-   STRING_FINISH also stores this string in LAST_STRING, which can be
-   used, and which is used by STRING_FREE to free the last string.  */
+   Use STRING_GROW () to append what has just been matched, and
+   STRING_FINISH () to end the string (it puts the ending 0).
+   STRING_FINISH () also stores this string in LAST_STRING, which can be
+   used, and which is used by STRING_FREE () to free the last string.  */
 
 #ifndef FLEX_NO_OBSTACK
 
 static struct obstack obstack_for_string;
 
-# define STRING_GROW                                    \
+# define STRING_GROW()                                  \
   obstack_grow (&obstack_for_string, yytext, yyleng)
 
-# define STRING_FINISH                                  \
+# define STRING_FINISH()                                \
   (last_string = obstack_finish0 (&obstack_for_string))
 
-# define STRING_FREE                                    \
+# define STRING_FREE()                                  \
   obstack_free (&obstack_for_string, last_string)
 
 #endif
diff --git a/src/scan-code.l b/src/scan-code.l
index 1aaecd4e..86f87749 100644
--- a/src/scan-code.l
+++ b/src/scan-code.l
@@ -112,7 +112,7 @@ ref      -?[0-9]+|{id}|"["{id}"]"|"$"
 
 <SC_COMMENT>
 {
-  "*"{splice}"/"  STRING_GROW; BEGIN sc_context;
+  "*"{splice}"/"  STRING_GROW (); BEGIN sc_context;
 }
 
 
@@ -122,8 +122,8 @@ ref      -?[0-9]+|{id}|"["{id}"]"|"$"
 
 <SC_LINE_COMMENT>
 {
-  "\n"           STRING_GROW; BEGIN sc_context;
-  {splice}       STRING_GROW;
+  "\n"           STRING_GROW (); BEGIN sc_context;
+  {splice}       STRING_GROW ();
 }
 
 
@@ -133,26 +133,26 @@ ref      -?[0-9]+|{id}|"["{id}"]"|"$"
 
 <SC_CHARACTER,SC_STRING>
 {
-  {splice}|\\{splice}.  STRING_GROW;
+  {splice}|\\{splice}.  STRING_GROW ();
 }
 
 <SC_CHARACTER>
 {
-  "'"           STRING_GROW; BEGIN sc_context;
+  "'"           STRING_GROW (); BEGIN sc_context;
 }
 
 <SC_STRING>
 {
-  "\""          STRING_GROW; BEGIN sc_context;
+  "\""          STRING_GROW (); BEGIN sc_context;
 }
 
 
 <SC_RULE_ACTION,SC_SYMBOL_ACTION>
 {
-  "'"              STRING_GROW; BEGIN SC_CHARACTER;
-  "\""             STRING_GROW; BEGIN SC_STRING;
-  "/"{splice}"*"   STRING_GROW; BEGIN SC_COMMENT;
-  "/"{splice}"/"   STRING_GROW; BEGIN SC_LINE_COMMENT;
+  "'"              STRING_GROW (); BEGIN SC_CHARACTER;
+  "\""             STRING_GROW (); BEGIN SC_STRING;
+  "/"{splice}"*"   STRING_GROW (); BEGIN SC_COMMENT;
+  "/"{splice}"/"   STRING_GROW (); BEGIN SC_LINE_COMMENT;
 
   [$@]  {
     complain (loc, Wother, _("stray '%s'"), yytext);
@@ -199,10 +199,10 @@ ref      -?[0-9]+|{id}|"["{id}"]"|"$"
   [$@\[\]]    obstack_escape (&obstack_for_string, yytext);
 
   /* By default, grow the string obstack with the input.  */
-  .|\n        STRING_GROW;
+  .|\n        STRING_GROW ();
 
  /* End of processing. */
-  <<EOF>>     STRING_FINISH; return last_string;
+  <<EOF>>     STRING_FINISH (); return last_string;
 }
 
 %%
@@ -835,7 +835,7 @@ code_props_translate_code (code_props *self)
 void
 code_scanner_last_string_free (void)
 {
-  STRING_FREE;
+  STRING_FREE ();
 }
 
 void
diff --git a/src/scan-gram.l b/src/scan-gram.l
index e3d96f24..1bbcfd7d 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -115,7 +115,7 @@ static int bracketed_id_context_state = 0;
 void
 gram_scanner_last_string_free (void)
 {
-  STRING_FREE;
+  STRING_FREE ();
 }
 
 static void handle_syncline (char *, location);
@@ -344,7 +344,7 @@ eqopt    ({sp}=)?
 
   /* Code in between braces.  */
   "{" {
-    STRING_GROW;
+    STRING_GROW ();
     nesting = 0;
     code_start = loc->start;
     BEGIN SC_BRACED_CODE;
@@ -403,7 +403,7 @@ eqopt    ({sp}=)?
 {
   \0         {
     complain (loc, complaint, _("invalid null character"));
-    STRING_FREE;
+    STRING_FREE ();
     return GRAM_error;
   }
 }
@@ -533,7 +533,7 @@ eqopt    ({sp}=)?
 
 <SC_COMMENT>
 {
-  "*"{splice}"/"  STRING_GROW; BEGIN context_state;
+  "*"{splice}"/"  STRING_GROW (); BEGIN context_state;
   <<EOF>>         unexpected_eof (token_start, "*/"); BEGIN context_state;
 }
 
@@ -544,8 +544,8 @@ eqopt    ({sp}=)?
 
 <SC_LINE_COMMENT>
 {
-  {eol}          STRING_GROW; BEGIN context_state;
-  {splice}       STRING_GROW;
+  {eol}          STRING_GROW (); BEGIN context_state;
+  {splice}       STRING_GROW ();
   <<EOF>>        BEGIN context_state;
 }
 
@@ -558,7 +558,7 @@ eqopt    ({sp}=)?
 <SC_ESCAPED_STRING>
 {
   "\"" {
-    STRING_FINISH;
+    STRING_FINISH ();
     BEGIN INITIAL;
     loc->start = token_start;
     complain (loc, Wyacc,
@@ -572,7 +572,7 @@ eqopt    ({sp}=)?
 <SC_ESCAPED_TSTRING>
 {
   "\")" {
-    STRING_FINISH;
+    STRING_FINISH ();
     BEGIN INITIAL;
     loc->start = token_start;
     complain (loc, Wyacc,
@@ -591,7 +591,7 @@ eqopt    ({sp}=)?
 <SC_ESCAPED_CHARACTER>
 {
   "'" {
-    STRING_FINISH;
+    STRING_FINISH ();
     BEGIN INITIAL;
     loc->start = token_start;
     val->CHAR = last_string[0];
@@ -599,18 +599,18 @@ eqopt    ({sp}=)?
     if (last_string[0] == '\0')
       {
         complain (loc, complaint, _("empty character literal"));
-        STRING_FREE;
+        STRING_FREE ();
         return GRAM_error;
       }
     else if (last_string[1] != '\0')
       {
         complain (loc, complaint, _("extra characters in character literal"));
-        STRING_FREE;
+        STRING_FREE ();
         return GRAM_error;
       }
     else
       {
-        STRING_FREE;
+        STRING_FREE ();
         return CHAR;
       }
   }
@@ -630,18 +630,18 @@ eqopt    ({sp}=)?
     --nesting;
     if (nesting < 0)
       {
-        STRING_FINISH;
+        STRING_FINISH ();
         loc->start = token_start;
         val->TAG = uniqstr_new (last_string);
-        STRING_FREE;
+        STRING_FREE ();
         BEGIN INITIAL;
         return TAG;
       }
-    STRING_GROW;
+    STRING_GROW ();
   }
 
-  ([^<>]|->)+ STRING_GROW;
-  "<"+   STRING_GROW; nesting += yyleng;
+  ([^<>]|->)+ STRING_GROW ();
+  "<"+   STRING_GROW (); nesting += yyleng;
 
   <<EOF>>   unexpected_eof (token_start, ">");
 }
@@ -696,19 +696,19 @@ eqopt    ({sp}=)?
 
 <SC_CHARACTER,SC_STRING>
 {
-  {splice}|\\{splice}[^\n\[\]]  STRING_GROW;
+  {splice}|\\{splice}[^\n\[\]]  STRING_GROW ();
 }
 
 <SC_CHARACTER>
 {
-  "'"           STRING_GROW; BEGIN context_state;
+  "'"           STRING_GROW (); BEGIN context_state;
   {eol}         unexpected_newline (token_start, "'");
   <<EOF>>       unexpected_eof (token_start, "'");
 }
 
 <SC_STRING>
 {
-  "\""          STRING_GROW; BEGIN context_state;
+  "\""          STRING_GROW (); BEGIN context_state;
   {eol}         unexpected_newline (token_start, "\"");
   <<EOF>>       unexpected_eof (token_start, "\"");
 }
@@ -721,25 +721,25 @@ eqopt    ({sp}=)?
 <SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE,SC_PREDICATE>
 {
   "'" {
-    STRING_GROW;
+    STRING_GROW ();
     context_state = YY_START;
     token_start = loc->start;
     BEGIN SC_CHARACTER;
   }
   "\"" {
-    STRING_GROW;
+    STRING_GROW ();
     context_state = YY_START;
     token_start = loc->start;
     BEGIN SC_STRING;
   }
   "/"{splice}"*" {
-    STRING_GROW;
+    STRING_GROW ();
     context_state = YY_START;
     token_start = loc->start;
     BEGIN SC_COMMENT;
   }
   "/"{splice}"/" {
-    STRING_GROW;
+    STRING_GROW ();
     context_state = YY_START;
     BEGIN SC_LINE_COMMENT;
   }
@@ -754,12 +754,12 @@ eqopt    ({sp}=)?
 
 <SC_BRACED_CODE,SC_PREDICATE>
 {
-  "{"|"<"{splice}"%"  STRING_GROW; nesting++;
-  "%"{splice}">"      STRING_GROW; nesting--;
+  "{"|"<"{splice}"%"  STRING_GROW (); nesting++;
+  "%"{splice}">"      STRING_GROW (); nesting--;
 
   /* Tokenize '<<%' correctly (as '<<' '%') rather than incorrectly
      (as '<' '<%').  */
-  "<"{splice}"<"  STRING_GROW;
+  "<"{splice}"<"  STRING_GROW ();
 
   <<EOF>>   unexpected_eof (code_start, "}");
 }
@@ -772,7 +772,7 @@ eqopt    ({sp}=)?
     --nesting;
     if (nesting < 0)
       {
-        STRING_FINISH;
+        STRING_FINISH ();
         loc->start = code_start;
         BEGIN INITIAL;
         RETURN_VALUE (BRACED_CODE, last_string);
@@ -786,7 +786,7 @@ eqopt    ({sp}=)?
     --nesting;
     if (nesting < 0)
       {
-        STRING_FINISH;
+        STRING_FINISH ();
         loc->start = code_start;
         BEGIN INITIAL;
         RETURN_VALUE (BRACED_PREDICATE, last_string);
@@ -803,7 +803,7 @@ eqopt    ({sp}=)?
 <SC_PROLOGUE>
 {
   "%}" {
-    STRING_FINISH;
+    STRING_FINISH ();
     loc->start = code_start;
     BEGIN INITIAL;
     RETURN_VALUE (PROLOGUE, last_string);
@@ -821,7 +821,7 @@ eqopt    ({sp}=)?
 <SC_EPILOGUE>
 {
   <<EOF>> {
-    STRING_FINISH;
+    STRING_FINISH ();
     loc->start = code_start;
     BEGIN INITIAL;
     RETURN_VALUE (EPILOGUE, last_string);
@@ -841,7 +841,7 @@ eqopt    ({sp}=)?
 
      Add a fallthrough "|." so that non UTF-8 input is still accepted
      and does not jam the scanner.  */
-  {mbchar}|.   STRING_GROW;
+  {mbchar}|.   STRING_GROW ();
 }
 
 %%
diff --git a/src/scan-skel.l b/src/scan-skel.l
index d7e334d5..a5771639 100644
--- a/src/scan-skel.l
+++ b/src/scan-skel.l
@@ -100,7 +100,7 @@ static void output_mapped_file (char const *name);
 
 <SC_AT_DIRECTIVE_ARGS>
 {
-  [^@]+  STRING_GROW;
+  [^@]+  STRING_GROW ();
 
   "@@"   obstack_1grow (&obstack_for_string, '@');
   "@{"   obstack_1grow (&obstack_for_string, '[');
diff --git a/tests/input.at b/tests/input.at
index 1dda9841..d152de31 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -1690,8 +1690,8 @@ AT_CLEANUP
 
 AT_SETUP([Unclosed constructs])
 
-# Bison's scan-gram.l once forgot to STRING_FINISH some unclosed
-# constructs, so they were prepended to whatever it STRING_GROW'ed
+# Bison's scan-gram.l once forgot to STRING_FINISH () some unclosed
+# constructs, so they were prepended to whatever it STRING_GROW ()'ed
 # next.  It also threw them away rather than returning them to the
 # parser.  The effect was confusing subsequent error messages.
 
-- 
2.27.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]