1. 4
    1. 1

      From translator: “In just 46 pages, it presents (a) an abstract machine, quite faithful to contemporary real stored-program machines such as the IAS design from Princeton, the EDVAC in Philadelphia and the EDSAC in Cambridge, but with index instructions like the Manchester Mark 1; (b) a simple but complete programming language, including parenthesized arithmetic expressions; (c) a loader program similar to Wilkes’s for the EDSAC; and (d) a compiler from the language to the abstract machine’s instruction set, where — also a first — the compiler is written in the compiled language itself…

      Böhm’s programming language is very minimal; the only statement is assignment to a variable x (denoted e → x) or to the memory address stored in variable x (denoted e → ↓ x). Since the program counter π is an assignable variable, this suffices to express jumps and switches. The left-to-right assignment notation e → x, which was customary until the mid-1950es, allows for a particularly elegant form of literate programming, with the (left-justified) natural language explanation to the left and the corresponding (right-justified) program code to the right. This is used to excellent effect in chapter 7 which consists of the entire commented compiler source code…

      “Böhm’s early work does not seem to have received the attention it deserves, although it features prominently in Don Knuth’s survey The early development of programming languages in Encyclopedia of Computer Science and Technology, volume 7, 1977, 419-493. It is my hope that this English translation will make Corrado Böhm’s dissertation accessible to a wider audience.”