The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [pups] Bringing up the fist C compiler
@ 2002-09-05 17:47 Al Kossow
  2002-09-05 23:21 ` Johnny Billquist
  0 siblings, 1 reply; 21+ messages in thread
From: Al Kossow @ 2002-09-05 17:47 UTC (permalink / raw)


A non-text attachment was scrubbed...
Name: not available
Type: text/richtext
Size: 232 bytes
Desc: not available
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20020905/510f1b0b/attachment.rtx>


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [pups] bringing up the fist C compiler
@ 2002-09-06  5:35 Dennis Ritchie
  2002-09-06  8:14 ` Warren Toomey
  2002-09-06  8:28 ` Lars Brinkhoff
  0 siblings, 2 replies; 21+ messages in thread
From: Dennis Ritchie @ 2002-09-06  5:35 UTC (permalink / raw)


The chist paper on my home page is pretty complete (if telegraphic)
about bootstrapping B on the PDP-7 and later C (via B) on the -11.
It does not, indeed, explain TMG.  Doug McIlroy did write TMG
(on the -7) first in assembly language, then bootstrapped
that into itself.  Doug had used TMG to write EPL, the early
Pl/I compiler for Multics.  I don't know whether he needed
to create a new implementation of TMG for that or whether
it was already running on the IBM 7094.

The paper also mentions (as does some of the other history stuff)
that Unix itself was written first in assembler on the GE-645
(running GECOS, not Multics at that point),
using a macro package that turned symbolic -7 instructions into
an object deck that could be rendered onto paper tape.

There is not much about TMG on the web that I can find
(and some of it is inaccurate).

Incidentally, TMG didn't immediately survive the move
to the -11. B was already in its own language,
and nothing else was using TMG besides itself.
Doug did revive it later just for fun, and it is in the
6th edition distribution--you can get it nearby!

Both on the -7 and the -11, TMG was implemented as
an interpreter for an abstract machine.

	Dennis




^ permalink raw reply	[flat|nested] 21+ messages in thread
* [pups] Bringing up the fist C compiler
@ 2002-09-05 22:54 Carl Lowenstein
  0 siblings, 0 replies; 21+ messages in thread
From: Carl Lowenstein @ 2002-09-05 22:54 UTC (permalink / raw)


> From: Al Kossow <aek at spies.com>
> To: pups at tuhs.org
> Subject: Re: [pups] Bringing up the fist C compiler
> Content-ID: <9012_13188_1031248039_2 at spies.com>
> Date: Thu, 5 Sep 2002 10:47:19 -0700
> 
> <nl>
> > I guess my MACRO-11 implementation of C isn't good enough.
> > (Well, it ain't mine, it's the normal DECUS C, but I'm hacked some at i=
> t.)
> <nl><nl>
> 
> and to bring this full circle, do you know where DECUS C came from?
> <nl><nl>

It is my understanding that it was a "clean room" reimplementation of
the 6th Edition Unix "cc" and "as".

    carl
-- 
    carl lowenstein         marine physical lab     u.c. san diego
                                                 clowenst at ucsd.edu



^ permalink raw reply	[flat|nested] 21+ messages in thread
* [pups] Bringing up the fist C compiler
@ 2002-09-05 15:36 Ian King
  0 siblings, 0 replies; 21+ messages in thread
From: Ian King @ 2002-09-05 15:36 UTC (permalink / raw)


About a thousand years ago, I recall hand-building programs for 8-bit microprocessors (in what we'd call embedded systems today).  In many cases, I was the "assembler", writing directly in machine code which was then either keyed in through front-panel switches or burned into a PROM....  -- Ian 

	-----Original Message----- 
	From: Johnny Billquist [mailto:bqt at update.uu.se] 
	Sent: Thu 9/5/2002 5:05 AM 
	To: Tim Bradshaw 
	Cc: pups at minnie.tuhs.org 
	Subject: Re: [pups] Bringing up the fist C compiler
	
	

	On Thu, 5 Sep 2002, Tim Bradshaw wrote:
	
	> * Johnny Billquist wrote:
	>
	> > How? It was written, of course. In assembler. By that time, you already
	> > had the assembler, an editor, and other commonly used system programs, so
	> > it's just a case of the normal development cycle.
	>
	> Is this known or is it deduction?
	
	[...]
	
	Ah. Ok, now I understand what you're asking for.
	You want to know what the first C was written in, and what that
	compiler/assembler was written in/on, and so on...
	
	No, I'm just deducting. Since the reference posted said that TMG was the
	first higher level language implemented, it follows that it must have been
	written in a low level language, namely assembler.
	
	Admittedly, the PDP-7 TMG *could* have been written in some high level
	language on some other machine using some tool that made a PDP-7
	executable, so your guess is as good as mine.
	
	But even though I cannot account for all steps, I can guarantee that at
	the end of the chain, you *will* find assembler.
	
	I guess my MACRO-11 implementation of C isn't good enough. :-)
	(Well, it ain't mine, it's the normal DECUS C, but I'm hacked some at it.)
	
	        Johnny
	
	Johnny Billquist                  || "I'm on a bus
	                                  ||  on a psychedelic trip
	email: bqt at update.uu.se           ||  Reading murder books
	pdp is alive!                     ||  tryin' to stay hip" - B. Idol
	
	_______________________________________________
	PUPS mailing list
	PUPS at minnie.tuhs.org
	http://minnie.tuhs.org/mailman/listinfo/pups
	




^ permalink raw reply	[flat|nested] 21+ messages in thread
* [pups] Bringing up the fist C compiler
@ 2002-09-05  8:06 Tim Bradshaw
  2002-09-05  8:16 ` Warren Toomey
  2002-09-05  9:38 ` Johnny Billquist
  0 siblings, 2 replies; 21+ messages in thread
From: Tim Bradshaw @ 2002-09-05  8:06 UTC (permalink / raw)


Is there a description anywhere of how C was originally bootstrapped?
I'm sure it was nothing unconventional, but the question of how you
bring up compilers for other languages which are implemented in their
own language seems to mystify some people to the extent that they
argue that the compiler must be written in C (which is `always
there'), and I thought it would be good to have the real story about C
to tell them.

Thanks

--tim




^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2002-09-09 21:17 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-05 17:47 [pups] Bringing up the fist C compiler Al Kossow
2002-09-05 23:21 ` Johnny Billquist
  -- strict thread matches above, loose matches on Subject: below --
2002-09-06  5:35 [pups] bringing " Dennis Ritchie
2002-09-06  8:14 ` Warren Toomey
2002-09-06  8:56   ` Lars Brinkhoff
2002-09-06 10:28     ` Warren Toomey
2002-09-06 10:52       ` Lars Brinkhoff
2002-09-06 11:06         ` Warren Toomey
2002-09-06  8:28 ` Lars Brinkhoff
2002-09-05 22:54 [pups] Bringing " Carl Lowenstein
2002-09-05 15:36 Ian King
2002-09-05  8:06 Tim Bradshaw
2002-09-05  8:16 ` Warren Toomey
2002-09-05  9:38 ` Johnny Billquist
2002-09-05  9:41   ` Tim Bradshaw
2002-09-05 10:07     ` Johnny Billquist
2002-09-05 10:15       ` Lars Brinkhoff
2002-09-05 11:19       ` Tim Bradshaw
2002-09-05 12:05         ` Johnny Billquist
2002-09-05 16:11           ` Michael Davidson
2002-09-09 21:17             ` Peter Jeremy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).