Volume 7, Issue 1 -
Spring/Summer 1999

Volume 6, Issue 3
Fall 1998

Volume 6, Issue 2
Spring/Summer 1998

Volume 6, Issue 1
Winter 1998

Volume 5, Issue 4
Fall 1997

Volume 5, Issue 3
Summer 1997

Volume 5, Issue 2
Spring 1997

Volume 5, Issue 1
Winter 1997

Volume 4, Issue 4
Fall 1996

Volume 4, Issue 3
Summer 1996

Volume 4, Issue 2
Spring 1996

Volume 4, Issue 1
Winter 1996

Volume 3, Issue 4
Fall 1995

Volume 3, Issue 3
Summer 1995

Volume 3, Issue 2
Spring 1995

Volume 3, Issue 1
January 1995

Volume 2, Issue 4
October 1994

Volume 2, Issue 3
July 1994

Volume 2, Issue 2
April 1994

Volume 2, Issue 1
January 1994

Volume 1, Issue 4
October 1993

Volume 1, Issue 3
July 1993

Volume 1, Issue 2
April 1993

Volume 1, Issue 1
January 1993

Work In Progress


SAGE2: 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.


Table of Contents