Derived semantics for some programming language constructs
- 1 November 1972
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 15 (11), 967-973
- https://doi.org/10.1145/355606.361880
Abstract
The constructs of a simple programming language are introduced and described informally in terms of values and side-effects. A translator is defined which translates the language into flowcharts for a simple machine. The action of the machine in executing a flowchart is defined. A proof is constructed that the effect of translating and executing any program can be expressed solely in terms of the value and side-effect of the program. During the course of constructing the proof, formal definitions of the concepts of value and side-effect are derived in order to make the proof rigorous. Correctness of the implementation involves checking that the definitions derived in the step above are an acceptable formalization of the informal description given in the first step.Keywords
This publication has 6 references indexed in Scilit:
- An axiomatic basis for computer programmingCommunications of the ACM, 1969
- Proving Properties of Programs by Structural InductionThe Computer Journal, 1969
- Correctness of a compiler for arithmetic expressionsProceedings of Symposia in Applied Mathematics, 1967
- EULERCommunications of the ACM, 1966
- Correspondence between ALGOL 60 and Church's Lambda-notationCommunications of the ACM, 1965
- The Mechanical Evaluation of ExpressionsThe Computer Journal, 1964