Show simple item record

dc.contributor.authorSabry, Amr A.
dc.date.accessioned 2017-08-02T22:03:26Z
dc.date.available 2017-08-02T22:03:26Z
dc.date.issued 1994-08
dc.identifier.urihttps://hdl.handle.net/1911/96448
dc.descriptionThis work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16878
dc.description.abstract Compilers for higher-order programming languages like Scheme, ML, and Lisp can be broadly characterized as either “direct compilers” or "continuation-passing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two compilation strategies. Starting from the theoretical foundations of direct and CPS compilers, we develop relationships between the main components of each compilation strategy: generation of the intermediate representation, simplification of the intermediate representation, code generation, and data flow analysis. For each component, our results pinpoint the superior compilation strategy, the reason for which it dominates the other strategy, and ways to improve the inferior strategy. Furthermore, our work suggests a synthesis of the direct and CPS compilation strategies that combines the best aspects of each. The contributions of this thesis include a comprehensive analysis of the properties of the CPS intermediate representation, a new optimal CPS transformation and its inverse, a new intermediate representation for direct compilers, an equivalence between the canonical equational theories for reasoning about continuations and general computational effects, a sound and complete equational axiomatization of the semantics of call-by-value control operators, a methodology for deriving equational logics for imperative languages, and formal relationships between code generators and data flow analyzers for direct and CPS compilers. These contributions unify concepts in two distinct compilation strategies, and can be used to compare specific compilers.
dc.format.extent 165 pp
dc.language.iso eng
dc.rights You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
dc.title The Formal Relationship between Direct and Continuation-Passing Style Optimizing Compilers: A Synthesis of Two Paradigms
dc.type Technical report
dc.date.note August 1994
dc.identifier.digital TR94-241
dc.type.dcmi Text
dc.identifier.citation Sabry, Amr A.. "The Formal Relationship between Direct and Continuation-Passing Style Optimizing Compilers: A Synthesis of Two Paradigms." (1994) https://hdl.handle.net/1911/96448.


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record