|
From: | Hans Aberg |
Subject: | Re: experimental features in Bison 2.3a+ |
Date: | Sat, 2 Dec 2006 22:54:58 +0100 |
On 2 Dec 2006, at 22:30, Joel E. Denny wrote:
I do not know about Savannah.Oh, here: http://cvs.savannah.gnu.org/viewcvs/?root=bison
Thank you.Lest I forget about it, here is the principle that may or may not be of importance for code placement commands:
If the language changes, then the parsing of the code part may need to change depending on which output language is used. This may be limited to the treatment of "{" and "}" insides the comments and strings and characters of the output language.
I therefore think there should be a command %code which changes parsing in this way. By contrast, if %define is used output macros, one would expect it to be verbatim.
And such a command %code might need to recognize different Bison contexts. This is already done in implementation, I think, when the $k variables, etc., are translated in the actions, which should not be done in other code placement. I do no know of such a context switch that will affect the user, though.
And for the other %<name> commands, one might separate those that belong to the grammar language, and others that merely are compiler options (corresponding to %pragma in C/C++ preprocessors). This will be mainly be of importance if the .y files should be compilable with another compiler than Bison, in which case one would want the Bison options to be ignored. Just a contingency comment.
Hans Aberg
[Prev in Thread] | Current Thread | [Next in Thread] |