Yes. Thanks. I do remember it in 6 and the hack in cc to run it or not(it
took years for me to break the habit of starting a C program with a #) but
what I don’t remember was it in v5 - which we only ran briefly (I
personally never saw V4 either although I know Columbia and I believe
Harvard had it)
Clem
On Sat, Feb 26, 2022 at 6:12 PM Rob Pike <robpike(a)gmail.com> wrote:
Cpp was definitely in v6, and I'm pretty sure it
was in earlier editions.
The first pass of the C compiler would invoke it if the first byte of the
source file was a '#'. However, the early version only did #define and
#include. It was rewritten for v7, I believe, introducing the catastrophe
of #ifdef, while the existential horror of #if was later still, foisted on
us by someone not in Research.
-rob
On Sun, Feb 27, 2022 at 9:53 AM Clem Cole <clemc(a)ccc.com> wrote:
Some thoughts ..
1.) the precursor to the csh is the newshell in {1}BSD. It's Joy's hack
to the Thompson shell and you might find it more usable.
2.) PWB 1.0 is based on a V6 kernel and has the Mashey Shell, which is in
C and predates Bourne's It might also be easier for you to use.
3.) srb wrote his shell during the transition between V6, TS and V7. At
least one version ran on the V6++ system we had at CMU, but of course as
pointed out, it is written in Bourne-Gol. And I'm pretty sure his CPP
definitions will need at least a gen2 /lib/cpp implementation*** However,
Steve was also doing it at the time when the compiler was being updated.
FWIW: We also had the 'Typesetter C' running on our V6 system in those
days. So my >>guess<< is that v6 + Typesetter C - will compile the V7
shell.
Clem
*** Rob or Steve Johnson - maybe remembers when cpp first appeared. I
don't remember if it was part of V5 or not - those bits have faded from my
brain. What I do remember is there were a couple of different cpp's early
on. The first one was pretty crude by today's standards, albeit it was a
cool idea and it was the one thing I really liked about C over BLISS early
on [BLISS had Macros, which was cool aalso, but cpp could do things Bliss
could not].
--