Coco/S is a compiler generator that takes plain EBNF grammar files and features a SAX style call back API. It is written in Java and produces a Java Scanner (Lexer) and Parser for the language described by the input grammar.
Coco/S is a branch of the 2010/11 release of Coco/R for Java.
While Coco/R takes an attributed grammar file, Coco/S has a callback API. This has the advantage of a clean separation between grammar (EBNF) and Compiler/Interpreter.