JParsec似乎能够解决问题,但我无法评论其质量。Java没有操作符重载,这是解析器组合子中“魔法”的语法部分。您也可以使用Scala来实现解析器,然后从Java中调用它们。但与JavaCC等代码生成器相比,好处并不是很大。