]> git.saurik.com Git - bison.git/commitdiff
Use b4_parser_tables_define in Java.
authorAkim Demaille <demaille@gostai.com>
Tue, 25 Nov 2008 20:58:06 +0000 (21:58 +0100)
committerAkim Demaille <demaille@gostai.com>
Wed, 26 Nov 2008 09:08:41 +0000 (10:08 +0100)
* data/java.m4 (b4_typed_parser_table): Rename as...
(b4_typed_parser_table_define): this, for consistency.
Accept a comment as $4.
Move $2 into yy*_.
(b4_integral_parser_table): Rename as...
(b4_integral_parser_table_define): this.
* data/lalr1.java: Adjust all uses.
Use b4_parser_tables_define instead of generation by hand.

ChangeLog
data/java.m4
data/lalr1.java

index c3fa7334f8ab94295404dcf84db352346a222f06..4cb86fd73ed0e1f02f3edec19840bd33159e397f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_parser_tables_define in Java.
+       * data/java.m4 (b4_typed_parser_table): Rename as...
+       (b4_typed_parser_table_define): this, for consistency.
+       Accept a comment as $4.
+       Move $2 into yy*_.
+       (b4_integral_parser_table): Rename as...
+       (b4_integral_parser_table_define): this.
+       * data/lalr1.java: Adjust all uses.
+       Use b4_parser_tables_define instead of generation by hand.
+
 2008-11-26  Akim Demaille  <demaille@gostai.com>
 
        Prepare the convergence bw C style and Java table generation.
index 9872505a78c13cb29cf0686312c939a4d197bc88..4b33728a3ff51c7b2c97745d40a740c725022cc6 100644 (file)
@@ -117,11 +117,13 @@ m4_define([b4_int_type_for],
 m4_define([b4_null], [null])
 
 
-# b4_typed_parser_table(TYPE, NAME, DATA)
-# ---------------------------------------
-m4_define([b4_typed_parser_table],
-[[private static final ]$1[ $2[] = $2init();
-  private static final ]$1[[] $2init()
+# b4_typed_parser_table_define(TYPE, NAME, DATA, COMMENT)
+# -------------------------------------------------------
+m4_define([b4_typed_parser_table_define],
+[m4_ifval([$4], [b4_comment([$4])
+  ])dnl
+[private static final ]$1[ yy$2_[] = yy$2_init();
+  private static final ]$1[[] yy$2_init()
   {
     return new ]$1[[]
     {
@@ -130,10 +132,10 @@ m4_define([b4_typed_parser_table],
   }]])
 
 
-# b4_integral_parser_table(NAME, DATA)
-#-------------------------------------
-m4_define([b4_integral_parser_table],
-[b4_typed_parser_table([b4_int_type_for([$2])], [$1], [$2])])
+# b4_integral_parser_table_define(NAME, DATA, COMMENT)
+#-----------------------------------------------------
+m4_define([b4_integral_parser_table_define],
+[b4_typed_parser_table_define([b4_int_type_for([$2])], [$1], [$2], [$3])])
 
 
 ## ------------------------- ##
index 3d17e46192892107633f31858b395fd67a284b22..ea9565488e4486cc3e00656520a79ae1bbd4d1d4 100644 (file)
@@ -759,51 +759,20 @@ m4_popdef([b4_at_dollar])])dnl
     return "syntax error";
   }
 
-  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-     STATE-NUM.  */
   private static final ]b4_int_type_for([b4_pact])[ yypact_ninf_ = ]b4_pact_ninf[;
-  ]b4_integral_parser_table([yypact_], [b4_pact])[
-
-  /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
-     doesn't specify something else to do.  Zero means the default is an
-     error.  */
-  ]b4_integral_parser_table([yydefact_], [b4_defact])[
-
-  /* YYPGOTO[NTERM-NUM].  */
-  ]b4_integral_parser_table([yypgoto_], [b4_pgoto])[
-
-  /* YYDEFGOTO[NTERM-NUM].  */
-  ]b4_integral_parser_table([yydefgoto_], [b4_defgoto])[
-
-  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-     positive, shift that token.  If negative, reduce the rule which
-     number is the opposite.  If zero, do what YYDEFACT says.  */
   private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
-  ]b4_integral_parser_table([yytable_], [b4_table])[
-
-  /* YYCHECK.  */
-  ]b4_integral_parser_table([yycheck_], [b4_check])[
-
-  /* STOS_[STATE-NUM] -- The (internal number of the) accessing
-     symbol of state STATE-NUM.  */
-  ]b4_integral_parser_table([yystos_], [b4_stos])[
-
-  /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
-     to YYLEX-NUM.  */
-  ]b4_integral_parser_table([yytoken_number_], [b4_toknum])[
-
-  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-  ]b4_integral_parser_table([yyr1_], [b4_r1])[
 
-  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-  ]b4_integral_parser_table([yyr2_], [b4_r2])[
+  ]b4_parser_tables_define[
+  ]b4_integral_parser_table_define([token_number], [b4_toknum],
+     [TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
+     to YYLEX-NUM.])[
 
   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
      First, the terminals, then, starting at \a yyntokens_, nonterminals.  */
-  ]b4_typed_parser_table([String], [yytname_], [b4_tname])[
+  ]b4_typed_parser_table_define([String], [tname], [b4_tname])[
 
-  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
-  ]b4_integral_parser_table([yyrline_], [b4_rline])[
+  ]b4_integral_parser_table_define([rline], [b4_rline],
+  [YYRLINE[YYN] -- Source line where rule number YYN was defined.])[
 
   // Report on the debug stream that the rule yyrule is going to be reduced.
   private void yy_reduce_print (int yyrule, YYStack yystack)
@@ -826,7 +795,7 @@ m4_popdef([b4_at_dollar])])dnl
   }
 
   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
-  ]b4_integral_parser_table([yytranslate_table_], [b4_translate])[
+  ]b4_integral_parser_table_define([translate_table], [b4_translate])[
 
   private static final ]b4_int_type_for([b4_translate])[ yytranslate_ (int t)
   {