2015-03-26 3 views
2

Я работаю с antlr4 для создания дерева из кода кобола, и моя главная цель - добавить новый код, изменив дерево. Есть ли способ изменить или добавить новые узлы в дерево и создать новый код кобоба из этого нового дерева?Antlr4 добавить новый узел в дерево

Например, если у меня есть код Cobol с

DISPLAY "Hello world!". 

Я хочу, чтобы изменить текст «Привет, мир!» или добавление нового узла с кодом

DISPLAY "Hello again!". 

И от этого, создать новый обновленный код Cobol из этого нового модифицированного дерева.

Заранее благодарен!

+0

Просто любопытно: почему он помечен node.js? – rslemos

ответ

2

Antlr4 не поддерживает прямую модификацию дерева синтаксического анализа. Вместо этого он предпочитает украшение узлов синтаксического анализа. Таким образом, на вашем выходе пройдите через дерево синтаксического анализа, просто проверьте экземпляры декоратора на обновленные значения узлов и создайте соответственно.

Смежные вопросы