SableCC is a parser generator that generates fully featured object-oriented frameworks for building compilers, interpreters, and other text parsers. In particular, generated frameworks include intuitive strictly-typed abstract syntax trees and tree walkers. SableCC also keeps a clean separation between machine-generated code and user-written code, which leads to a shorter development cycle.
A series is a data structure much like a sequence, with similar kinds of operations. The difference is that in many situations, operations on series may be composed functionally and yet execute iteratively, without the need to construct intermediate series values explicitly. In this manner, series provide both the clarity of a functional programming style and the efficiency of an iterative programming style. Series is the culmination of many years of design and use of this approach, during which some 100,000 lines of application code have been written (by about half a dozen people over the course of seven years) using the series facility in nearly all iteration situations. This includes one large system (KBEmacs) of over 40,000 lines of code. In a nutshell: Think "Efficient MAPCAR". SERIES translates functional-style expressions into efficient loops.
sml/nj (Standard ML of New Jersey) consists of a compiler, compilation manager, and libraries for Standard ML. Included are CML (Concurrent ML) and eXene (a toolkit for X based on CML). The compiler produces efficient code for most popular architectures (Intel x86, Sparc, Alpha, Mips, HP-PA, PowerPC) and runs under Unix, Linux, or Windows (95,98,NT).
Synopsis is a multi-language source code introspection tool that provides a variety of representations for the parsed code to enable further processing such as documentation extraction, reverse engineering, and source-to-source translation. It provides a framework of C++ and Python APIs to access these representations and allows Processor objects to be defined and composed into processing pipelines, making this framework very flexible and extensible.
The Kawa Scheme System is a full Scheme implementation, completely written in Java. Scheme functions and files are automatically compiled into Java byte-codes. Kawa does some optimizations, and the compiled code runs at a reasonable speed. It provides the usual read-eval-print loop, as well as batch modes. The Kawa compilation framework is also useful for implementing other languages on top of JVM. There is active development of XQuery (the XML query language), and less active development of Emacs Lisp, Common Lisp, and EcmaScript.
UniT is a general purpose text generator written in and with full access to Java. It can be used to generate any text of any format, including program code of any programming language (Java, C, C++, SQL, etc.), or documentation of any format (HTML, XML, RTF, LaTex, etc.). It is similar to JSP, but easier, more general, and more flexible. With an appropriate parser (XML-Parser, like DOM), UniT can also be used to convert text documents.