如何在解析器树中修改antlr RuleContext文本并保留更改

时间:2019-03-01 12:37:39

标签: antlr4

我正在使用antlr4解析CSharp代码。我需要修改CSharp方法的内容,并将修改后的行保存在输出CSharp代码中。 例如:解析的cSharp文件包含如下方法-

ps

我将方法(从雇员到部门)的第二行更改为- paramList.Add(“ @ Param1”,department.DepartmentId);

我可以通过在CSharpParserListener方法中使用以下方法设置此项来实现此目的: ctx.children.set(index,slcList.get(index)); ctx是statement_list节点的RuleContext

但是当我检查调用文件中的compilation_unit时,这些更改不会保留。

请让我知道是否可以动态地对已解析的代码进行此类更改并将更改保留在parsetree中。

0 个答案:

没有答案