Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #3135
| From | gah4 <gah4@u.washington.edu> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | ALGOLW parser |
| Date | 2022-07-26 23:31 -0700 |
| Organization | Compilers Central |
| Message-ID | <22-07-048@comp.compilers> (permalink) |
I am looking at the source for the OS/360 ALGOLW compiler,
written by Wirth in about 1969.
There is a file which seems to be for a parser generator
that starts out like this:
<K REG> ::= <ID>
<T CELL ID> ::= <ID>
<PROC ID> ::= <ID>
<FUNC ID> ::= <ID>
<T CELL> ::= <T CELL ID>
<T CELL1> )
<T CELL2> )
<T CELL1> ::= <T CELL2> <ARITH OP> <T NUMBER>
<T CELL3> <T NUMBER>
<T CELL2> ::= <T CELL3> <K REG>
<T CELL3> ::= <T CELL ID>
<UNARY OP> ::= ABS
NEG
NEG ABS
<ARITH OP> ::= +
-
*
/
+ +
- -
<LOG OP> ::= AND
OR
XOR
<K REG ASS> ::= <K REG> := <T CELL>
<K REG> := <T NUMBER>
<K REG> := <STRING>
<K REG> := <T CELL>
It looks like actual input to a program, and there is some output
from the processor, but I don't know what program it is.
This seems a little too early for lex/yacc.
[Algol W was written in PL360, a very nice little assembler with
Algol-like syntax. I'm pretty sure it used a hand-written parser and
what you have is part of the documentation. I also believe I saw a
thread somewhere saying the source code for both was lost, although
PL360 was used for other stuff and there may be later versions of it.
-John]
Back to comp.compilers | Previous | Next — Next in thread | Find similar
ALGOLW parser gah4 <gah4@u.washington.edu> - 2022-07-26 23:31 -0700
Re: ALGOLW parser gah4 <gah4@u.washington.edu> - 2022-07-27 10:39 -0700
Re: ALGOLW parser gah4 <gah4@u.washington.edu> - 2022-07-27 13:36 -0700
csiph-web