Ezphpconfig generates a set of PHP configuration classes from a supplied XML file. You can then access your configuration values very quickly without having to parse the XML file on every request. The element (tag) names become property names and the text contained in the elements becomes the property's value. It also supports nested elements. If the generated PHP file is older than the XML file, it is re-generated using the data in the newer XML file. This class also supports array types using the element inside an element whose type attribute is set to "array".
Dexter is a tool that allows users to define extended attributes which can be associated with descriptors and editors. These attributes can be embedded into any well-formed XML document. The resulting embellished document, the 'source', is then input to the dexter engine. This will generate one or more XSLT stylesheets describing the input document interpolating editor modifications and any instructions specified by the descriptors. As dexter's operations are specified exclusively with extended attributes, all but the most unforgiving of XML content viewers will continue to see the decorated source exactly as the designer saw it before.
JCPP is a complete, compliant, standalone, pure Java implementation of the C preprocessor. It is intended to be of use to people writing C-style compilers in Java using tools like sablecc, antlr, JLex, CUP, and so forth. It has been used to successfully preprocess much of the source code of the GNU C library.
Exemplar is designed to make it easier to work with XML. It began life as a program to generate the smallest possible parser for a given vocabulary of XML. While it still retains the capability to do this, it is now a more general program intended to support conversion of specifications of XML vocabularies (DTDs, schemas, etc) into useful code.
Kelbt generates backtracking LALR parsers. A distinguishing characteristic of Kelbt is that it introduces a class of actions called undo actions which are invoked as the backtracker undoes parsing. These allow the user to revert any side effects of forward parsing. Kelbt enables a user-controlled parsing strategy approximating that of generalized recursive-descent parsing. This makes it easy to resolve language ambiguities by ordering the grammar productions of a nonterminal according to precedence.