JParsec, кажется, делает свое дело, но я не могу комментировать его качество.В Java нет перегрузки операторов, которая является синтаксической частью «магии» в комбинаторах синтаксического анализа.
Вы также можете использовать Scala для реализации синтаксических анализаторов, а затем вызывать их из Java.Но тогда преимущество над генератором кода, таким как JavaCC, не так велико.