Моя грамматика дана:
Model:
'module' (mn=ID)?
(func+=Function)+
'end_module'
;
Function:
'function' name=ID '('')'
(vars+=ID)*
'end_function'
;
Я могу найти такой токен, как «функция», «(» и т. д.
- Как If может принудительно добавить новую строку после токена «модуль», если необязательные данные mn не существуют, и после mn, если они существуют?
- Как я могу сделать отступ в начале блока «модуль» и «конечный_модуль», а также «функция» и «конечная_функция»?
Форматирование, которое я ищу:
module test
function fdf ()
str1
str2
end_function
function ff ()
end_function
end_module
До сих пор я генерировал заглушки форматирования, используя: formatter = { generateStub = true }