Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: glen herrmannsfeldt Newsgroups: comp.compilers Subject: Re: Algol history, was specifying semantics Date: Mon, 7 Jul 2014 19:49:25 +0000 (UTC) Organization: Aioe.org NNTP Server Lines: 33 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-07-022@comp.compilers> References: <14-06-010@comp.compilers> <14-06-023@comp.compilers> <14-06-025@comp.compilers> <14-06-027@comp.compilers> <14-06-030@comp.compilers> <14-06-031@comp.compilers> <14-06-035@comp.compilers> <14-07-001@comp.compilers> <14-07-005@comp.compilers> <14-07-015@comp.compilers> <14-07-018@comp.compilers> <14-07-019@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: miucha.iecc.com 1404784290 79238 2001:470:1f07:1126:0:676f:7373:6970 (8 Jul 2014 01:51:30 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Tue, 8 Jul 2014 01:51:30 +0000 (UTC) Keywords: algol60, history, assembler Posted-Date: 07 Jul 2014 21:51:30 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1312 Ivan Godard wrote: >> [As far as I know, the machine readable source was lost. >> Even with a copy of the source, you'll need a copy of PL360, the >> Algol-flavored assembler it was written in. -John] > IMO, PL360 was the best language work that Wirth ever did. (snip) > The key idea was the absence of operator precedence; expressions were > executed in strict left-to-right order, with operations for each machine > op and explicit register names for operands: > r5 := r3 + r2 * r1; (PL360) > The target register served as the accumulator for the expression. It gets even more interesting, as I remember it, if the left side register is also on the right. Consider: r1:= r1 + r1 + r1; which, in effect, multiplies r1 by four. As you note, r1 is the accumulator for the expression, and also changes as it is being evaluated: LR R1,R1 AR R1,R1 AR R1,R1 Remembering from 40 years ago, I believe that one is in the manual. -- glen