The architecture of Montana: an open and extensible programming environment with an incremental C++ compiler

  • Authors:
  • Michael Karasick

  • Affiliations:
  • Programming Environments and Compilation, IBM T.J. Watson Research Center, PO 704, Yorktown Heights NY

  • Venue:
  • SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Montana is an open, extensible integrated programming environment for C++ that supports incremental compilation and linking, a persistent code cache called a CodeStore, and a set of programming interfaces to the CodeStore for tool writers. CodeStore serves as a central source of information for compiling, browsing, and debugging. CodeStore contains information about both the static and dynamic structure of the compiled program. This information spans files, macros, declarations, function bodies, templates and their instantiations, program fragment dependencies, linker relocation information, and debugging information.Montana allows the compilation process to be extended and modified [11]. Montana has been used as the basis of a number of tools [1,7], and is also used as the infrastructure of a production compiler, IBM's Visual Age C++ 4.0 [8].