Есть ли комбинатор синтаксического анализа как отличный, как Scala для Java?

Я прочитал учебник о компараторах парсеров для Scala, и мне было интересно, есть ли что-то как "волшебное" для Java. Лучшее, что я мог найти, это JParsec.

Ответ 1

JParsec, похоже, делает трюк, но я не могу прокомментировать его качество. Java не имеет перегрузки оператора, которая является синтаксической частью "магии" в комбинаторах парсеров.

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

Ответ 3

Javacc, grammatica by percederberg. Любой из них может быть использован.