Java parser combinator framework. Supports left recursion.