yacc: public domain?

Gary M. Samuelson garys at bunker.UUCP
Thu Jan 31 00:48:04 AEST 1985


> > How do I
> > know that the output of the C compiler isn't the legal property of
> > the compiler's author?
> 
> In the case if C (and most other high-level languages), the output
> of the compiler isn't usually considered to be property of the
> compiler company.  After all, they would be hard-pressed to show
> that your object code duplicates, or is a translation of, their
> compiler.  On the contrary, you can show relatively easily that
> it is a translation of YOUR source program.
> 
> BUT!!!!  High-level languages almost always have an object-time
> library associated with them, and direct copies of subroutines
> from this library ARE linked in to your object deck.  Almost all
> compilers come with a prohibition against commercial sales of
> programs which were linked with their object libraries!

Let me see if I understand this:  If a source statement which I
write is turned into several lines of machine code, which is
inserted in line, then the machine code is mine, but if my source
statement is turned into one or more lines of machine code which
call a subroutine, then I can have the call, but not the called
routine.

What's the difference between a library routine, which becomes
part of my object module in response to my source code, and an
inline routine which becomes part of my object module in the
same way?  The source for both routines was written by the
compiler vendor; why do I own the object for one but not the
other?  (Note that I said object; if the vendor claims right
to the source of the library, that's fine.)

In fact, I don't even know when I'm calling a library routine
and when I'm not.  If the target machine doesn't have instructions
for 32 bit integer arithmetic (e.g., the Z80 and the M68000),
then the binary operators '*' and '/' produce calls to library
routines.

Sounds like the story I heard about a man who was willing to
let his neighbor use his lawn mower, only on condition that
the neighbor couldn't remove it from the premises.

Gary Samuelson
ittvax!bunker!garys



More information about the Comp.unix.wizards mailing list