А можно транслировать LEX и YACC в Java?
Есть jay - JACC для Java. Поищи по гуглу.
Спасибо, посмотрю.
самые распространненые вещи: javaCC, antlr
про Jack впервые слышу...
javaCC, antlrони LL(k а yacc LALR(1)
а в чём разница?
Если у тебя грамматика для LALR-парсера (например, yacc/bison вероятно, тебе придется её преобразовывать для разбора LL(k)-парсером (избавляться от левых рекурсий и т.п. и наоборот.
Вообще, вот, какой-то текст, более-менее понятно написано про разные грамматики, кажется. Ну, или почитай в какой-нибудь книжке.
угу, спасибо. и за ссылку тоже.
Кстати, более тщательный поиск дал:
Since its development, the engineers responsible for Jack created their own company called Metamata. The Jack product name was changed to JavaCC, and now Metamata is part of WebGain.
CUP - генератор LR парсеров, все правильно, ботай дальше Кстати вопрос, а разве сам YACC не может генерить Яву? Странно если нет, CUP отличается от YACC-а просто тем, что он сам написан на Яве, а что генерить вроде бы нет разницы.
antlr рулит, довольно легко пишется парсинг сложных синтаксисов.
угу antlr, ещё можно javacc посмотреть. А вообще вот здесь много хорошего посмотреть:
Оставить комментарий
psihodog
Если да, то как?В любом случае, чем сейчас принято пользоваться для этих целей?