Oops! Looks like we're having trouble connecting to our server.
Refresh your browser window to try again.
About this product
Product Identifiers
PublisherBirkhäuser Boston
ISBN-100817639373
ISBN-139780817639372
eBay Product ID (ePID)318922
Product Key Features
Number of PagesVII, 349 Pages
LanguageEnglish
Publication NameAlgol-Like Languages
SubjectProgramming Languages / General, Computer Science, Applied, Compilers
Publication Year1996
TypeTextbook
AuthorPeter W. O'hearn, Robert D. Tennent
Subject AreaMathematics, Computers
SeriesProgress in Theoretical Computer Science Ser.
FormatHardcover
Dimensions
Item Height0.3 in
Item Weight53.6 Oz
Item Length9.2 in
Item Width6.1 in
Additional Product Features
Intended AudienceScholarly & Professional
LCCN96-046972
Series Volume NumberVol. 2
Number of Volumes1 vol.
IllustratedYes
Dewey Decimal005.13/1
Table Of Content11 Functor Categories and Store Shapes.- 12 Using Functor Categories to Generate Intermediate Code.- 13 Semantical Analysis of Specification Logic.- 14 Semantical Analysis of Specification Logic, 2.- 15 Full Abstraction for the Second-Order Subset.- 16 Parametricity and Local Variables.- 17 Operationally-Based Reasoning About Local Variables.- 18 Syntactic Control of Interference Revisited.- 19 Global State Considered Unnecessary.- 20 Linearity, Sharing and State.- 21 The Essence of Parallel Algol.- of Volume 1.
SynopsisTo 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 -., 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 -.