Conference on Domain-Specific Languages, 1997
Incorporating Application Semantics and Control into Compilation
Dawson R. Engler
M.I.T. Laboratory for Computer Science
Abstract
Programmers have traditionally been passive users of compilers, rather
than active exploiters of their transformational abilities. This paper
presents Magik, a system that allows programmers to easily and modularly
incorporate application-specific extensions into the compilation
process.
The Magik system gives programmers two significant capabilities. First,
it provides mechanisms that implementors can use to incorporate
application semantics into compilation, thereby enabling both
optimizations and semantic checking impossible by other means. Second,
since extensions are invoked during the translation from source to
machine code, code transformations (such as software fault isolation
[14]) can be performed with full access to the symbol and data flow
information available to the compiler proper, allowing them both to
exploit source semantics and to have their transformations
(automatically) optimized as any other code.
- View the full text of this paper in
PDF form.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.
|