mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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.
This commit is contained in:
12
ChangeLog
12
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>
|
2008-11-26 Akim Demaille <demaille@gostai.com>
|
||||||
|
|
||||||
Prepare the convergence bw C style and Java table generation.
|
Prepare the convergence bw C style and Java table generation.
|
||||||
|
|||||||
20
data/java.m4
20
data/java.m4
@@ -117,11 +117,13 @@ m4_define([b4_int_type_for],
|
|||||||
m4_define([b4_null], [null])
|
m4_define([b4_null], [null])
|
||||||
|
|
||||||
|
|
||||||
# b4_typed_parser_table(TYPE, NAME, DATA)
|
# b4_typed_parser_table_define(TYPE, NAME, DATA, COMMENT)
|
||||||
# ---------------------------------------
|
# -------------------------------------------------------
|
||||||
m4_define([b4_typed_parser_table],
|
m4_define([b4_typed_parser_table_define],
|
||||||
[[private static final ]$1[ $2[] = $2init();
|
[m4_ifval([$4], [b4_comment([$4])
|
||||||
private static final ]$1[[] $2init()
|
])dnl
|
||||||
|
[private static final ]$1[ yy$2_[] = yy$2_init();
|
||||||
|
private static final ]$1[[] yy$2_init()
|
||||||
{
|
{
|
||||||
return new ]$1[[]
|
return new ]$1[[]
|
||||||
{
|
{
|
||||||
@@ -130,10 +132,10 @@ m4_define([b4_typed_parser_table],
|
|||||||
}]])
|
}]])
|
||||||
|
|
||||||
|
|
||||||
# b4_integral_parser_table(NAME, DATA)
|
# b4_integral_parser_table_define(NAME, DATA, COMMENT)
|
||||||
#-------------------------------------
|
#-----------------------------------------------------
|
||||||
m4_define([b4_integral_parser_table],
|
m4_define([b4_integral_parser_table_define],
|
||||||
[b4_typed_parser_table([b4_int_type_for([$2])], [$1], [$2])])
|
[b4_typed_parser_table_define([b4_int_type_for([$2])], [$1], [$2], [$3])])
|
||||||
|
|
||||||
|
|
||||||
## ------------------------- ##
|
## ------------------------- ##
|
||||||
|
|||||||
@@ -759,51 +759,20 @@ m4_popdef([b4_at_dollar])])dnl
|
|||||||
return "syntax error";
|
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[;
|
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[;
|
private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
|
||||||
]b4_integral_parser_table([yytable_], [b4_table])[
|
|
||||||
|
|
||||||
/* YYCHECK. */
|
]b4_parser_tables_define[
|
||||||
]b4_integral_parser_table([yycheck_], [b4_check])[
|
]b4_integral_parser_table_define([token_number], [b4_toknum],
|
||||||
|
[TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding
|
||||||
/* STOS_[STATE-NUM] -- The (internal number of the) accessing
|
to YYLEX-NUM.])[
|
||||||
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])[
|
|
||||||
|
|
||||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||||
First, the terminals, then, starting at \a yyntokens_, nonterminals. */
|
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_define([rline], [b4_rline],
|
||||||
]b4_integral_parser_table([yyrline_], [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.
|
// Report on the debug stream that the rule yyrule is going to be reduced.
|
||||||
private void yy_reduce_print (int yyrule, YYStack yystack)
|
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. */
|
/* 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)
|
private static final ]b4_int_type_for([b4_translate])[ yytranslate_ (int t)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user