skeletons: introduce api.symbol.prefix

* data/skeletons/bison.m4 (b4_symbol_prefix): New.
(b4_symbol_kind): Use it.
* data/skeletons/c++.m4, data/skeletons/c.m4, data/skeletons/d.m4
* data/skeletons/java.m4 (api.symbol.prefix): Provide a default value.

* data/skeletons/glr.c, data/skeletons/glr.cc, data/skeletons/lalr1.cc,
* data/skeletons/lalr1.d, data/skeletons/lalr1.java, data/skeletons/yacc.c:
Adjust: use b4_symbol_prefix instead of YYSYMBOL_.
This commit is contained in:
Akim Demaille
2020-04-07 08:09:29 +02:00
parent 52d0e77c2c
commit bbb9750b3e
11 changed files with 64 additions and 59 deletions

View File

@@ -411,17 +411,18 @@ m4_define([_b4_symbol],
# otherwise some symbols might not be represented in the enum, which
# might be compiled into too small a type to contain all the symbol
# numbers.
m4_define([b4_symbol_prefix], [b4_percent_define_get([api.symbol.prefix])])
m4_define([b4_symbol_kind],
[m4_case([$1],
[-2], [[YYSYMBOL_YYEMPTY]],
[0], [[YYSYMBOL_YYEOF]],
[b4_percent_define_get([api.symbol.prefix])dnl
m4_case([$1],
[-2], [[YYEMPTY]],
[0], [[YYEOF]],
[m4_case(m4_quote(b4_symbol([$1], [tag])),
[$accept], [[YYSYMBOL_YYACCEPT]],
[error], [[YYSYMBOL_YYERROR]],
[$undefined], [[YYSYMBOL_YYUNDEF]],
[b4_symbol_if([$1], [has_id],
[[YYSYMBOL_]]m4_quote(_b4_symbol([$1], [id])),
[[YYSYMBOL_$1_][]m4_bpatsubst(m4_quote(_b4_symbol([$1], [tag])), [[^a-zA-Z_0-9]], [_])])])])])
[$accept], [[YYACCEPT]],
[error], [[YYERROR]],
[$undefined], [[YYUNDEF]],
[b4_symbol_if([$1], [has_id], m4_expand(_b4_symbol([$1], [id])),
[[$1_][]m4_bpatsubst(m4_quote(_b4_symbol([$1], [tag])), [[^a-zA-Z_0-9]], [_])])])])])
# b4_symbol(NUM, FIELD)