diff --git a/doc/bison.texi b/doc/bison.texi index bfa8687b..7ad86c72 100644 --- a/doc/bison.texi +++ b/doc/bison.texi @@ -6484,8 +6484,7 @@ with other members of the @code{SymbolKind} class. @item Default Value: -@code{YYSYMBOL_} in C. @code{S_} in C++ and Java. The default prefix is -removed from D. +@code{YYSYMBOL_} in C, @code{S_} in C++ and Java, empty in D. @item History: introduced in Bison 3.6. @end itemize @@ -6503,9 +6502,9 @@ C++, D @item Purpose: Request that symbols be handled as a whole (type, value, and possibly location) in the scanner. In the case of C++, it works only when -variant-based semantic values are enabled -(@pxref{C++ Variants}), @xref{Complete Symbols}, for details. In D, -token constructor works with both "%union" and "%define api.value.type union". +variant-based semantic values are enabled (@pxref{C++ Variants}), see +@ref{Complete Symbols}, for details. In D, token constructors work with both +@samp{%union} and @samp{%define api.value.type union}. @item Accepted Values: Boolean. diff --git a/examples/d/calc/calc.y b/examples/d/calc/calc.y index 7273d16c..f2b0e8b2 100644 --- a/examples/d/calc/calc.y +++ b/examples/d/calc/calc.y @@ -20,17 +20,14 @@ %language "D" %define api.parser.class {Calc} -%define parse.error detailed -%define parse.trace %define api.push-pull push %define api.token.constructor +%define api.value.type union +%define parse.error detailed +%define parse.trace %locations -%union { - int ival; -} - /* Bison Declarations */ %token PLUS "+" MINUS "-" @@ -39,9 +36,9 @@ LPAR "(" RPAR ")" EOL "end of line" -%token NUM "number" -%type exp -%printer { yyo.write($$); } +%token NUM "number" +%type exp +%printer { yyo.write($$); } %left "-" "+" %left "*" "/"