ANTLR — StringTemplate — CamelCase

Каков наилучший шаблон (независимый от языка, для переназначаемого кода генерации) для перевода токена antlr в атрибут StringTemplate регистра верблюдов при преобразовании дерева? Пример: Мой DSL имеет определение MY_FIELD, и в выводе StringTemplate мне нужно myField.


person Diego Martinez    schedule 11.02.2013    source источник


Ответы (1)


В вашем синтаксическом анализаторе вы можете установить текст токена, и он должен пройти через StringTemplate. Что-то вроде этого фрагмента грамматики должно работать:

my=MY_FIELD { $my.setText("myField"); }

person monty0    schedule 15.02.2013
comment
нормально друг!!! нормально работает в парсерах дерева с такими правилами, как {$STRING.token.setText($STRING.text.toUpperCase());} -> (перезапись дерева). Я сделаю это в обходчике адаптера Java, обходчике для каждого целевого языка. . Спасибо!!! - person Diego Martinez; 16.02.2013