[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
My plans for Bison
Eric S. Raymond
My plans for Bison
Tue, 12 Feb 2019 12:34:49 -0500 (EST)
This was originally mail I sent to Akim Demaille. Her asked me to
direct it to this list.
Here are the things I want to do:
0. My original intention was to fix a minor glitch in the C skeleton that
cases a spurious warning when NTPsec is building. I see that has already
been done. Has it shipped in an official release yet?
1. I'm working on a new section for the Bison manual called "A Brief History
of the Greater Ungulates". It summarizes the history of and differences
among yacc, byacc, zoo, my own obscure yacchack mod, and bison.
I had friendly contact with Steve Johnson while working on "The Art of
Unix Programming". I've sent him email asking for specifics on the
birth year and language of YACC. I think it was 1973 and B, but web
sources are vague and inconclusive and the papers are not dated.
I expect to have a first version of the history section ready to ship
2. There's a declaration-order bug that shows up when building re-entrant
parsers; I tripped over it while working on cvs-fast-export. It's described
3. I don't know if I can budget the time for this, it is several days
solid work at minimum, but...the autoconf build recipe in Bison is
(like all large old autoconf recipes) deeply horrible; it should be
razed to the ground and replaced.
It used to be that teetering piles of kludges like this one were justified
by their capability-discovery phase. There wasn't realistically any
other way to deal with Unix-variant issues and compiler vagaries.
But the value of that benefit has pretty much vanished since the
mid-2000s due to pervasive compiler and OS standardization. We no
longer have deal with (for example) some systems having "string.h"
and others having "strings.h"
Three years ago I removed a worse autoconf monstrosity than Yacc's from
the NTP code base. A couple days ago I de-autoconfiscated giflib. Many
KLOC of m4 and shell cruft collapsed to two small makefiles with no
I'd be willing to take a whack at this if I can clear the time, but
I have to know that the project is willing to take such a change
before I put in that amount of effort.
If you're willing to assume that your target platforms are compliant
with C99 and POSIX-1.2001 this is actually very low-risk. I started
making that assumption in 2009 on GPSD - ripped out autoconf and all
the ancient #ifdefs - and haven't had even a microhassle about it in
the eight years since. And Bison is a much easier case; as a pure
text processor its system dependencies are lighter.
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
Alcohol still kills more people every year than all `illegal' drugs put
together, and Prohibition only made it worse. Oppose the War On Some Drugs!
Re: My plans for Bison, Paul Eggert, 2019/02/12
- My plans for Bison,
Eric S. Raymond <=