Sablecc-mode is a project mainly written in Emacs Lisp, it's free.
Emacs generic mode for sablecc grammar files
To use it, put the sablecc-mode.el file in ~/.emacs.d/ and add the following lines to your .emacs:
(setq load-path (append (list nil "~/.emacs.d") load-path)) (load "sablecc-mode")