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.
UML 2 Statemachine for C++ is a development framework with DSL support
UML 2 Statemachine Code Generator is a developer framework for an easy implementation of statemachine based applications. Here, with this framework only one Domain-specific language (DSL) specification is necessary to create executable codes for Linux, Mac OS X, and Microsoft Windows. With this framework you save a lot of time and effort during implementation; also you have an always valid - based on a well-defined C++ standard - generated code with high quality.
Parse software messages and transform them into actions. LazyBat has a command line utility which can transform input data, and also a parser generator for C/C++. LazyBat doesn't support recursive parsing, but rather focuses on common parsing jobs.