[net.unix-wizards] 4.2 question lint -C

chuqui@nsc.UUCP (Chuq Von Rospach) (01/26/84)

I've noticed going through the man pages for 4.2 that lint now creates lint
libraries using the new -C<foo> option. In playing with this, it turns out
these libraries are in an internal format instead of the format used by
things like llib-lc. Of course, there is not section 5 page on the format
of the <lib>.ln files, and there doesn't seem to be a way to use this
option to create straight ascii versions of the file. Does someone have the
format for the .ln files? What is the advantage of generating libraries
this way? Is there any way (beside my posted lintlib program) to generate
readable lint libraries? Have I missed something (again)?

-- 
From the house at Pooh Corner:	Chuq (a Silly Old Bear)
				{fortune,menlo70}!nsc!chuqui
				have you hugged your Pooh today?

The difficult we gave up on yesterday, the impossible we are giving up on now.

guy@rlgvax.UUCP (Guy Harris) (01/28/84)

> Does someone have the format for the .ln files?

The <lib>.ln format is the internal format that "lint" uses to pass things
between pass 1 and pass 2.  This probably can change between releases of
"lint", so it may not be appropriate to document it.  It doesn't resemble
what would be built from a regular "lint library", as it's built from the
original source of the library.

> What is the advantage of generating libraries this way?

In effect, using a lint library in its interpass internal form means you
don't spend the resources making the interpass format every time you run
"lint" with those libraries, so it's faster.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

gwyn%brl-vld@sri-unix.UUCP (01/29/84)

From:      Doug Gwyn (VLD/VMB) <gwyn@brl-vld>

The point of the binary lint libraries is that they save much time in
linting code to be linked with the libraries, since all the parsing
etc. has already been done for the library extern definitions.

You don't need an ASCII version, your original library source code
will do.  It is, however, more convenient for a couple of reasons
to hack up an ASCII version especially for lint, like /usr/lib/llib-lc,
and build the binary lint library from that.

This is analogous to the "compressed" [nt]roff macros.