On 2 Dec 2006, at 06:23, Paul Eggert wrote:
2. The prologue alternatives: %code, %requires, %provides, and %
code-top.
Yes. Though to be honest I can't even remember what all of them are
for....
I have looked this up in the Bison manual CVS version. The idea I had
a couple of years ago, in order to avoid such a cluster of options
nobody can recall, was to have just one command with the syntax:
%code <identifier> {<code>}
With this method, people developing skeleton files need not asking
for a Bison grammar tweak. As I pointed out before, it is probably
better to use %define for writing verbatim macros, and %code for code
that adjusts according to output language.
Then the variations %requires, %provides, and %code-top might get
uses such as
%code header {<code>} - For C++ (replacing %requires)
%code import {<code>} - For Java (replacing %requires)
%code source-top {<code>} - Replacing %code-top
or whatever: one can use the old names "requires", "provides", "code-
top", too; whatever one finds is intuitive and descriptive.
It is still possible to extend the current %code by just letting it
having an optional argument.
Hans Aberg