]> git.saurik.com Git - bison.git/commitdiff
grammar: do not add a \n at the end of blocks of code
authorAkim Demaille <akim@lrde.epita.fr>
Thu, 4 Apr 2013 15:21:55 +0000 (17:21 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Fri, 5 Apr 2013 08:42:59 +0000 (10:42 +0200)
Now that we use "braceless" (which is {...} blocks of code with
initial and final braces stripped) to denote "short" values (such as
api.namespaces), the added end-of-line is a nuisance.  As a matter of
fact, this extra-safety was useless, as every expansion of "braceless"
(aka, "user code") is followed by an end of line.

* src/parse-gram.y, src/parse-gram.c (braceless): Instead of replacing
the final brace by \n, just delete the brace.

src/parse-gram.c
src/parse-gram.y

index 8ff1d067181d5496f821c32cbbc37ef30ca12488..2cf9e86c815a0df084a556679b7c6547508bc36f 100644 (file)
@@ -2676,7 +2676,7 @@ yyreduce:
 #line 683 "src/parse-gram.y" /* yacc.c:1668  */
     {
       code_props plain_code;
 #line 683 "src/parse-gram.y" /* yacc.c:1668  */
     {
       code_props plain_code;
-      (yyvsp[0].code)[strlen ((yyvsp[0].code)) - 1] = '\n';
+      (yyvsp[0].code)[strlen ((yyvsp[0].code)) - 1] = '\0';
       code_props_plain_init (&plain_code, (yyvsp[0].code)+1, (yylsp[0]));
       code_props_translate_code (&plain_code);
       gram_scanner_last_string_free ();
       code_props_plain_init (&plain_code, (yyvsp[0].code)+1, (yylsp[0]));
       code_props_translate_code (&plain_code);
       gram_scanner_last_string_free ();
index b633859713b73e3590823448e00841479de883af..ebcd31b3a87f001b047a45e6410e5625a2f0f042 100644 (file)
@@ -682,7 +682,7 @@ braceless:
   "{...}"
     {
       code_props plain_code;
   "{...}"
     {
       code_props plain_code;
-      $1[strlen ($1) - 1] = '\n';
+      $1[strlen ($1) - 1] = '\0';
       code_props_plain_init (&plain_code, $1+1, @1);
       code_props_translate_code (&plain_code);
       gram_scanner_last_string_free ();
       code_props_plain_init (&plain_code, $1+1, @1);
       code_props_translate_code (&plain_code);
       gram_scanner_last_string_free ();