]> git.saurik.com Git - bison.git/commitdiff
%define lr.type: make values lowercase IDs.
authorJoel E. Denny <jdenny@clemson.edu>
Fri, 28 Aug 2009 04:57:06 +0000 (00:57 -0400)
committerJoel E. Denny <jdenny@clemson.edu>
Fri, 28 Aug 2009 11:35:23 +0000 (07:35 -0400)
That is, "LALR" => "lalr", "IELR" => "ielr", and
"canonical LR" => "canonical-lr".
* NEWS (2.5): Update documentation.
* doc/bison.texinfo (Decl Summary): Likewise.
* src/ielr.c (ielr): Use new values.
* src/ielr.h (ielr): Update documentation.
* src/reader.c (prepare_percent_define_front_end_variables): Use
and validate new values.
* tests/existing.at (AT_TEST_EXISTING_GRAMMAR): Update test
grammars.
* tests/reduce.at (AT_TEST_LR_TYPE): Likewise.
(cherry picked from commit 6ba9640406758718fdcfb7a1154e58ce4d9b196c)

ChangeLog
NEWS
doc/bison.texinfo
src/ielr.c
src/ielr.h
src/parse-gram.c
src/parse-gram.h
src/reader.c
tests/existing.at
tests/reduce.at

index 9a7c0d2ca74e6f0ce63b2090d27b0d63a430ec89..360854c17ed016977aa4cb817f9acfd84f94d11d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-08-28  Joel E. Denny  <jdenny@clemson.edu>
+
+       %define lr.type: make values lowercase IDs.
+       That is, "LALR" => "lalr", "IELR" => "ielr", and
+       "canonical LR" => "canonical-lr".
+       * NEWS (2.5): Update documentation.
+       * doc/bison.texinfo (Decl Summary): Likewise.
+       * src/ielr.c (ielr): Use new values.
+       * src/ielr.h (ielr): Update documentation.
+       * src/reader.c (prepare_percent_define_front_end_variables): Use
+       and validate new values.
+       * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): Update test
+       grammars.
+       * tests/reduce.at (AT_TEST_LR_TYPE): Likewise.
+
 2009-08-27  Eric Blake  <ebb9@byu.net>
 
        scan-gram: avoid portability trap with ctype usage.
diff --git a/NEWS b/NEWS
index 57db6c2de0f14320a5abddcd7eb131d02e81a9d3..3dab543cf77fc4dbc05bea9f2df44462bfb08942 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,9 +20,9 @@ Bison News
   default.  You can specify the type of parser tables in the grammar
   file with these directives:
 
