作者
Greg Morrisett, Karl Crary, Neal Glew, David Walker
发表日期
1998/3/25
图书
International Workshop on Types in Compilation
页码范围
28-52
出版商
Springer Berlin Heidelberg
简介
In previous work, we presented a Typed Assembly Language (TAL). TAL is sufficiently expressive to serve as a target language for compilers of high-level languages such as ML. This work assumed such a compiler would perform a continuation-passing style transform and eliminate the control stack by heap-allocating activation records. However, most compilers are based on stack allocation. This paper presents STAL, an extension of TAL with stack constructs and stack types to support the stack allocation style. We show that STAL is sufficiently expressive to support languages such as Java, Pascal, and ML; constructs such as exceptions and displays; and optimizations such as tail call elimination and callee-saves registers. This paper also formalizes the typing connection between CPS-based compilation and stack-based compilation and illustrates how STAL can formally model calling conventions by …
引用总数
19971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320241315201020192015711386131311311
学术搜索中的文章
G Morrisett, K Crary, N Glew, D Walker - International Workshop on Types in Compilation, 1998