mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 23:03:04 +00:00
c: make the token kind definition nicer to read
From
enum gram_tokentype
{
GRAM_EOF = 0,
STRING = 3,
TSTRING = 4,
PERCENT_TOKEN = 5,
To
enum gram_tokentype
{
GRAM_EOF = 0, /* "end of file" */
STRING = 3, /* "string" */
TSTRING = 4, /* "translatable string" */
PERCENT_TOKEN = 5, /* "%token" */
* data/skeletons/bison.m4 (b4_last_enum_token): New.
* data/skeletons/c.m4 (b4_token_enum, b4_token_enums): Show the
corresponding symbol.
This commit is contained in:
@@ -553,8 +553,18 @@ m4_define([b4_any_token_visible_if],
|
|||||||
m4_define([b4_token_format],
|
m4_define([b4_token_format],
|
||||||
[b4_token_visible_if([$2],
|
[b4_token_visible_if([$2],
|
||||||
[m4_format([[$1]],
|
[m4_format([[$1]],
|
||||||
m4_quote(b4_symbol([$2], [id])),
|
m4_expand(b4_symbol([$2], [id])),
|
||||||
m4_quote(b4_symbol([$2], b4_api_token_raw_if([[number]], [[user_number]]))))])])
|
m4_expand(b4_symbol([$2], b4_api_token_raw_if([[number]], [[user_number]]))))])])
|
||||||
|
|
||||||
|
|
||||||
|
# b4_last_enum_token
|
||||||
|
# ------------------
|
||||||
|
# The code of the last token visible token.
|
||||||
|
m4_define([_b4_last_enum_token],
|
||||||
|
[b4_token_visible_if([$1],
|
||||||
|
[m4_define([b4_last_enum_token], [$1])])])
|
||||||
|
b4_symbol_foreach([_b4_last_enum_token])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## ------- ##
|
## ------- ##
|
||||||
|
|||||||
@@ -170,9 +170,7 @@ m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
|
|||||||
m4_define([b4_token_enums],
|
m4_define([b4_token_enums],
|
||||||
[[enum yytokentype
|
[[enum yytokentype
|
||||||
{
|
{
|
||||||
]m4_join([,
|
]b4_symbol_foreach([b4_token_enum])[
|
||||||
],
|
|
||||||
b4_symbol_map([b4_token_enum]))[
|
|
||||||
};]dnl
|
};]dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -449,7 +449,13 @@ m4_join([
|
|||||||
# ------------------------
|
# ------------------------
|
||||||
# Output the definition of this token as an enum.
|
# Output the definition of this token as an enum.
|
||||||
m4_define([b4_token_enum],
|
m4_define([b4_token_enum],
|
||||||
[b4_token_format([%s = %s], [$1])])
|
[b4_token_visible_if([$1],
|
||||||
|
[m4_format([ %-30s %s],
|
||||||
|
m4_format([[%s = %s%s%s]],
|
||||||
|
[b4_symbol([$1], [id])],
|
||||||
|
[b4_symbol([$1], b4_api_token_raw_if([[number]], [[user_number]]))],
|
||||||
|
m4_if([$1], b4_last_enum_token, [], [[,]])),
|
||||||
|
[b4_symbol_tag_comment([$1])])])])
|
||||||
|
|
||||||
|
|
||||||
# b4_token_enums
|
# b4_token_enums
|
||||||
@@ -461,9 +467,7 @@ m4_define([b4_token_enums],
|
|||||||
# define ]b4_api_PREFIX[TOKENTYPE
|
# define ]b4_api_PREFIX[TOKENTYPE
|
||||||
enum ]b4_api_prefix[tokentype
|
enum ]b4_api_prefix[tokentype
|
||||||
{
|
{
|
||||||
]m4_join([,
|
]b4_symbol_foreach([b4_token_enum])[
|
||||||
],
|
|
||||||
b4_symbol_map([b4_token_enum]))[
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
]])])
|
]])])
|
||||||
|
|||||||
119
src/parse-gram.h
119
src/parse-gram.h
@@ -77,65 +77,66 @@ extern int gram_debug;
|
|||||||
# define GRAM_TOKENTYPE
|
# define GRAM_TOKENTYPE
|
||||||
enum gram_tokentype
|
enum gram_tokentype
|
||||||
{
|
{
|
||||||
GRAM_EOF = 0,
|
GRAM_EOF = 0, /* "end of file" */
|
||||||
STRING = 3,
|
STRING = 3, /* "string" */
|
||||||
TSTRING = 4,
|
TSTRING = 4, /* "translatable string" */
|
||||||
PERCENT_TOKEN = 5,
|
PERCENT_TOKEN = 5, /* "%token" */
|
||||||
PERCENT_NTERM = 6,
|
PERCENT_NTERM = 6, /* "%nterm" */
|
||||||
PERCENT_TYPE = 7,
|
PERCENT_TYPE = 7, /* "%type" */
|
||||||
PERCENT_DESTRUCTOR = 8,
|
PERCENT_DESTRUCTOR = 8, /* "%destructor" */
|
||||||
PERCENT_PRINTER = 9,
|
PERCENT_PRINTER = 9, /* "%printer" */
|
||||||
PERCENT_LEFT = 10,
|
PERCENT_LEFT = 10, /* "%left" */
|
||||||
PERCENT_RIGHT = 11,
|
PERCENT_RIGHT = 11, /* "%right" */
|
||||||
PERCENT_NONASSOC = 12,
|
PERCENT_NONASSOC = 12, /* "%nonassoc" */
|
||||||
PERCENT_PRECEDENCE = 13,
|
PERCENT_PRECEDENCE = 13, /* "%precedence" */
|
||||||
PERCENT_PREC = 14,
|
PERCENT_PREC = 14, /* "%prec" */
|
||||||
PERCENT_DPREC = 15,
|
PERCENT_DPREC = 15, /* "%dprec" */
|
||||||
PERCENT_MERGE = 16,
|
PERCENT_MERGE = 16, /* "%merge" */
|
||||||
PERCENT_CODE = 17,
|
PERCENT_CODE = 17, /* "%code" */
|
||||||
PERCENT_DEFAULT_PREC = 18,
|
PERCENT_DEFAULT_PREC = 18, /* "%default-prec" */
|
||||||
PERCENT_DEFINE = 19,
|
PERCENT_DEFINE = 19, /* "%define" */
|
||||||
PERCENT_DEFINES = 20,
|
PERCENT_DEFINES = 20, /* "%defines" */
|
||||||
PERCENT_ERROR_VERBOSE = 21,
|
PERCENT_ERROR_VERBOSE = 21, /* "%error-verbose" */
|
||||||
PERCENT_EXPECT = 22,
|
PERCENT_EXPECT = 22, /* "%expect" */
|
||||||
PERCENT_EXPECT_RR = 23,
|
PERCENT_EXPECT_RR = 23, /* "%expect-rr" */
|
||||||
PERCENT_FLAG = 24,
|
PERCENT_FLAG = 24, /* "%<flag>" */
|
||||||
PERCENT_FILE_PREFIX = 25,
|
PERCENT_FILE_PREFIX = 25, /* "%file-prefix" */
|
||||||
PERCENT_GLR_PARSER = 26,
|
PERCENT_GLR_PARSER = 26, /* "%glr-parser" */
|
||||||
PERCENT_INITIAL_ACTION = 27,
|
PERCENT_INITIAL_ACTION = 27, /* "%initial-action" */
|
||||||
PERCENT_LANGUAGE = 28,
|
PERCENT_LANGUAGE = 28, /* "%language" */
|
||||||
PERCENT_NAME_PREFIX = 29,
|
PERCENT_NAME_PREFIX = 29, /* "%name-prefix" */
|
||||||
PERCENT_NO_DEFAULT_PREC = 30,
|
PERCENT_NO_DEFAULT_PREC = 30, /* "%no-default-prec" */
|
||||||
PERCENT_NO_LINES = 31,
|
PERCENT_NO_LINES = 31, /* "%no-lines" */
|
||||||
PERCENT_NONDETERMINISTIC_PARSER = 32,
|
PERCENT_NONDETERMINISTIC_PARSER = 32, /* "%nondeterministic-parser" */
|
||||||
PERCENT_OUTPUT = 33,
|
PERCENT_OUTPUT = 33, /* "%output" */
|
||||||
PERCENT_PURE_PARSER = 34,
|
PERCENT_PURE_PARSER = 34, /* "%pure-parser" */
|
||||||
PERCENT_REQUIRE = 35,
|
PERCENT_REQUIRE = 35, /* "%require" */
|
||||||
PERCENT_SKELETON = 36,
|
PERCENT_SKELETON = 36, /* "%skeleton" */
|
||||||
PERCENT_START = 37,
|
PERCENT_START = 37, /* "%start" */
|
||||||
PERCENT_TOKEN_TABLE = 38,
|
PERCENT_TOKEN_TABLE = 38, /* "%token-table" */
|
||||||
PERCENT_VERBOSE = 39,
|
PERCENT_VERBOSE = 39, /* "%verbose" */
|
||||||
PERCENT_YACC = 40,
|
PERCENT_YACC = 40, /* "%yacc" */
|
||||||
BRACED_CODE = 41,
|
BRACED_CODE = 41, /* "{...}" */
|
||||||
BRACED_PREDICATE = 42,
|
BRACED_PREDICATE = 42, /* "%?{...}" */
|
||||||
BRACKETED_ID = 43,
|
BRACKETED_ID = 43, /* "[identifier]" */
|
||||||
CHAR = 44,
|
CHAR = 44, /* "character literal" */
|
||||||
COLON = 45,
|
COLON = 45, /* ":" */
|
||||||
EPILOGUE = 46,
|
EPILOGUE = 46, /* "epilogue" */
|
||||||
EQUAL = 47,
|
EQUAL = 47, /* "=" */
|
||||||
ID = 48,
|
ID = 48, /* "identifier" */
|
||||||
ID_COLON = 49,
|
ID_COLON = 49, /* "identifier:" */
|
||||||
PERCENT_PERCENT = 50,
|
PERCENT_PERCENT = 50, /* "%%" */
|
||||||
PIPE = 51,
|
PIPE = 51, /* "|" */
|
||||||
PROLOGUE = 52,
|
PROLOGUE = 52, /* "%{...%}" */
|
||||||
SEMICOLON = 53,
|
SEMICOLON = 53, /* ";" */
|
||||||
TAG = 54,
|
TAG = 54, /* "<tag>" */
|
||||||
TAG_ANY = 55,
|
TAG_ANY = 55, /* "<*>" */
|
||||||
TAG_NONE = 56,
|
TAG_NONE = 56, /* "<>" */
|
||||||
INT = 57,
|
INT = 57, /* "integer literal" */
|
||||||
PERCENT_PARAM = 58,
|
PERCENT_PARAM = 58, /* "%param" */
|
||||||
PERCENT_UNION = 59,
|
PERCENT_UNION = 59, /* "%union" */
|
||||||
PERCENT_EMPTY = 60
|
PERCENT_EMPTY = 60 /* "%empty" */
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user