On Mon, 3 Nov 2008, Sergei Steshenko wrote:
And bison-2.3a does _not_ break the build, i.e. the
'treelang' broken by
bison-2.4, bison-2.3b is not broken by bison-2.3a, but the
Either you did something wrong or something else strange is happening.
2.3a has the same bug as 2.3b and 2.4:
% echo '%% start: {asdf} ;' > tmp.y
% ~/installs/bison/2.3/bin/bison tmp.y && grep asdf tmp.tab.c
{asdf;}
% ~/installs/bison/2.3a/bin/bison tmp.y && grep asdf tmp.tab.c
{asdf}
% ~/installs/bison/2.3b/bin/bison tmp.y && grep asdf tmp.tab.c
{asdf}
% ~/installs/bison/2.4/bin/bison tmp.y && grep asdf tmp.tab.c
{asdf}
As far as I can tell (and according to Bison's source comments), this
strange little feature is undocumented, and I don't know why the gcc
maintainers would depend on it. It's not that hard to type a
semicolon.
In general, I don't understand why people like to make life
complicated by
being so uselessly clever. I guess this feature was originally
introduced
for compatibility with some other implementation of Yacc.
Anyway, I pushed the following to branch-2.4.1 to fix it. I'll push
to
master soon.