Related articles |
---|
[8 earlier articles] |
Re: Algol history, was specifying semantics anton@mips.complang.tuwien.ac.at (2014-07-03) |
Re: Algol history, was specifying semantics ivan@ootbcomp.com (Ivan Godard) (2014-07-03) |
Re: Algol history, was specifying semantics wclodius@earthlink.net (2014-07-04) |
Re: Algol history, was specifying semantics gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-07) |
Re: Algol history, was specifying semantics ivan@ootbcomp.com (Ivan Godard) (2014-07-07) |
Re: Algol history, was specifying semantics gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-07) |
Re: Algol history, was specifying semantics gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-07-07) |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Mon, 7 Jul 2014 19:49:25 +0000 (UTC) |
Organization: | Aioe.org NNTP Server |
References: | 14-06-010 14-06-023 14-06-025 14-06-027 14-06-030 14-06-031 14-06-035 14-07-001 14-07-005 14-07-015 14-07-018 14-07-019 |
Keywords: | algol60, history, assembler |
Posted-Date: | 07 Jul 2014 21:51:30 EDT |
Ivan Godard <ivan@ootbcomp.com> 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
Return to the
comp.compilers page.
Search the
comp.compilers archives again.