[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Use b4_parser_tables_define in Java.
From: |
Akim Demaille |
Subject: |
[PATCH] Use b4_parser_tables_define in Java. |
Date: |
Tue, 25 Nov 2008 21:58:06 +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 | 12 ++++++++++++
data/java.m4 | 20 +++++++++++---------
data/lalr1.java | 47 ++++++++---------------------------------------
3 files changed, 31 insertions(+), 48 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c3fa733..4cb86fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2008-11-26 Akim Demaille <address@hidden>
+ 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 <address@hidden>
+
Prepare the convergence bw C style and Java table generation.
* data/bison.m4 (b4_tables_map, b4_tables_declare)
(b4_tables_define): Rename as...
diff --git a/data/java.m4 b/data/java.m4
index 9872505..4b33728 100644
--- a/data/java.m4
+++ b/data/java.m4
@@ -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])])
## ------------------------- ##
diff --git a/data/lalr1.java b/data/lalr1.java
index 3d17e46..ea95654 100644
--- a/data/lalr1.java
+++ b/data/lalr1.java
@@ -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)
{
--
1.6.0.2.588.g3102
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] Use b4_parser_tables_define in Java.,
Akim Demaille <=