Ragel compiles finite state machines from regular languages into C, C++, Objective-C, D, Java, or Ruby code. It allows the programmer to embed actions at any point in a regular language, and to control non-determinism in the resulting machines. It understands concatenation, union, kleene star, subtraction, intersection, epsilon transitions, and various other common operators. It also supports the construction of scanners and the building of state machines using state charts. It can be used to create very fast recognizers and parsers that are also robust.
joeq is a Java 2 (JDK 1.3 and 1.4) compatible virtual machine. It is unique in that it is entirely implemented in Java, leading to greater reliability, portability, maintainability, and efficiency. It is also language-independent, so code from any supported language can be seamlessly compiled, linked, and executed dynamically.
ERW (Entities and Relationships on the Web) is an innovative system for handling complex databases using a Web browser. It uses the most recent standards endorsed by the W3C to offer to the user a sophisticated environment, similar to a dedicated client. Moreover, the user interface is generated in a completely automatic way starting from a conceptual description of the database by means of an XML-based description language for entity-relationship schemata. From the same description, you can also automatically obtain diagrams and documentation. ERW can be used for content management, in particular when the data is structured along complex relations.
Etora lets you write readable, maintainable table definitions and automates much of the redundant work involved in creating tables. It reads a file of database table definitions and outputs the Oracle SQL to create or drop the tables and associated objects. All constraints, sequences, and triggers are intelligently named, which aids in interpetation of Oracle error messages. An Etora file can be roughly 1/3 the size of the equivalent SQL and consequently easier to read and maintain.
IWG (Interface Wrapper Generator) is a tool for generating wrapper classes for interfaces. These wrapper classes take an object of the implemented interface as constructor parameter. Each implemented method then calls the corresponding method of this original object. IWG is especially useful if you want to inherit from a class which cannot be inherited (e.g., a singleton or a final class, or EJBs which you want to enhance for new functionalities).
The GCC XML Tree Node Introspector project consists of a patch to the gcc compiler to output the internal compiler tree nodes in RDF/XML and programs to process that RDF/XML. The tree nodes are complex data structures which represent the source code inside the compiler. Through these tree nodes, users are able to extract information from their programs that would be otherwise very difficult to obtain. Modules exist to store these nodes in Redland RDF using a Berkley database. The long-term goal of the project is create a high-level API that will make the programmatic manipulation of programs easier than it is now.