Я прочитал учебник о компараторах парсеров для Scala, и мне было интересно, есть ли что-то как "волшебное" для Java. Лучшее, что я мог найти, это JParsec.
Есть ли комбинатор синтаксического анализа как отличный, как Scala для Java?
Ответ 1
JParsec, похоже, делает трюк, но я не могу прокомментировать его качество. Java не имеет перегрузки оператора, которая является синтаксической частью "магии" в комбинаторах парсеров.
Вы также можете использовать Scala для реализации парсеров, а затем вызвать их из Java. Но тогда преимущество над генератором кода, например JavaCC, не так велико.
Ответ 2
Я пришел, чтобы насладиться jParsec, даже если он не такой горячий, как, скажем, комбинатор парсера Newspeak. Мы сняли удивительное видеоуроки о том, как использовать JParsec.
Ответ 3
Javacc, grammatica by percederberg. Любой из них может быть использован.