Related articles |
---|
yacc, byacc, bison car@access5.digex.net (1998-06-09) |
Re: yacc, byacc, bison t92etr@student.tdb.uu.se (Erik Trulsson) (1998-06-11) |
From: | Erik Trulsson <t92etr@student.tdb.uu.se> |
Newsgroups: | comp.compilers |
Date: | 11 Jun 1998 16:58:58 -0400 |
Organization: | Uppsala Universitet |
References: | 98-06-039 |
Keywords: | yacc |
Mr. Blue <car@access5.digex.net> wrote:
> Can someone summarize the differences between these 3 tools? What
> are the relative advantages/disadvantages to help one choose one over
> the others?
> Thanks
> [The differences are more political than functional. The original
> yacc belongs to whoever owns the Bell Labs Unix source code now and is
> still considered proprietary. Berkeley Yacc is freely available under
> the Berkeley "just don't sue us" license, while Bison, which is
> derived from Berkeley yacc is copylefted, although bison-generated
> parsers now aren't. Bison has a grab bag of extra features added in.
> Other than the reentrant parser option, I don't find the added stuff
> very useful. -John]
One thing that I don't like about Bison is that the generated code
uses the 'alloca()' function which is not part of ANSI C and therefore
not portable. (Most, but by no means all, implementations do support
alloca() though so it is not a huge problem.) The code generated by
byacc does not AFAIK contain any similarily unportable constructs. (I
haven't used the original yacc but I can't think of any reason to use
that instead of byacc or Bison)
--
Erik Trulsson
t92etr@student.tdb.uu.se
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.