Lately there has been some debate on the udk project about a better parser, SAX is the way it was currently being done. However other free software proposals like lex/yacc, bison/gcc C++, boost::spirit.The discussion was handle primarily between Kay Ramme, Eike Rathke and Stephan Bergmann which at the end came up with this intervention: yacc/bison can only handle lalr(1) grammars, so if it is difficult/impossible to press your
grammar into that form (and for C++ it is at least difficult), you are better off using
some other approach than lalr(1). This does not necessarily have anything to do with the
performance of the resulting parser, and this definitely has nothing to do with whether a
parser generator is implemented as a stand-alone tool or as an embedded DSL. Personally I would like to see some low level parser that will improve the overal simplicity and performance.