Current Status of the Compiler.

  I have a compiler that accepts two input languages,
C and Pastel ("off-color Pascal", extended to be as powerful
as PL/I), and capable of generating code for Vaxes, 68000's,
and a few other machines.

 It runs reasonably fast, faster than the Unix C compiler, and makes
somewhat better code on the Vax at least.  It also contains an
automatic register packer so that there is no need (or use) for
register declarations.

  Unfortunately, the compiler is also very hairy, with 400k
bytes of code alone on a vax.  Also, it uses gigantic amounts
of data during execution, because it never reuses any storage
that it allocates dynamically, during the compilation of an
entire file.  It can use 2 mbytes compiling a large file.
This is unimportant for use on a machine with virtual memory,
since the working set is much smaller than that, but it makes
the compiler useless for many smaller machines that could otherwise
run GNU.

  The reason that the compiler is so big is that it was written
to compile Pastel, which is a hairy language.  I got the Pastel
compiler free and added the C front end and the 68000 code generator.

  It would be possible to make the compiler much smaller by
eliminating the ability to compile all the hairy constructs of
Pastel.  Unfortunately, this creates another problem: most of the
compiler is written in Pastel, and there would be no way to compile
it.  So it would also be necessary to rewrite it all into C.

  Aside from this, the compiler currently needs a few days work 
to be working properly for the Vax again.  It cannot currently
run on anything but Vax Unix, since there is no way to run
Pastel code on any other system until the compiler is fully bootstrapped
to that system via cross-compilation on the Vax.

  Chris Pettus and Velu Sinha are interested in working on solving
the compiler's problems by writing a new optimizing C compiler.
People with experience in compilers could help in the effort;
most easily if they are near L.A. or D.C.

If you are interested in this, call Chris Pettus at
(213) 202-8925, or Velu Sinha at (301) 699-8155.
