Abstract
Traditional compilation courses use formal methods for parsing, but treat the more important semantic aspects informally. We present a one semester course in which compiler development is reduced to a number of transformation steps, each of which is formally specified, easily tested, and clearly motivated by semantic considerations. The source language is substantial (essentially the host language of the compiler) and the target is a popular RISC architecture.
- 1 AIKEN, A. Cool: a portable project for teaching compiler construction. SiGPLANNotices 31, 7 (July 1996), 19-24.]] Google Scholar
Digital Library
- 2 CLINGER, W., AND REES, J. (EDITORS) Revised4 report on the algorithmic language Scheme. Lisp Pointers 5, 3 (July-September 1991), 1-55.]] Google Scholar
Digital Library
- 3 CLINGER, W. D., AND HANSEN, L.T. Lambda, the ultimate label, or a simple optimizing compiler for Scheme. In Proceedings of the 1994 ACM Conference on LISP and Functional Programming (1994), pp. 128- 139.]] Google Scholar
Digital Library
- 4 DYBVIG, R. K., HIEB, R., AND BUTLER, T. Destination-driven code generation. Tech. Rep. 302, Indiana University, February 1990.]]Google Scholar
- 5 GUTTMAN, ~. D., AND WAND, M., Eds. VLISP" A Verified Implementation of Scheme. Kluwer, Boston, 1995. Originally published as a special double issue of the journal Lisp and Symbolic Computation (Volume 8, Issue 1/2).]] Google Scholar
Digital Library
- 6 HAYNES, C. T., AND HILSDALE, E. Compiling Scheme workshop. http:llwww.cs.indiana.eduleiplcompile, 1996.]]Google Scholar
- 7 HILSDALE, E., ASHLEY, J. M., DYBVIG, R. K., AND FRIEDMAN, D.P. Compiler construction using scheme. In Functional programming languages in education (FPLE), LNCS 1022 (Nijmegen, The Netherlands, Dee 1995), P. H. Hartel and M. J. Plasmeijer, Eds., Springer-Verlag, Heidelberg, pp. 251-268.]] Google Scholar
Digital Library
Index Terms
Compiling: a high-level introduction using Scheme
Recommendations
Compile-time meta-programming in a dynamically typed OO language
DLS '05: Proceedings of the 2005 symposium on Dynamic languagesCompile-time meta-programming allows programs to be constructed by the user at compile-time. Although LISP derived languages have long had such facilities, few modern languages are capable of compile-time meta-programming, and of those that do many of ...
Compiling Embedded Programs to Byte Code
PADL '02: Proceedings of the 4th International Symposium on Practical Aspects of Declarative LanguagesFunctional languages have proven substantially useful for hosting embedded domain-specific languages. They provide an infrastructure rich enough to define both a convenient syntax for the embedded language, a type system for embedded programs, and an ...







Comments