Live data from Hacker News

Compiler for "Easy" language from "Etudes for Programmers" book (1978)

github.com

1–10 of 10 posts

Re: Compiler for "Easy" language from "Etudes for Programmers" book (1978)

#3
post #2

I was assuming it's something similar to PL/0 but the grammar looks quite extensive...

Basically Algol, but with gratuitous "SET" to simplify parsing assignment statements, and without generic "BEGIN" braces: those are baked into "DO"/"THEN"/"ELSE".

You can probably straightforwardly translate it to Golang by running through a C preprocessor with an obvious set of macros.

Re: Compiler for "Easy" language from "Etudes for Programmers" book (1978)

#6
post #4

The "FI" for "endif" is like bash. The semicolons are like C. The "PROGRAM" section is like COBOL.

The "fi" thing arose during the Algol-68 process, which Steve Bourne participated in, which is why he put it in his shell. (He would have put "od" there too to terminate "do" if it wasn't already used for a hexdumper.) You also find it in, for example, Dijkstra's Discipline of Programming.

Semicolons were widely used as statement separators in Algol-family languages, but in Easy they seem to be statement terminators, so they are apparently like C rather than like earlier Algol-family languages such as Pascal.

Pascal also had the "program" thing. I'm not sure if earlier Algol languages did?

Re: Compiler for "Easy" language from "Etudes for Programmers" book (1978)

#8
post #6
post #4

The "FI" for "endif" is like bash. The semicolons are like C. The "PROGRAM" section is like COBOL.

The "fi" thing arose during the Algol-68 process, which Steve Bourne participated in, which is why he put it in his shell. (He would have put "od" there too to terminate "do" if it wasn't already used for a hexdumper.) You also find it in, for example, Dijkstra's Discipline of Programming . Semicolons were widely used as statement separators in Algol-family languages, but in Easy they seem to be statement terminators…

COBOL precedes Pascal.

Re: Compiler for "Easy" language from "Etudes for Programmers" book (1978)

#9
post #8
post #6

Earlier quoted context omitted.

The "fi" thing arose during the Algol-68 process, which Steve Bourne participated in, which is why he put it in his shell. (He would have put "od" there too to terminate "do" if it wasn't already used for a hexdumper.) You also find it in, for example, Dijkstra's Discipline of Programming . Semicolons were widely used as statement separators in Algol-family languages, but in Easy they seem to be statement terminators…

COBOL precedes Pascal.

Yes, of course it does. I didn't mean to imply that COBOL got it from Pascal. I meant that the practice was much more widespread than just COBOL, and given that the rest of Easy is clearly an Algol-family language very similar to Pascal or (then-draft) Ada, that's probably where he got it.

Re: Compiler for "Easy" language from "Etudes for Programmers" book (1978)

#10
post #4

The "FI" for "endif" is like bash. The semicolons are like C. The "PROGRAM" section is like COBOL.

If you're Stephen R. Bourne, "FI" is also like C!

(From the Bourne Shell source): https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh...