http://www.antlr.org/
ANother Tool for Language Recognition, is a language tool that
provides a framework for constructing recognizers, interpreters,
compilers, and translators from grammatical descriptions containing
actions in a variety of target languages. ANTLR provides excellent
support for tree construction, tree walking, translation, error
recovery, and error reporting. There are currently about 5,000 ANTLR
source downloads a month.
ANTLR has a sophisticated grammar development environment called
ANTLRWorks, written by Jean Bovet.