ITP: antlr -- a compiler-compiler (and more) for Java
ANTLR can be download from www.antlr.org, you need to enter in some
details to download the tarball.
ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) is a
language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing C++ or Java actions
[You can use PCCTS 1.xx to generate C-based parsers].
Computer language translation has become a common task. While compilers
and tools for traditional computer languages (such as C or Java) are
still being built, their number is dwarfed by the thousands of mini-languages for which
recognizers and translators are being developed. Programmers construct translators for
database formats, graphical data files (e.g., PostScript, AutoCAD), text
processing files (e.g., HTML, SGML). ANTLR is designed to handle all of your translation tasks.
We reserve no legal rights to the ANTLR--it is fully in the
public domain. An individual or company may do whatever
they wish with source code distributed with ANTLR or the
code generated by ANTLR, including the incorporation of
ANTLR, or its output, into commerical software.
We encourage users to develop software with ANTLR. However,
we do ask that credit is given to us for developing
ANTLR. By "credit", we mean that if you use ANTLR or
incorporate any source code into one of your programs
(commercial product, research project, or otherwise) that
you acknowledge this fact somewhere in the documentation,
research report, etc... If you like ANTLR and have
developed a nice tool with the output, please mention that
you developed it using ANTLR. In addition, we ask that the
headers remain intact in our source code. As long as these
guidelines are kept, we expect to continue enhancing this
system and expect to make other tools available as they are