I&C 1989
Incorporating static analysis in a combinator-based compiler
Abstract
We show how restructuring a denotational definition leads to a more efficient compiling algorithm. Three semantics-preserving transformations (static replacement, factoring, and combinator selection) are used to convert a continuation semantics into a formal description of a semantic analyzer and code generator. The compiling algorithm derived below performs type checking before code generation so that type-checking instructions may be omitted from the target code. The optimized code is proved correct with respect to the original definition of the source language. The proof consists of showing that all transformations preserve the semantics of the source language.
Authors
Keywords
No keywords are indexed for this paper.
Context
- Venue
- Information and Computation
- Archive span
- 1987-2026
- Indexed papers
- 3021
- Paper id
- 305549940958258381