VSCode ANTLR4 插件:将调用图导出到 JSON?

VSCode ANTLR4 Plugin: Export Call Graph to JSON?

VisualStudio Code 的 vscode-antlr4 插件有一个很好的调用图功能,可以可视化(作为树状图)语法(和词法分析器)规则如何交互。您可以将图形另存为 SVG。

有没有办法将信息导出为 JSON?我不介意进入插件的代码以找到实现它的方法。

我的目标是为单个规则创建可达性图,即显示可以(传递地)从哪些其他规则到达特定规则的图。来自调用图功能的 "calls" 和 "is-called" 信息将是一个很好的起点。

调用图的数据来自源上下文实例(对于每个语法文件,都有一个源上下文来管理它的所有细节)。请参阅函数 getReferenceGraph,它将关系收集到地图对象中。您可以使用该对象从中生成一个 JSON 对象。或者您创建另一个函数,以这个函数为模板,直接生成 JSON,而无需 UI.

所需的开销