SableCC is an open source compiler generator (or interpreter generator) in Java.

It is licensed under GNU Lesser General Public License.

SableCC includes all 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.

From SableCC website

Reference