SableCC

SableCC is an open-source compiler generator (or interpreter generator) in Java. Stable version is licensed under the GNU Lesser General Public License (LGPL). Rewritten version 4 is licensed under Apache License 2.0.

SableCC includes the following features:
 * Deterministic finite automaton (DFA)-based lexers with full Unicode support and lexical states.
 * Extended Backus–Naur form grammar syntax. (Supports the *, ? and + operators).
 * LALR(1) based parsers.
 * Automatic generation of strictly-typed abstract syntax trees.
 * Automatic generation of tree-walker classes.