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.
Knit is a new component definition and linking language that can be used with C and assembly code. Knit supports component definitions that require little or no modification to existing code. It automatically schedules component initializers and finalizers and provides an extensible constraint system to detect subtle errors in component composition. Knit provides cross-module inlining that largely eliminates the overheads of componentization, supports component hierarchies, and supports cyclic component dependencies. Knit can be used for any C program, but is especially well suited for use in systems that have many separate components, multiple implementations of the same component, intricate initialization requirements, complex component interdependencies, low-level code and embedded systems, or code that is used in radically different configurations.
FMPP is a text file preprocessor that uses FreeMarker templates to provide macros, flow control, and expressions. It uses recursive directory processing, so it can generate complete homepages (a tree of HTML files and images). It is extendable in Java to display data from any data source (such as a database). It is usable with a command-line interface, as an Ant-task, or embedded into a Java application.
Archetypes is a framework for developing new content types in Plone. The power of Archetypes is first in automatically generating forms, second in providing a library of stock field types, form widgets, and field validators, third in easily integrating custom fields, widgets, and validators, and fourth in automating transformations of rich content.
JaxMeXS is a parser for XML Schema, written in Java. Unlike Xerces or similar parsers, this one isn't written for validation of conforming instances, but for schema authors who like to use the schema information or extend the XML Schema language with private data. An excellent example is JAXB, the Java/XML binding specification.
Felix is a programming language with a fully featured purely functional subsystem embedded in a a traditional Algol-like imperative programming system. The system features garbage collection, static typing, parametric polymorphism, overloading, regular expression matching, and a lot more. A scripting harness is used to invoke source files, but fully compiled binary shared libraries are generated, yielding both rapid prototyping and high performance. Seamless binding of C/C++ code makes interfacing existing libraries easy. Control inversion provides language-level cooperative multi-tasking.
Happy is a parser generator system for Haskell, similar to the tool 'yacc' for C. Like yacc, it takes a file containing an annotated BNF specification of a grammar and produces a Haskell module containing a parser for the grammar. It is flexible: you can have several Happy parsers in the same program, and several entry points to a single grammar. It can work in conjunction with a lexical analyser supplied by the user (either hand-written or generated by another program), or it can parse a stream of characters directly (but this isn't practical in most cases).
Build Interceptor captures the .i files of any project while it is built from source using the gcc toolchain. Anyone who has tried this on a large scale will find out that it is non-trivial to build a project from source and obtain the .i files generated during the build process. Step-by-step instructions are given on how to use the provided scripts to do this without any modification to the build process of the project you are trying to capture. These scripts were used to capture the build process of 92.5% of the projects in the Red Hat Linux 7.3 distribution.
LayManSys is an RDF-based PHP framework for generating a consistent layout for Web documents. It includes a library that can be used online as well as on the command line. It generates the headers and footers for HTML documents, manages (CSS) style definitions, shortcut icons (favicons), static HTML, and dynamic PHP content, and much more. The necessary meta information is either stored in RDF files or in special layout configuration files.