The ANTLR ANSI C and GCC source to source translation framework includes an ANSI-C parser which builds trees, a GCC parser which builds trees, a GCC tree parser (for you to subclass to do transformations), and a GCC tree emitter. The GCC parser is only for GCC's extensions to C, not C++. It is based on GCC 2.95.2.
DECO (Dynamic Encapsulator of C++ Objects) converts DC++, essentially C++ with extensions for "dynamic encapsulation," into standard C++. Used as-is, DECO can only convert the simplest form of interfaces (types) and implementations to C++, so although it could be interesting, its most practical use is probably to provide a start for parsing C++. Note that template and exception handling support is incomplete in the parser, since DC++ did not make use of these features.
GNU Compiler for Java (GCJ) is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It allows Java source code and byte codes to be compiled to native code. GCJ-compiled applications, when running native, are not subject to many of the performance and memory management challenges that embedded developers face when using the interpreted or just-in-time models.
Ciao is a complete Prolog system subsuming ISO-Prolog with a novel modular design which allows both restricting and extending the language. Ciao extensions currently include feature terms (records), higher-order, functions, constraints, objects, persistent predicates, a good base for distributed execution (agents), and concurrency. Libraries also support WWW programming, sockets, and external interfaces (C, Java, TCL/Tk, relational databases, etc.). An Emacs-based environment, a stand-alone compiler, and a toplevel shell are also provided.
Cavalry is a Just-In-Time translator (compiler) for java bytecodes. It is written in Java and produces IA-32 Machine code. It depends on an IA-32 Assembler also written in Java and included in this package. The assembler uses an Intel / NASM type syntax and currently only produces raw machine code (no object formats eg ELF are supported). It currently only supports a limited number of instructions, bascially everything the Translator needs. The assembler can compile a source-file from the command prompt, but it is not very friendly at the moment.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.