Table of Contents
Cetus is a set of intermediate representation (IR) classes and optimization passes. It currently has a built-in C parser written in Antlr, but relies on a separate program to parse C++. Thus, there are three items you need to obtain for full functionality.
The IR and passes are available at http://www.ece.purdue.edu/ParaMount/Cetus/download.html. This part runs on any system supporting a Java run-time environment, and is covered by the above license. It is available now.
Source and binaries for Solaris and Linux will be supplied for the separate parser. The parser is covered by the GNU General Public License. It incorporates some code and ideas from GCC for increased compatibility with SPEC benchmarks. It also includes some code from the libiberty library to provide command-line handling on systems lacking library support for command-line handling. Purdue Solaris is an example of such a system where neither libpopt nor getopt_long are available. (The standard getopt is insufficient for compilers, which have many options and cannot be limited to single-character flags.) Note that there is no linking, not even at run time, between the Cetus IR code, written in Java, and the parser code, written in C++. The parser and IR communicate through an intermediate data file that uses the graphviz format.