On Donnerstag, 9. Mai 2019 08:50:27 CEST Akim Demaille wrote: > > Perhaps a variation of $ and @ that gives access to the name, > > I am very uncomfortable with this. Symbol names are technical details, > most of the time they are irrelevant to the end user, just like the > the user of a piece of software does not care about the names of the > functions: that's a implementation detail.
That's actually a very common required feature in practice. The main use cases are: 1. Auto completion features 2. Human friendly error messages I do need these features for almost all parsers, hence for years (since not available directly with Bison) I have a huge bunch of code on top of the internal skeleton code to achieve them. With the obvious problems: - since based on skeleton internals, that extra code might break with new Bison version (which it did already several times) - since the generated parser tables are a compressed representation of the grammar, designed just to resolve grammar rules efficiently at runtime, hence information is missing for the tasks above that must be extra polated with additional custom code to achieve those feature ATM > In addition, tokens have several names: the identifier, and the > string name, like > > %token <string> ID "identifier" > > Not to mention that I also want to provide support for > internationalization. So what name should that be? ID? > identifier? or identifiant in French? In practice you just need the symbol name as is. Nobody needs the translation, or if somebody really needs it, then anybody can achieve this very, very easily on its own. That's trivial. The main reason why people are asking for support on Bison side for the features discussed here is that it is currently not trivial to achieve them with own, custom code. You do need to have a profound knowledge of how the internal skeleton algorithm works to be able to extra polate the missing information by custom code on top of it. Best regards, Christian Schoenebeck _______________________________________________ help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison