ANTLR
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 Java, C#, C++, or Python actions. ANTLR provides excellent support for tree construction, tree walking, and translation.
Beaver
Beaver is a LALR(1) parser generator. It takes a context free grammar and converts it into a Java class that implements a parser for the language described by the grammar. Beaver accepts grammars expressed in the Extended Backus-Naur form(EBNF).
Chaperon
Chaperon is a project that converts structured text to XML. It includes a strong LALR(1) parser to parse the text and a tree builder, which creates an XML document. Chaperon is a lexical scanner, a parser generator, a parser, a tree builder and an XML generator all in one package. Chaperon can parse structured text using a grammar and then generate an XML representation of the parsed text, so it is easy to use Chaperon as a converter for text files.
CUP
CUP Parser Generator for Java.
JavaCC
Java Compiler Compiler (JavaCC) is the most popular parser generator for use with Java [tm] applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar.
JFlex
JFlex is a lexical analyzer generator (also known as scanner generator) for Java(tm), written in Java(tm). JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool.
JTopas
The JTopas project provides a small, easy-to-use Java library for the common problem of parsing arbitrary text data. These data can come from a simple configuration file with a few comments, a HTML, XML or RTF stream, source code of various programming languages etc. Sometimes a text has to be parsed completely, sometimes only parts of it are important.
RunCC
RunCC is a new kind of parsergenerator that generates parsers and lexers at runtime. Source generation is only optional. It features the absence of any cryptography except an EBNF dialect. Although intended for small languages, it comes with UNICODE enabled Java and XML example parsers.
SableCC
SableCC is an object-oriented framework that generates compilers (and interpreters) in the Java programming language. This framework is based on two fundamental design decisions.