Publication: Source-level Debugging for Multiple Languages With Modest Programming Effort
Open/View Files
Date
Authors
Published Version
Published Version
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
We present techniques that enable source-level debugging for multiple languages at the cost of only modest programming effort. The key idea is to avoid letting debugging requirements constrain the internal structure of the compiler. Constraints are minimized primarily by hiding the source-language type system and target-machine representations from the debugger. This approach enables us to support a new language and compiler while reusing existing elements: a multi-language, multi-platform debugger; the compilers implementation of source-language types and expressions; information already present in the compiler's private data structures; and our compile-time support library, which helps the compiler met its obligations to the debugger without exposing language-dependent details. We evaluate our approach using two case studies: the production compiler 1cc and an instructional compiler for MiniJava.