Объединение Antlr 3.5.2 со StringTemplate 4 для генерации кода

#antlr #antlr3 #stringtemplate-4

#antlr #antlr3 #stringtemplate-4

Вопрос:

Текущий проект, над которым я работаю, ограничен использованием antlr 3.5.2, но я хотел бы использовать набор функций StringTemplate 4 для нашей генерации кода. Может ли antlr 3.5.2 сгенерировать Java treewalker, который использует StringTemplate 4? (например, древовидный грамматик с output= template, который приводит к файлу Java со ссылками ST * вместо StringTemplate *)

Ответ №1:

output=template Опция поддерживает только StringTemplate 3. Вы все еще можете поддерживать StringTemplate 4, но для этого потребуется использовать встроенные действия или написанный от руки переходник, аналогичный тем, которые ANTLR 4 генерирует автоматически.

Сам инструмент ANTLR 4 использует второй вариант.