|Re: GNU bison++ and flex email@example.com (Mike Dimmick) (2001-05-18)|
|Re: GNU bison++ and flex firstname.lastname@example.org (Zack Weinberg) (2001-05-21)|
|Re: GNU bison++ and flex email@example.com (Mike Dimmick) (2001-05-22)|
|From:||"Mike Dimmick" <firstname.lastname@example.org>|
|Date:||18 May 2001 23:52:52 -0400|
|Posted-Date:||18 May 2001 23:52:52 EDT|
"Raymond Sebuwufu" <email@example.com> wrote in message
> I am interested in using GNU bison++ 1.21-8 and the flex program provided
> with Unix on a Sun Solaris Unix 5.8 box.
Firstly, I should say that the comp.compilers.tools.pccts newsgroup
isn't really an appropriate forum for this message, being dedicated to
the PCCTS and ANTLR 2.x compiler construction tools.
> My aim is to produce a parser that can read input from text files of
> a certain format and process this input.
> This parser is to be incorporated with other software being written and in
> will produce a system that is to be sold commercially.
> I have read the GPL License that apply to bison++ 1.21-8 and though it was
> hard going I think I understand that I would not be infringing the license
> including the parser generated using bison++ 1.21-8 and the flex provided
> on the sun box with other software and making the combination available
> commercially for a price.
If I remember correctly, bison is released under the Limited (or
Library) General Public License. This differs from the full General
Public License in that you are permitted to LINK TO (but not modify)
pieces of the supplied source code. This is necessary for a Bison
parser because the parsing automaton is covered by this license and is
included in every generated parser (indeed, the portion you wrote, the
grammar production rules, are translated merely to state transition
and action tables).
I'm just checking the terms for bison++ now. It appears that it's
under the full GPL, so (if you wish to conform to the terms of the
license) you MUST release the source code of any and all extensions
you make to the supplied code. Since the parser automaton is covered
by the GPL, that means you must make available the entire source of
your completed program that links to the program and permit its
subsequent modification by any and all developers. Essentially, you
don't get to keep the copyright in your own work. This is deliberate
on the part of the GNU people. 
Flex is released under a Berkeley license. You can distribute
modified source so long as you keep the existing copyright notices in
the source code, and binaries that are based on their source should
also acknowledge the source in an "about" box or some such.
> If you know about these issues can you please also state any other
> requirements in the GPL license that I have to adhere to with
> respect to the parser produced from bison++1.21-8 and flex on the
> Solaris box.
Oops, see above.
> If not then is there a version of bison++ that can be used in
> software that is to be made commercially available?
You'll have to pay for it ($895 last time I looked) - there's a
program called Yacc++ from Compiler Resources, Inc.
(http://world.std.com/~compres/). There are a number of other parser
construction tools available. More information can be found in the
regular postings to comp.compilers for both free and commercial
I'd be remiss if I failed to mention that PCCTS and ANTLR 2.x can
probably both do what you're looking for!
> Can you also confirm if your answer would be the same if I were to
> use the snacc compiler to create this parser.
I'm just looking at it now. There's no announcement on the home page
(http://www.fokus.gmd.de/ovma/freeware/snacc/) of the license terms.
However, the GPL appears in the expected place (COPYING in the root of the
source distribution), so the same terms apply as to bison++.
 As you can tell, I'm not keen on the GPL. Make your software
freely available if you like, but don't presume to tell me what I can
do with _my_ adaptations of the software you have made available. I
won't even examine source code of GPL'd software to avoid any possible
charge of non-literal copying (writing a new piece of software based
on knowledge of another).
Return to the
Search the comp.compilers archives again.