Hi Askar,
> Le 13 déc. 2018 à 05:09, Askar Safin <[email protected]> a écrit :
>
> Hi, Akim and others.
> Is this OK to explicitly include bison-generated header in .yy file? In
> http://lists.gnu.org/archive/html/bug-bison/2018-12/msg00011.html you said
> this is not OK.
I am especially worried when you include the header in itself,
i.e., if you include it in %code requires or provides. The
delicate part is that the user is allowed to provide information
before the definition of the semantic value type, and after it.
I remember having spent time on such issues, and I just live a
happier life if I don't have to include it at all, since the
parser does it for me at the right place.
Including from %code top or %code is ok. Useless, but ok.
However, we have double-inclusion guards, and now I fail to see
how things could possibly go wrong. So you are probably safe
in the other %code sections, but still, I would avoid it.
> parser.hh is generated by bison (side note: why not call it parser.tab.hh
> then?).
I don't understand what you mean. We generate consistently
parser.tab.{hh,cc} or parser.{hh,cc}, but nothing mixed. We
generate parser.tab.{hh,cc} by default, because I was too stupid
when I introduced the C++ skeleton to allow myself not to follow
the idiotic and historic naming scheme.