ANTLR

is a lexer and parser generator that allows the generation of Tree Parsers.

This tool generates an LL(*) parser, which does not accept ambiguous grammar specifications either.

18. Parr, T.J., Quong, R.W.: Antlr: A predicated-ll(k) parser generator. Software Practice and Experience 25, 789–810 (1995)