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.
pyPEG is a quick and easy solution for creating a parser in Python programs. pyPEG uses a PEG language in Python data structures to parse, so it can be used dynamically to parse nearly every context free language. The output is a plain Python data structure called pyAST, or, as an alternative, XML.
SableCC is a parser generator that generates fully featured object-oriented frameworks for building compilers, interpreters, and other text parsers. In particular, generated frameworks include intuitive strictly-typed abstract syntax trees and tree walkers. SableCC also keeps a clean separation between machine-generated code and user-written code, which leads to a shorter development cycle.
CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain.
CodeWorker is a versatile parsing tool and a universal source code generator. It interprets a scripting language for producing reusable, tailor-made, evolving, and reliable IT systems with a high level of automation. The file formats to parse are described in an extended-BNF syntax. Template-based scripts drive the writing of patterns for generating code or text. The code generation knows how to preserve protected areas with hand-typed code and provides code expansion, source-to-source translation, and program transformation. It provides a native translation of CodeWorker's scripts in C++.
Java Development Environment for Emacs (JDEE) is an Emacs-based integrated development environment (IDE) for developing Java applications and applets. Features include multiple code browsers, a JPDA-based debugger, method and field completion, template-based and procedure-based code generation, Java source code interpreter, context-sensitive help, and more.
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.