ALGOL-like Languages

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc­ turing in compiler texts that are intended to cover a wide variety of program­ ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel­ oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi­ tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.

Author(s): Peter W. O’Hearn, Robert D. Tennent
Series: Progress in Theoretical Computer Science
Publisher: Birkhäuser Basel
Year: 1997

Language: English
Pages: 349
Tags: Math Applications in Computer Science; Applications of Mathematics; Programming Languages, Compilers, Interpreters; Mathematical Logic and Formal Languages

Front Matter....Pages i-vii
Front Matter....Pages 1-1
Functor Categories and Store Shapes....Pages 3-12
Using Functor Categories to Generate Intermediate Code....Pages 13-38
Front Matter....Pages 39-39
Semantical Analysis of Specification Logic....Pages 41-64
Semantical Analysis of Specification Logic, 2....Pages 65-93
Front Matter....Pages 95-95
Full Abstraction for the Second-Order Subset of an Algol -like Language....Pages 97-107
Parametricity and Local Variables....Pages 109-163
Reasoning About Local Variables with Operationally-Based Logical Relations....Pages 165-185
Front Matter....Pages 187-187
Syntactic Control of Interference Revisited....Pages 189-225
Global State Considered Unnecessary: Introduction to Object-Based Semantics....Pages 227-295
Linearity, Sharing and State: A Fully Abstract Game Semantics for Idealized Algol with Active Expressions....Pages 297-329
The Essence of Parallel Algol ....Pages 331-348
Back Matter....Pages 349-349