Hash8 documentation				Arch D. Robison
						University of Illinois
						Urbana Champaign

						robison@uiucdcs

			Hash8 

There three files (other than DOC) provided:

	hash8.c     source code for long identifier converter
	Makefile    example makefile
	ncc	    shell script for compiling

The hash8 program allows short-identifier C compilers to compile
long-identifier programs.  It is not intened for production use,
but for quickly porting long-identifier programs.

See the documentation in hash8.c and the Makefile for how to use it with cc.

----------------------------------------------------------------------

			Hash8 with lint

I've been able to hack a short identifier lint with "hash8" so it would work
with long identifier programs.  This was an easy modification since lint is
a shell script.  The "hash8 encode" filter was put in between /lib/cpp and 
/usr/lib/lint/lint and all error message written to a temporary file.
Then "hash8 decode" was used to decode the error messages.

Note that hash8's can not run in parallel, since the identifier map is read all
at once and written all at once.

Thus you can't (regrettably) do: 

     hash8 encode TABLE | /lib/cpp | hash8 decode TABLE

The above would have to be written:

     hash8 encode TABLE >TEMP
     cat TEMP | /lib/cpp | hash8 decode TABLE

