Alas, the scanner is allowed to return an integer only. It cannot
return a string.
Anyhow, your sample %token statement declares two tokens, not one; the
last being meaningless.
On 3/2/19 21:13, Derek Clegg wrote:
On Feb 18, 2019, at 9:59 PM, Akim Demaille <[email protected]> wrote:
Hi Derek,
Le 18 févr. 2019 à 21:07, Derek Clegg <[email protected]> a écrit :
Perhaps I’m doing something wrong, but it appears that, in C++, %token-table
doesn’t work: instead of yytname, I only see yytname_. It also appears that
YYNTOKENS, YYNNTS, YYNRULES, and YYNSTATES are not defined, contrary to the
documentation. Am I missing something, or is this broken?
Let me answer with a question: what are you trying to achieve?
What do you need these for?
What I’d actually like to do is get the string name associated with a symbol.
For example, if I had
%token PLUS_ASSIGN "+="
%token MINUS_ASSIGN "-="
...
then I could write something akin to
assignment-expression:
name assignment-op expression
{
std::cout << "Assignment: " << get_name_of_op($2) << "\n";
$$ = build_assignment(get_name_of_op($2), $name, $expression);
}
;
assignment-op: "+=" | "-=" | ... ;
Derek
_______________________________________________
[email protected] https://lists.gnu.org/mailman/listinfo/help-bison
_______________________________________________
[email protected] https://lists.gnu.org/mailman/listinfo/help-bison