, but if your design is still flexible, I'd suggest
using names that are more obvious about where the code will be
generated. For example:
%header{...}
%both{...}
Or maybe:
%declare{...}
%define{...}
%both{...}
In test release 2.3a, the directives are actually named %before-
header,
%start-header, %end-header, and %after-header. When considering C
and C++
in isolation, I preferred those names although other developers
seemed to
find them confusing. However, we have someone working on adding Java
support, and there could be other target languages some day as
well. We
chose the current names (%code, %requires, etc) because they
describe the
purpose of the directives at a more abstract level that seems to make
sense for Java and hopefully future languages.