mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
output: use the token list to define the yytokentype
There are currently two systems used to pass information about tokens to m4: the original one, and another, which is used for instance for printers and destructors, variants etc. Move to using only the latter. * data/bison.m4 (b4_symbol_map, b4_token_visible_if) (b4_token_has_definition, b4_any_token_visible_if, b4_token_format): New. * data/c++.m4, data/c.m4, data/glr.c, data/java.m4: Adjust to use them.
This commit is contained in:
21
data/java.m4
21
data/java.m4
@@ -142,23 +142,20 @@ m4_define([b4_integral_parser_table_define],
|
||||
## Assigning token numbers. ##
|
||||
## ------------------------- ##
|
||||
|
||||
# b4_token_enum(TOKEN-NAME, TOKEN-NUMBER)
|
||||
# ---------------------------------------
|
||||
# b4_token_enum(TOKEN-NUM)
|
||||
# ------------------------
|
||||
# Output the definition of this token as an enum.
|
||||
m4_define([b4_token_enum],
|
||||
[ /** Token number, to be returned by the scanner. */
|
||||
static final int b4_percent_define_get([api.tokens.prefix])$1 = $2;
|
||||
])
|
||||
[b4_token_format([ /** Token number, to be returned by the scanner. */
|
||||
static final int %s = %s;
|
||||
], [$1])])
|
||||
|
||||
|
||||
# b4_token_enums(LIST-OF-PAIRS-TOKEN-NAME-TOKEN-NUMBER)
|
||||
# -----------------------------------------------------
|
||||
# b4_token_enums
|
||||
# --------------
|
||||
# Output the definition of the tokens (if there are) as enums.
|
||||
m4_define([b4_token_enums],
|
||||
[m4_if([$#$1], [1], [],
|
||||
[/* Tokens. */
|
||||
m4_map([b4_token_enum], [$@])])
|
||||
])
|
||||
[b4_any_token_visible_if([/* Tokens. */
|
||||
b4_symbol_foreach([b4_token_enum])])])
|
||||
|
||||
# b4-case(ID, CODE)
|
||||
# -----------------
|
||||
|
||||
Reference in New Issue
Block a user