Report Number: CS-TR-65-20
Institution: Stanford University, Department of Computer Science
Title: EULER: a generalization of ALGOL, and its formal definition
Author: Wirth, Niklaus
Author: Weber, Helmut
Date: April 1965
Abstract: A method for defining programming languages is developed which introduces a rigorous relationship between structure and meaning. The structure of a language is defined by a phrase structure syntax, the meaning in terms of the effects which the execution of a sequence of interpretation rules exerts upon a fixed set of variables, called the Environment. There exists a one-to-one correspondence between syntactic rules and interpretation rules, and the sequence of executed interpretation rules is determined by the sequence of corresponding syntactic reductions which constitute a parse. The individual interpretation rules are explained in terms of an elementary and obvious algorithmic notation. A constructive method for evaluating a text is provided, and for certain decidable classes of languages their unambiguity is proven. As an example, a generalization of ALGOL is described in full detail to demonstrate that concepts like block-structure, procedures, parameters etc. can be defined adequately and precisely by this method.
http://i.stanford.edu/pub/cstr/reports/cs/tr/65/20/CS-TR-65-20.pdf