![]() |
|
Volume 7, Issue 1 - Spring/Summer 1999 Volume 6, Issue 2 Volume
3, Issue 1 Volume
2, Issue 4 Volume
2, Issue 1 |
Work In ProgressSAGE2: AN OBJECT ORIENTED INTERFACE FOR PROGRAM TRANSFORMATION TOOLS Carl Kesselman, John Carnett, Mei-Hui Su, California Institute of Technology; Dennis Gannon, Indiana University; Jonathan Poole, University College London; Francois Bodin, IRISA/University of Rennes CRPC researchers at the California Institute of Technology and Indiana University and collaborators have undertaken the complete redesign of the Sage++ tool kit. This package is a class library for high-level program representation used in various CRPC projects, including pC++ and Fortran M. The next release of the CC++ compiler and HPC++ will also be built on the new Sage. The current focus of the redesign is support for C++. Other front ends for Fortran 90, CORBA IDL and Java will follow. A significant contribution of this effort is to develop a flexible and logical representation of a program that is oriented toward program transformations. Careful design of the data structures has resulted in a package that will enable users to build source-to-source transformations for C++ programs with a minimum amount of effort. The front end for the new Sage is based on the Edison Design Group (EDG) C++ parser. This is a high-quality commercial C++ front end that is tracking the current C++ ANSI standard, including namespaces, dynamic casting, and member function templates. The parser also operates in a mode in which full ANSI C is supported. Use of the EDG parser means that the Sage front end will be as accurate and robust as many commercial C++ products. The first version of this package will be available by August 1996. |