-    %define lr.type "LALR"
-    %define lr.type "IELR"
-    %define lr.type "canonical LR"
+    %define lr.type "lalr"
+    %define lr.type "ielr"
+    %define lr.type "canonical-lr"
 
   The default reduction optimization in the parser tables can also be
   adjusted using `%define lr.default-reductions'.  See the documentation
index a4474df7da3eb68c66e6d418d8ab180f99795a49..8ed32e0cc764f1e86e2717d1da2bc88929aeb71e 100644 (file)
@@ -4956,7 +4956,7 @@ without performing any extra reductions.
 
 @item Default Value:
 @itemize
-@item @code{"accepting"} if @code{lr.type} is @code{"canonical LR"}.
+@item @code{"accepting"} if @code{lr.type} is @code{"canonical-lr"}.
 @item @code{"all"} otherwise.
 @end itemize
 @end itemize
@@ -5020,7 +5020,7 @@ More user feedback will help to stabilize it.)
 
 @item Accepted Values:
 @itemize
-@item @code{"LALR"}.
+@item @code{"lalr"}.
 While Bison generates @acronym{LALR} parser tables by default for
 historical reasons, @acronym{IELR} or canonical @acronym{LR} is almost
 always preferable for deterministic parsers.
@@ -5049,7 +5049,7 @@ investigate such problems while ignoring the more subtle differences
 from @acronym{IELR} and canonical @acronym{LR}.
 @end itemize
 
-@item @code{"IELR"}.
+@item @code{"ielr"}.
 @acronym{IELR} is a minimal @acronym{LR} algorithm.
 That is, given any grammar (@acronym{LR} or non-@acronym{LR}),
 @acronym{IELR} and canonical @acronym{LR} always accept exactly the same
@@ -5063,7 +5063,7 @@ grammars, the number of conflicts for @acronym{IELR} is often an order
 of magnitude less as well.
 This can significantly reduce the complexity of developing of a grammar.
 
-@item @code{"canonical LR"}.
+@item @code{"canonical-lr"}.
 @cindex delayed syntax errors
 @cindex syntax errors delayed
 The only advantage of canonical @acronym{LR} over @acronym{IELR} is
@@ -5079,7 +5079,7 @@ Even when canonical @acronym{LR} behavior is ultimately desired,
 facilitate the development of a grammar.
 @end itemize
 
-@item Default Value: @code{"LALR"}
+@item Default Value: @code{"lalr"}
 @end itemize
 
 @item namespace
index 2c89a5b1312144cb484ac2ba76bdcbd6ba50100a..399d53be9b8cf1d914aecf4d1122e24f7c0ac45c 100644 (file)
@@ -1095,11 +1095,11 @@ ielr (void)
   /* Examine user options.  */
   {
     char *type = muscle_percent_define_get ("lr.type");
-    if (0 == strcmp (type, "LALR"))
+    if (0 == strcmp (type, "lalr"))
       lr_type = LR_TYPE__LALR;
-    else if (0 == strcmp (type, "IELR"))
+    else if (0 == strcmp (type, "ielr"))
       lr_type = LR_TYPE__IELR;
-    else if (0 == strcmp (type, "canonical LR"))
+    else if (0 == strcmp (type, "canonical-lr"))
       lr_type = LR_TYPE__CANONICAL_LR;
     else
       aver (false);
index 27b3a4458ca086179eeb5b5dcddae1a360f86259..feab49a8d644ad1e5e1a4d6351a7041da68aec25 100644 (file)
@@ -33,9 +33,9 @@
  *   - \c ::states is of size \c ::nstates (which might be greater than
  *     <tt>::nstates \@pre</tt>) and defines the type of parser specified by
  *     the value of the \c \%define variable \c lr.type.  Its value can be:
- *     - \c "LALR".
- *     - \c "IELR".
- *     - \c "canonical LR".
+ *     - \c "lalr".
+ *     - \c "ielr".
+ *     - \c "canonical-lr".
  */
 void ielr (void);
 
index d4ac32e6961de49354821d96849ef5c37127d8dd..d6d3d537bbb472cda15808f2c10efa6e1db4cf4e 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.1.124-faff.  */
+/* A Bison parser, made by GNU Bison 2.4.1.128-4bb9.  */
 
 /* Skeleton implementation for Bison's Yacc-like parsers in C
    
@@ -45,7 +45,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.4.1.124-faff"
+#define YYBISON_VERSION "2.4.1.128-4bb9"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
index 1b5f2662a973f685299de0ab88e4e27470dced09..db6cb83ad765b76661473670883f545467ee03a8 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.4.1.124-faff.  */
+/* A Bison parser, made by GNU Bison 2.4.1.128-4bb9.  */
 
 /* Skeleton interface for Bison's Yacc-like parsers in C
    
index 4ac5977dea2f4fb5c4137f7978ea31b61e76e032..043fea8b1a12e2cd3244865fd9c5880296e25566 100644 (file)
@@ -608,9 +608,9 @@ prepare_percent_define_front_end_variables (void)
     char *lr_type;
     /* IELR would be a better default, but LALR is historically the
        default.  */
-    muscle_percent_define_default ("lr.type", "LALR");
+    muscle_percent_define_default ("lr.type", "lalr");
     lr_type = muscle_percent_define_get ("lr.type");
-    if (0 != strcmp (lr_type, "canonical LR"))
+    if (0 != strcmp (lr_type, "canonical-lr"))
       muscle_percent_define_default ("lr.default-reductions", "all");
     else
       muscle_percent_define_default ("lr.default-reductions", "accepting");
@@ -620,7 +620,7 @@ prepare_percent_define_front_end_variables (void)
   /* Check %define front-end variables.  */
   {
     static char const * const values[] = {
-      "lr.type", "LALR", "IELR", "canonical LR", NULL,
+      "lr.type", "lalr", "ielr", "canonical-lr", NULL,
       "lr.default-reductions", "all", "consistent", "accepting", NULL,
       NULL
     };
index 976ab0c6384af0ed99831738d6f528c9e7af98f2..5a89732457ad36456027fc66520f2d0bc7d00213 100644 (file)
@@ -42,18 +42,18 @@ AT_CHECK([[diff -u input-lalr.output input.output \
          [[0]], [$1])])
 
 AT_TEST_TABLES_AND_PARSE([$2[: LALR(1)]], [[LALR]], [[last-state]],
-                         [[%define lr.type "LALR"
+                         [[%define lr.type "lalr"
 ]$3],
                          [$4], [$5], [$6], [$7],
                          [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12])
 AT_TEST_TABLES_AND_PARSE([$2[: IELR(1)]], [[IELR]], [[last-state]],
-                         [[%define lr.type "IELR"
+                         [[%define lr.type "ielr"
 ]$3],
                          [$4], [$5], [$6], [$7],
                          [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12])
 AT_TEST_TABLES_AND_PARSE([$2[: Canonical LR(1)]], [[canonical LR]],
                          [[last-state,no-xml]],
-                         [[%define lr.type "canonical LR"
+                         [[%define lr.type "canonical-lr"
 ]$3],
                          [$4], [$5], [$6], [$7],
                          [$9], [$10], [$11], [$12])
index 0db3830b0f197413dcf928f5231bb8063c8b0c84..45a856a5277fc6206ad2b73c4aa6232f54eb5990 100644 (file)
@@ -375,19 +375,19 @@ m4_define([AT_TEST_LR_TYPE],
 AT_TEST_TABLES_AND_PARSE([[no %define lr.type: ]$1],
                          [[LALR]], [[]],
                          [$2], m4_shiftn(2, $@))
-AT_TEST_TABLES_AND_PARSE([[%define lr.type "LALR": ]$1],
+AT_TEST_TABLES_AND_PARSE([[%define lr.type "lalr": ]$1],
                          [[LALR]], [[]],
-                         [[%define lr.type "LALR"
+                         [[%define lr.type "lalr"
 ]$2],
                          m4_shiftn(2, $@))
-AT_TEST_TABLES_AND_PARSE([[%define lr.type "IELR": ]$1],
+AT_TEST_TABLES_AND_PARSE([[%define lr.type "ielr": ]$1],
                          [[IELR]], [[]],
-                         [[%define lr.type "IELR"
+                         [[%define lr.type "ielr"
 ]$2],
                          m4_shiftn(2, $@))
-AT_TEST_TABLES_AND_PARSE([[%define lr.type "canonical LR": ]$1],
+AT_TEST_TABLES_AND_PARSE([[%define lr.type "canonical-lr": ]$1],
                          [[canonical LR]], [[]],
-                         [[%define lr.type "canonical LR"
+                         [[%define lr.type "canonical-lr"
 ]$2],
                          m4_shiftn(2, $@))
 ])