Algol-Like Languages 1997 Edition Contributor(s): O'Hearn, Peter (Author), Tennent, Robert (Author) |
|
ISBN: 0817639373 ISBN-13: 9780817639372 Publisher: Birkhauser OUR PRICE: $104.49 Product Type: Hardcover - Other Formats Published: December 1996 Annotation: Volume 2 consists of more specialized and more technically demanding material; this volume will be suitable for advanced seminars and researchers with adequate background in logic, semantics, type theory and category theory. |
Additional Information |
BISAC Categories: - Computers | Programming Languages - General - Computers | Compilers - Computers | Data Processing |
Dewey: 005.131 |
LCCN: 96046972 |
Series: Progress in Theoretical Computer Science |
Physical Information: 0.83" H x 6.3" W x 9.49" (1.51 lbs) 349 pages |
Descriptions, Reviews, Etc. |
Publisher Description: 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 -. |