The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: brantleycoile@me.com (Brantley Coile)
Subject: [TUHS] Algol68 vs. C at Bell Labs
Date: Fri, 01 Jul 2016 05:32:53 -0400	[thread overview]
Message-ID: <411C9B22-5CA2-4539-AD93-73292A124BEF@me.com> (raw)
In-Reply-To: <CMM.0.96.0.1467307050.beebe@gamma.math.utah.edu>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2528 bytes --]

Wirth attempted to write a simple language to write the real Pascal compiler. One fatal flaw was that the simpler language lacked recursion, which was optional in those days, and the use of the Pascal-0 was abandoned. The next attempt was to write the compiler in Pascal and ``desk’’ compile it into machine code. That was amazingly successful, if tedious.

Later, to make porting easier, the good professor wrote a version that generated a stack based intermediate code called P-code. You could get a copy of the compiler in Pascal and P-code, write your own P-code interpreter and have a Pascal compiler. It was easy. Pascal compilers spread like locus after that. One could then change the compiler to write machine code for the actual machine, although many just extended their P-code emulators. It was “compile once, run anywhere” long before Java’s virtual machine.

BCPL came the same way, with a version of the compiler in CINIT code to move the compiler. 

The PCC required a donor machine already running Unix in somewhat close proximity to the target machine.

  Brantley Coile

> On Jun 30, 2016, at 1:17 PM, Nelson H. F. Beebe <beebe at math.utah.edu> wrote:
> 
> Ori Idan <ori at helicontech.co.il> asks today:
> 
>>> Pascal compiler written in Pascal? how can I compile the compiler it I
>>> don't yet have a pascal compiler? :-)
> 
> You compile the code by hand into assembly language for the CDC
> 6400/6600 machines, and bootstrap that way: see
> 
> 	Urs Ammann
> 	On Code Generation in a PASCAL Compiler
> 	http://dx.doi.org/10.1002/spe.4380070311
> 
> 	Niklaus Wirth
> 	The Design of a PASCAL Compiler
> 	http://dx.doi.org/10.1002/spe.4380010403
> 
> It has been a long time since I read those articles in the journal
> Software --- Practice and Experience, but my recollection is that they
> wrote the compiler in a minimal subset of Pascal needed to do the job,
> just to ease the hand-translation process.
> 
> -------------------------------------------------------------------------------
> - Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
> - University of Utah                    FAX: +1 801 581 4148                  -
> - Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
> - 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
> - Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
> -------------------------------------------------------------------------------



  reply	other threads:[~2016-07-01  9:32 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-30 17:17 Nelson H. F. Beebe
2016-07-01  9:32 ` Brantley Coile [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-06-30 13:44 Noel Chiappa
2016-06-30 14:28 ` William Cheswick
2016-06-30 19:23 ` John Cowan
     [not found] <mailman.19.1467287486.30583.tuhs@minnie.tuhs.org>
2016-06-30 13:15 ` David
2016-06-30 13:18   ` William Cheswick
2016-06-30 13:39     ` Clem Cole
2016-06-29 15:17 scj
2016-06-30  5:06 ` Dave Horsfall
2016-06-30  5:08 ` John Cowan
2016-06-30 11:18 ` arnold
2016-06-30 11:45   ` arnold
2016-06-30 13:22 ` Clem Cole
2016-06-30 14:05   ` Marc Rochkind
2016-06-30 14:33     ` William Cheswick
2016-06-30 14:43       ` Ronald Natalie
2016-06-30 14:57       ` Joerg Schilling
2016-06-30 15:07         ` Ori Idan
2016-06-30 23:07           ` Dave Horsfall
2016-07-01  3:27           ` Jesus Cea
2016-06-30 15:32     ` Dan Cross
2016-06-30 15:49       ` Larry McVoy
2016-06-30 16:32         ` Clem Cole
2016-06-30 17:07       ` John Cowan
2016-06-30 17:57         ` Marc Rochkind
2016-06-30 18:31           ` Dan Cross
2016-06-30 19:21             ` Clem Cole
2016-06-30 19:51               ` Dan Cross
2016-06-30 19:55                 ` Clem Cole
2016-06-30 20:04                   ` Dan Cross
2016-06-30 18:26         ` Steve Nickolas
2016-06-30 19:21       ` Diomidis Spinellis
2016-06-30 19:43         ` Dan Cross
2016-06-30 19:53           ` Clem Cole
2016-06-30 19:47         ` Clem Cole
2016-06-30 20:57         ` Nemo
2016-06-30 23:11           ` Random832
2016-06-30 23:16           ` Marc Rochkind
2016-06-30 23:38             ` Random832
2016-07-01  0:38             ` Clem Cole
2016-07-01  1:21               ` Marc Rochkind
2016-07-01  1:34               ` John Cowan
2016-07-04 19:23                 ` Dave Horsfall
2016-07-04 19:56                   ` Ronald Natalie
2016-07-01  2:35               ` Nemo
2016-07-01  3:01                 ` Kurt H Maier
2016-07-01  3:52               ` Lyndon Nerenberg
2016-07-02 23:32         ` Peter Jeremy
2016-06-30 15:52     ` Joerg Schilling
2016-06-30 20:47     ` Lawrence Stewart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=411C9B22-5CA2-4539-AD93-73292A124BEF@me.com \
    --to=brantleycoile@me.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).