On Thu, Mar 7, 2024, 4:14 PM Tom Lyon <pugs78 at gmail.com> wrote:
For no good reason, I've been wondering about the
early history of C
compilers that were not derived from Ritchie, Johnson, and Snyder at Bell.
Especially for x86. Anyone have tales?
Were any of those compilers ever used to port UNIX?
An unusual one would be the “revenue bomb” compiler that Charles Simonyi and Richard
Brodie did at Microsoft in 1981.
This compiler was intended to provided a uniform environment for the menagerie of 8 and
16-bit computers of the era. It compiled to a byte code which executed through a small
interpreter. This by itself was hardly new of course, but it had some unique features. It
generated code in overlays, so that it could run a code base larger than 64KB (but it
defined only one data segment). It also defined a small set of “system” commands, that
allowed for uniform I/O. I still have the implementation spec for that interpreter
somewhere.
This compiler was used for the first versions of Multiplan and Word, and my understanding
is that the byte code engine was later re-used in Visual Basic. I think the compiler also
had a Xenix port, maybe it even was Xenix native (and at this time, Xenix would still
essentially have been V7).
I am not sure to what extent this compiler was independent of the Bell compilers. It could
well be that it was based on PCC, Microsoft was a Unix licensee after all and at the time
busy doing ports. On the other hand, Charles Simonyi would certainly have been capable of
creating his own from scratch. I do know that this compiler preceded Lattice C, the latter
of which was distributed by Microsoft as Microsoft C 1.0.
Maybe others know more about this Simonyi/Brodie compiler?
Paul
Notes:
http://www.memecentral.com/mylife.htm
https://web.archive.org/web/20080905231519/http://www.computerworld.com/sof…
http://seefigure1.com/images/xenix/xenix-timeline.jpg