Ebook: ALGOL-like Languages
- Genre: Computers // Programming: Programming Languages
- Tags: Math Applications in Computer Science, Applications of Mathematics, Programming Languages Compilers Interpreters, Mathematical Logic and Formal Languages
- Series: Progress in Theoretical Computer Science
- Year: 1997
- Publisher: Birkhäuser Basel
- Language: English
- pdf
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 -.
Content:
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
Content:
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
....