Functional modules

Generally speaking, there are three functional modules in the package:

From the above, we can see that once defined according to a specific language, the intermediate representation is the kernel part of the functional modules. The whole package can be extended based on this.

First, the IR can be defined to express more kind of programming languaes, as we will see its structure in the next section. Currently we are only working on Fortran and Java. Sage++ system used the same kind of IR for C/C++.

Second, the library functions can also be extended easily. As we will see, the organization of the library makes it quite easy to add a new method to a language component, such as a statement or expression. Different kinds of analyzing and restructuring operations can be developed as member functions.

alphabetic index hierarchy of classes


Email contact: zgs@npac.syr.edu

generated by doc++