Data2l is a language neutral, platform neutral way for describing large sets of proprietary binary data. An example of this kind of data is car navigation data, which is about 1GB to 15GB in a typical embedded navigation. With Data2l you can easily describe almost any binary data format using primitive description blocks like basic type, array, structure, or alternative and using a functional dependency description language. Using such a description, one can generate source code optimized for certain tasks, like a lightweight data reading layer, fast querying code, or code suitable for data generation and transformation.
Dragon produces a consequent, object-oriented, integrated scanner and parser solution and scales for very large grammar definitions. It provides LR(1) and LALR grammar analysis methods and combines the lexical and syntactical analysis and the corresponding code generation. Either C++ or Java code can be generated. The resulting parser code is readable and clean, and can easily be integrated into any C++ or Java application.
Styx is a scanner/parser generator designed to address some shortcomings of the traditional lex/yacc combination. It has unique features like automatic derivation of depth grammar, production of the derivation tree, including it's C interface, preservation of full source information, pretty printing to faciliate source-source translation, and persistence to aid rapid interpreter writing. It also supports reentrancy. Styx works well under several different OSes, including serveral Unixes, DOS, and Windows.
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.
Common Text Transformation Library is a library of C++ classes and functions to parse and modify STL strings. CTTL substring classes may be compared, inserted, replaced, and parsed with EBNF grammars. The compiled program implements a fast, thread-safe, re-entrant recursive descent parser.