ANTLR (ANother Tool for Language Recognition) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing C++, Java, or Sather actions. It is similar to the popular compiler generator YACC, however ANTLR is much more powerful and easy to use. ANTLR-produced parsers are not only highly efficient, but are both human-readable and human-debuggable (especially with the interactive ParseView debugging tool). ANTLR can generate parsers, lexers, and tree-parsers in either C++, Java, or Sather. ANTLR is currently written in Java.
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.
CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain.
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.
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.