Re: %token-table doesn't seem to be working for C++?

"John P. Hartmann" <[email protected]>
Newsgroups gmane.comp.parsers.bison.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.