С чего начать вручную создавать CST с нуля? Или ANTLR4 всегда требует, чтобы процесс lex / parse был нашим входным шагом?
В моей программе есть некоторые визуальные элементы, представляющие структуры кода.
например квадрат представляет класс, а кружок, заключенный в этот квадрат, представляет метод.
Теперь я хочу превратить их в код. Как мне использовать ANTLR4 для этого во время выполнения (используя ANTLR4.js)? Большинство примеров ANTLR, похоже, полагаются на лексирование и синтаксический анализ существующего кода, чтобы добраться до синтаксического дерева. Так что, а не:
input code->lex->parse->syntax tree->output code (1)
я хочу
manually create syntax tree->output code (2)
(Позже, когда пользователь добавит код в этот класс и его методы, ANTLR будет использоваться, как в (1)
.)
ИЗМЕНИТЬ. Возможно, я неправильно понимаю это. Могу ли я создать некоторую настраиваемую структуру данных, а затем запустить ее анализатор? т.е. write structures to some in-memory format->parse->output code (3)
?