Thanks for your response. I suggest you read through the bison manual, particularly the section on token type names, in order to better understand my question.
Derek > On Mar 2, 2019, at 12:26 PM, John P. Hartmann <jphartm...@gmail.com> wrote: > > 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 <a...@lrde.epita.fr> wrote: >>> >>> Hi Derek, >>> >>>> Le 18 févr. 2019 à 21:07, Derek Clegg <de...@me.com> 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 >> _______________________________________________ >> help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison > > _______________________________________________ > help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison _______________________________________________ help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison