10.1.5.2 Complete Symbols

If you specified both %define api.value.type variant and
%define api.token.constructor,
the parser class also defines the class parser::symbol_type
which defines a complete symbol, aggregating its type (i.e., the
traditional value returned by yylex), its semantic value (i.e., the
value passed in yylval, and possibly its location (yylloc).

Build a complete terminal symbol which token type is type, and which
semantic value is value. If location tracking is enabled, also pass
the location.

This interface is low-level and should not be used for two reasons. First,
it is inconvenient, as you still have to build the semantic value, which is
a variant, and second, because consistency is not enforced: as with unions,
it is still possible to give an integer as semantic value for a string.

So for each token type, Bison generates named constructors as follows.

Build a complete terminal symbol for the token type token (not
including the api.token.prefix) whose possible semantic value is
value of adequate value_type. If location tracking is enabled,
also pass the location.