mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
c: make the symbol kind definition nicer to read
From
enum yysymbol_kind_t
{
YYSYMBOL_YYEMPTY = -2,
YYSYMBOL_YYEOF = 0,
YYSYMBOL_YYERROR = 1,
YYSYMBOL_YYUNDEF = 2,
to
enum yysymbol_kind_t
{
YYSYMBOL_YYEMPTY = -2,
YYSYMBOL_YYEOF = 0, /* "end of file" */
YYSYMBOL_YYERROR = 1, /* error */
YYSYMBOL_YYUNDEF = 2, /* $undefined */
* data/skeletons/bison.m4 (b4_last_symbol): New.
(b4_symbol_enum, b4_symbol_enums): Reformat the output.
* data/skeletons/c.m4
This commit is contained in:
@@ -565,7 +565,10 @@ m4_define([_b4_last_enum_token],
|
||||
[m4_define([b4_last_enum_token], [$1])])])
|
||||
b4_symbol_foreach([_b4_last_enum_token])
|
||||
|
||||
|
||||
# b4_last_symbol
|
||||
# --------------
|
||||
# The code of the last symbol.
|
||||
m4_define([b4_last_symbol], m4_eval(b4_tokens_number + b4_nterms_number - 1))
|
||||
|
||||
## ------- ##
|
||||
## Types. ##
|
||||
|
||||
@@ -188,13 +188,11 @@ m4_define([b4_token_enums],
|
||||
m4_define([b4_declare_symbol_enum],
|
||||
[[enum symbol_kind_type
|
||||
{
|
||||
]m4_join([,
|
||||
],
|
||||
]b4_symbol_kind([-2])[ = -2,
|
||||
b4_symbol_map([b4_symbol_enum]),
|
||||
[YYNTOKENS = ]b4_tokens_number[ ///< Number of tokens.])[
|
||||
YYNTOKENS = ]b4_tokens_number[, ///< Number of tokens.
|
||||
]b4_symbol_kind([-2])[ = -2,
|
||||
]b4_symbol_foreach([ b4_symbol_enum])[
|
||||
};
|
||||
]])])
|
||||
]])
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -494,15 +494,16 @@ m4_define([b4_symbol_translate],
|
||||
## (Internal) symbol numbers. ##
|
||||
## --------------------------- ##
|
||||
|
||||
|
||||
# b4_symbol_enum(SYMBOL-NUM)
|
||||
# --------------------------
|
||||
# Output the definition of this symbol as an enum.
|
||||
m4_define([b4_symbol_enum],
|
||||
[m4_ifval(b4_symbol([$1], [kind]),
|
||||
[m4_format([[%s = %s]],
|
||||
b4_symbol([$1], [kind]),
|
||||
b4_symbol([$1], [number]))])])
|
||||
[m4_format([ %-40s %s],
|
||||
m4_format([[%s = %s%s%s]],
|
||||
b4_symbol([$1], [kind]),
|
||||
[$1],
|
||||
m4_if([$1], b4_last_symbol, [], [[,]])),
|
||||
[b4_symbol_tag_comment([$1])])])
|
||||
|
||||
|
||||
# b4_declare_symbol_enum
|
||||
@@ -514,10 +515,8 @@ m4_define([b4_declare_symbol_enum],
|
||||
[[/* Symbol type. */
|
||||
enum yysymbol_kind_t
|
||||
{
|
||||
]m4_join([,
|
||||
],
|
||||
]b4_symbol_kind([-2])[ = -2,
|
||||
b4_symbol_map([b4_symbol_enum]))[
|
||||
]b4_symbol_kind([-2])[ = -2,
|
||||
]b4_symbol_foreach([b4_symbol_enum])[
|
||||
};
|
||||
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
||||
]])])
|
||||
|
||||
207
src/parse-gram.c
207
src/parse-gram.c
@@ -104,109 +104,110 @@
|
||||
enum yysymbol_kind_t
|
||||
{
|
||||
YYSYMBOL_YYEMPTY = -2,
|
||||
YYSYMBOL_YYEOF = 0,
|
||||
YYSYMBOL_YYERROR = 1,
|
||||
YYSYMBOL_YYUNDEF = 2,
|
||||
YYSYMBOL_STRING = 3,
|
||||
YYSYMBOL_TSTRING = 4,
|
||||
YYSYMBOL_PERCENT_TOKEN = 5,
|
||||
YYSYMBOL_PERCENT_NTERM = 6,
|
||||
YYSYMBOL_PERCENT_TYPE = 7,
|
||||
YYSYMBOL_PERCENT_DESTRUCTOR = 8,
|
||||
YYSYMBOL_PERCENT_PRINTER = 9,
|
||||
YYSYMBOL_PERCENT_LEFT = 10,
|
||||
YYSYMBOL_PERCENT_RIGHT = 11,
|
||||
YYSYMBOL_PERCENT_NONASSOC = 12,
|
||||
YYSYMBOL_PERCENT_PRECEDENCE = 13,
|
||||
YYSYMBOL_PERCENT_PREC = 14,
|
||||
YYSYMBOL_PERCENT_DPREC = 15,
|
||||
YYSYMBOL_PERCENT_MERGE = 16,
|
||||
YYSYMBOL_PERCENT_CODE = 17,
|
||||
YYSYMBOL_PERCENT_DEFAULT_PREC = 18,
|
||||
YYSYMBOL_PERCENT_DEFINE = 19,
|
||||
YYSYMBOL_PERCENT_DEFINES = 20,
|
||||
YYSYMBOL_PERCENT_ERROR_VERBOSE = 21,
|
||||
YYSYMBOL_PERCENT_EXPECT = 22,
|
||||
YYSYMBOL_PERCENT_EXPECT_RR = 23,
|
||||
YYSYMBOL_PERCENT_FLAG = 24,
|
||||
YYSYMBOL_PERCENT_FILE_PREFIX = 25,
|
||||
YYSYMBOL_PERCENT_GLR_PARSER = 26,
|
||||
YYSYMBOL_PERCENT_INITIAL_ACTION = 27,
|
||||
YYSYMBOL_PERCENT_LANGUAGE = 28,
|
||||
YYSYMBOL_PERCENT_NAME_PREFIX = 29,
|
||||
YYSYMBOL_PERCENT_NO_DEFAULT_PREC = 30,
|
||||
YYSYMBOL_PERCENT_NO_LINES = 31,
|
||||
YYSYMBOL_PERCENT_NONDETERMINISTIC_PARSER = 32,
|
||||
YYSYMBOL_PERCENT_OUTPUT = 33,
|
||||
YYSYMBOL_PERCENT_PURE_PARSER = 34,
|
||||
YYSYMBOL_PERCENT_REQUIRE = 35,
|
||||
YYSYMBOL_PERCENT_SKELETON = 36,
|
||||
YYSYMBOL_PERCENT_START = 37,
|
||||
YYSYMBOL_PERCENT_TOKEN_TABLE = 38,
|
||||
YYSYMBOL_PERCENT_VERBOSE = 39,
|
||||
YYSYMBOL_PERCENT_YACC = 40,
|
||||
YYSYMBOL_BRACED_CODE = 41,
|
||||
YYSYMBOL_BRACED_PREDICATE = 42,
|
||||
YYSYMBOL_BRACKETED_ID = 43,
|
||||
YYSYMBOL_CHAR = 44,
|
||||
YYSYMBOL_COLON = 45,
|
||||
YYSYMBOL_EPILOGUE = 46,
|
||||
YYSYMBOL_EQUAL = 47,
|
||||
YYSYMBOL_ID = 48,
|
||||
YYSYMBOL_ID_COLON = 49,
|
||||
YYSYMBOL_PERCENT_PERCENT = 50,
|
||||
YYSYMBOL_PIPE = 51,
|
||||
YYSYMBOL_PROLOGUE = 52,
|
||||
YYSYMBOL_SEMICOLON = 53,
|
||||
YYSYMBOL_TAG = 54,
|
||||
YYSYMBOL_TAG_ANY = 55,
|
||||
YYSYMBOL_TAG_NONE = 56,
|
||||
YYSYMBOL_INT = 57,
|
||||
YYSYMBOL_PERCENT_PARAM = 58,
|
||||
YYSYMBOL_PERCENT_UNION = 59,
|
||||
YYSYMBOL_PERCENT_EMPTY = 60,
|
||||
YYSYMBOL_YYACCEPT = 61,
|
||||
YYSYMBOL_input = 62,
|
||||
YYSYMBOL_prologue_declarations = 63,
|
||||
YYSYMBOL_prologue_declaration = 64,
|
||||
YYSYMBOL_65____1 = 65,
|
||||
YYSYMBOL_params = 66,
|
||||
YYSYMBOL_grammar_declaration = 67,
|
||||
YYSYMBOL_code_props_type = 68,
|
||||
YYSYMBOL_union_name = 69,
|
||||
YYSYMBOL_symbol_declaration = 70,
|
||||
YYSYMBOL_71____2 = 71,
|
||||
YYSYMBOL_72____3 = 72,
|
||||
YYSYMBOL_precedence_declarator = 73,
|
||||
YYSYMBOL_74_tag_opt = 74,
|
||||
YYSYMBOL_generic_symlist = 75,
|
||||
YYSYMBOL_generic_symlist_item = 76,
|
||||
YYSYMBOL_tag = 77,
|
||||
YYSYMBOL_nterm_decls = 78,
|
||||
YYSYMBOL_token_decls = 79,
|
||||
YYSYMBOL_80_token_decl_1 = 80,
|
||||
YYSYMBOL_token_decl = 81,
|
||||
YYSYMBOL_82_int_opt = 82,
|
||||
YYSYMBOL_alias = 83,
|
||||
YYSYMBOL_token_decls_for_prec = 84,
|
||||
YYSYMBOL_85_token_decl_for_prec_1 = 85,
|
||||
YYSYMBOL_token_decl_for_prec = 86,
|
||||
YYSYMBOL_symbol_decls = 87,
|
||||
YYSYMBOL_88_symbol_decl_1 = 88,
|
||||
YYSYMBOL_grammar = 89,
|
||||
YYSYMBOL_rules_or_grammar_declaration = 90,
|
||||
YYSYMBOL_rules = 91,
|
||||
YYSYMBOL_92____4 = 92,
|
||||
YYSYMBOL_93_rhses_1 = 93,
|
||||
YYSYMBOL_rhs = 94,
|
||||
YYSYMBOL_95_named_ref_opt = 95,
|
||||
YYSYMBOL_variable = 96,
|
||||
YYSYMBOL_value = 97,
|
||||
YYSYMBOL_id = 98,
|
||||
YYSYMBOL_id_colon = 99,
|
||||
YYSYMBOL_symbol = 100,
|
||||
YYSYMBOL_string_as_id = 101,
|
||||
YYSYMBOL_102_epilogue_opt = 102
|
||||
YYSYMBOL_YYEOF = 0, /* "end of file" */
|
||||
YYSYMBOL_YYERROR = 1, /* error */
|
||||
YYSYMBOL_YYUNDEF = 2, /* $undefined */
|
||||
YYSYMBOL_STRING = 3, /* "string" */
|
||||
YYSYMBOL_TSTRING = 4, /* "translatable string" */
|
||||
YYSYMBOL_PERCENT_TOKEN = 5, /* "%token" */
|
||||
YYSYMBOL_PERCENT_NTERM = 6, /* "%nterm" */
|
||||
YYSYMBOL_PERCENT_TYPE = 7, /* "%type" */
|
||||
YYSYMBOL_PERCENT_DESTRUCTOR = 8, /* "%destructor" */
|
||||
YYSYMBOL_PERCENT_PRINTER = 9, /* "%printer" */
|
||||
YYSYMBOL_PERCENT_LEFT = 10, /* "%left" */
|
||||
YYSYMBOL_PERCENT_RIGHT = 11, /* "%right" */
|
||||
YYSYMBOL_PERCENT_NONASSOC = 12, /* "%nonassoc" */
|
||||
YYSYMBOL_PERCENT_PRECEDENCE = 13, /* "%precedence" */
|
||||
YYSYMBOL_PERCENT_PREC = 14, /* "%prec" */
|
||||
YYSYMBOL_PERCENT_DPREC = 15, /* "%dprec" */
|
||||
YYSYMBOL_PERCENT_MERGE = 16, /* "%merge" */
|
||||
YYSYMBOL_PERCENT_CODE = 17, /* "%code" */
|
||||
YYSYMBOL_PERCENT_DEFAULT_PREC = 18, /* "%default-prec" */
|
||||
YYSYMBOL_PERCENT_DEFINE = 19, /* "%define" */
|
||||
YYSYMBOL_PERCENT_DEFINES = 20, /* "%defines" */
|
||||
YYSYMBOL_PERCENT_ERROR_VERBOSE = 21, /* "%error-verbose" */
|
||||
YYSYMBOL_PERCENT_EXPECT = 22, /* "%expect" */
|
||||
YYSYMBOL_PERCENT_EXPECT_RR = 23, /* "%expect-rr" */
|
||||
YYSYMBOL_PERCENT_FLAG = 24, /* "%<flag>" */
|
||||
YYSYMBOL_PERCENT_FILE_PREFIX = 25, /* "%file-prefix" */
|
||||
YYSYMBOL_PERCENT_GLR_PARSER = 26, /* "%glr-parser" */
|
||||
YYSYMBOL_PERCENT_INITIAL_ACTION = 27, /* "%initial-action" */
|
||||
YYSYMBOL_PERCENT_LANGUAGE = 28, /* "%language" */
|
||||
YYSYMBOL_PERCENT_NAME_PREFIX = 29, /* "%name-prefix" */
|
||||
YYSYMBOL_PERCENT_NO_DEFAULT_PREC = 30, /* "%no-default-prec" */
|
||||
YYSYMBOL_PERCENT_NO_LINES = 31, /* "%no-lines" */
|
||||
YYSYMBOL_PERCENT_NONDETERMINISTIC_PARSER = 32, /* "%nondeterministic-parser" */
|
||||
YYSYMBOL_PERCENT_OUTPUT = 33, /* "%output" */
|
||||
YYSYMBOL_PERCENT_PURE_PARSER = 34, /* "%pure-parser" */
|
||||
YYSYMBOL_PERCENT_REQUIRE = 35, /* "%require" */
|
||||
YYSYMBOL_PERCENT_SKELETON = 36, /* "%skeleton" */
|
||||
YYSYMBOL_PERCENT_START = 37, /* "%start" */
|
||||
YYSYMBOL_PERCENT_TOKEN_TABLE = 38, /* "%token-table" */
|
||||
YYSYMBOL_PERCENT_VERBOSE = 39, /* "%verbose" */
|
||||
YYSYMBOL_PERCENT_YACC = 40, /* "%yacc" */
|
||||
YYSYMBOL_BRACED_CODE = 41, /* "{...}" */
|
||||
YYSYMBOL_BRACED_PREDICATE = 42, /* "%?{...}" */
|
||||
YYSYMBOL_BRACKETED_ID = 43, /* "[identifier]" */
|
||||
YYSYMBOL_CHAR = 44, /* "character literal" */
|
||||
YYSYMBOL_COLON = 45, /* ":" */
|
||||
YYSYMBOL_EPILOGUE = 46, /* "epilogue" */
|
||||
YYSYMBOL_EQUAL = 47, /* "=" */
|
||||
YYSYMBOL_ID = 48, /* "identifier" */
|
||||
YYSYMBOL_ID_COLON = 49, /* "identifier:" */
|
||||
YYSYMBOL_PERCENT_PERCENT = 50, /* "%%" */
|
||||
YYSYMBOL_PIPE = 51, /* "|" */
|
||||
YYSYMBOL_PROLOGUE = 52, /* "%{...%}" */
|
||||
YYSYMBOL_SEMICOLON = 53, /* ";" */
|
||||
YYSYMBOL_TAG = 54, /* "<tag>" */
|
||||
YYSYMBOL_TAG_ANY = 55, /* "<*>" */
|
||||
YYSYMBOL_TAG_NONE = 56, /* "<>" */
|
||||
YYSYMBOL_INT = 57, /* "integer literal" */
|
||||
YYSYMBOL_PERCENT_PARAM = 58, /* "%param" */
|
||||
YYSYMBOL_PERCENT_UNION = 59, /* "%union" */
|
||||
YYSYMBOL_PERCENT_EMPTY = 60, /* "%empty" */
|
||||
YYSYMBOL_YYACCEPT = 61, /* $accept */
|
||||
YYSYMBOL_input = 62, /* input */
|
||||
YYSYMBOL_prologue_declarations = 63, /* prologue_declarations */
|
||||
YYSYMBOL_prologue_declaration = 64, /* prologue_declaration */
|
||||
YYSYMBOL_65____1 = 65, /* $@1 */
|
||||
YYSYMBOL_params = 66, /* params */
|
||||
YYSYMBOL_grammar_declaration = 67, /* grammar_declaration */
|
||||
YYSYMBOL_code_props_type = 68, /* code_props_type */
|
||||
YYSYMBOL_union_name = 69, /* union_name */
|
||||
YYSYMBOL_symbol_declaration = 70, /* symbol_declaration */
|
||||
YYSYMBOL_71____2 = 71, /* $@2 */
|
||||
YYSYMBOL_72____3 = 72, /* $@3 */
|
||||
YYSYMBOL_precedence_declarator = 73, /* precedence_declarator */
|
||||
YYSYMBOL_74_tag_opt = 74, /* tag.opt */
|
||||
YYSYMBOL_generic_symlist = 75, /* generic_symlist */
|
||||
YYSYMBOL_generic_symlist_item = 76, /* generic_symlist_item */
|
||||
YYSYMBOL_tag = 77, /* tag */
|
||||
YYSYMBOL_nterm_decls = 78, /* nterm_decls */
|
||||
YYSYMBOL_token_decls = 79, /* token_decls */
|
||||
YYSYMBOL_80_token_decl_1 = 80, /* token_decl.1 */
|
||||
YYSYMBOL_token_decl = 81, /* token_decl */
|
||||
YYSYMBOL_82_int_opt = 82, /* int.opt */
|
||||
YYSYMBOL_alias = 83, /* alias */
|
||||
YYSYMBOL_token_decls_for_prec = 84, /* token_decls_for_prec */
|
||||
YYSYMBOL_85_token_decl_for_prec_1 = 85, /* token_decl_for_prec.1 */
|
||||
YYSYMBOL_token_decl_for_prec = 86, /* token_decl_for_prec */
|
||||
YYSYMBOL_symbol_decls = 87, /* symbol_decls */
|
||||
YYSYMBOL_88_symbol_decl_1 = 88, /* symbol_decl.1 */
|
||||
YYSYMBOL_grammar = 89, /* grammar */
|
||||
YYSYMBOL_rules_or_grammar_declaration = 90, /* rules_or_grammar_declaration */
|
||||
YYSYMBOL_rules = 91, /* rules */
|
||||
YYSYMBOL_92____4 = 92, /* $@4 */
|
||||
YYSYMBOL_93_rhses_1 = 93, /* rhses.1 */
|
||||
YYSYMBOL_rhs = 94, /* rhs */
|
||||
YYSYMBOL_95_named_ref_opt = 95, /* named_ref.opt */
|
||||
YYSYMBOL_variable = 96, /* variable */
|
||||
YYSYMBOL_value = 97, /* value */
|
||||
YYSYMBOL_id = 98, /* id */
|
||||
YYSYMBOL_id_colon = 99, /* id_colon */
|
||||
YYSYMBOL_symbol = 100, /* symbol */
|
||||
YYSYMBOL_string_as_id = 101, /* string_as_id */
|
||||
YYSYMBOL_102_epilogue_opt = 102, /* epilogue.opt */
|
||||
|
||||
};
|
||||
typedef enum yysymbol_kind_t yysymbol_kind_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user