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.
ICU provides a Unicode implementation, with functions for formatting numbers, dates, times, and currencies (according to locale conventions, transliteration, and parsing text in those formats). It provides flexible patterns for formatting messages, where the pattern determines the order of the variable parts of the messages, and the format for each of those variables. These patterns can be stored in resource files for translation to different languages. Included are more than 100 codepage converters for interaction with non-unicode systems.
Emdros is a corpus query system for storing and searching linguistically annotated text. It is very generic, supporting almost any kind of annotation from almost any linguistic theory. All linguistic levels of analysis are supported, including phonology, morphology, the lexical level, syntax, and discourse. The core libraries act as a middleware layer between a client and an underlying SQL database. MySQL, PostgreSQL, and SQLite are supported.
SILGraphite (formerly OpenGraphite) is a project within SIL's Non-Roman Script Initiative and Language Software Development groups to provide extensible cross-platform rendering capabilities for complex non-Roman writing systems. It consists of a rule-based programming language, Graphite Description Language (GDL), that can be used to describe the behavior of a writing system, a compiler for that language, and a rendering engine that can serve as the backend of a text processing application. SILGraphite renders TrueType fonts that have been extended by means of compiling a GDL program. It is currently being integrated into Gecko/Mozilla through the SILA project, a GNU/Linux port is also underway, and there are plans for OpenOffice.org and Abiword integration.