如何解析符合ANTLR4表达语法的代码,然后生成XML标签

How can I parse the code that is conforming to a grammar expressed using ANTLR4 and then generate XML tags

我使用 VScode 和 Mike Lischke 的扩展指定了使用 ANTLR4 的语法。我想知道是否有一种方法可以解析符合语法的程序代码并最终生成一些 XML 标签。

Xtext 通过生成包含著名的 doGenerate 方法的 .xtend 文件来提供此解决方案,在该方法中我们访问对象然后生成新代码。

ANTLR 中没有内置“将此解析树写成 XML”功能。

编写一个在遍历解析树时产生 XML 的侦听器不会太难。您必须决定要将哪些 属性 包含在您 XML 中,以及要创建哪些属性。

可能大多数人想要序列化为 XML 从解析树创建 AST(解析树可能相当冗长,具体取决于语法)。使用 AST,您甚至可以对其进行注释,并使用库将 AST 序列化为 XML(例如,使用 JaxB 之类的东西)