GOLDEngine for Java
The GOLD Parser is a parsing system developed by Devin Cook that can be used to parse existing programming languages, scripts, or structured data files. It can even be used to develop your own domain specific language (DSL). There are many tools available to do similar tasks, LEX/YACC for instance, but what sets the GOLD system apart is the interactive nature of the grammar development and testing.
The GOLD system consists of three components: the GOLD Builder, a compiled grammar file, and an engine that will use the compiled grammar file to process source input files.
The GOLD Builder is a Windows GUI application that allows a user to create or modify a language grammar (set of symbols and rules) and then test the grammar against sample input. Once you are satisfied with the grammar, the Builder will then generate a compiled grammar file, an optimized table of symbols and rules. The Builder is also able to generate a sample template file for a number of engines written in many languages.
GOLDEngine for Java is a Java implementation of an engine that can process source input using the compiled grammar files (CGT and EGT format) created by the GOLD Builder. The engine is able to act as a language interpreter, compiler, or language translator depending upon how the production rules are implemented.
The source for the engine as well as some examples can be found on GitHub goldengine. I also have a link to a PDF document containing the presentation slides from a talk that I gave at the McHenry County Software Craftsmanship meeting in July 2012.