When Bison turns a .y file into a y.tab.c, it removes any license
header from the .y file, and asserts its own license over the file
(which comes from the parser skeleton).
It says that the entire file is free software redistributed
under terms of the GPL (with a dubious exception that it may be
combined with any program, as long as it isn't a parser generator
using it as a skeleton).
The y.tab.c file is a derived work of the .y file. It may contain large
amounts of verbatim code copied from the .y, and of course it
contains parser tables which are derivatives of the grammar.
Removing its copyright and license notices is fair: after all,
source code copyright notices don't propagate into .o object files
*Replacing* the copyright notice to assert another one isn't
The skeletons of a parser generator tool, if that tool is intended
for making legally unencumbered programs (no redistribution
royalties or any other baggage), then those skeletons should themselves
be free of any licensing.
There is basically reasonable way for a y.tab.c file to carry
any legal assertions inherited from the Bison generator; the tool should
spit out code without any copyright notices.
When I make a "file.s" file using "gcc -s file.c", I don't see any
copyright in there, even though the instructions came from insn
templates which came from some GPL-ed file in gcc.