我正在用 ANTLR 编写语法,将 Java 源文件解析为 AST 以供以后分析。与其他解析器(如 JavaDoc)不同,我试图保留所有注释。这是很难的注释,可以在代码中的任何地方使用。如果源代码中某处的注释与语法不匹配,则 ANTLR 无法完成对文件的解析。
有没有办法让 ANTLR 自动将它找到的任何评论添加到 AST 中?我知道词法分析器可以简单地使用其中一个{skip();}
或通过将文本发送到隐藏通道来忽略所有评论。使用这些选项中的任何一个,ANTLR 都可以毫无问题地解析文件。
欢迎任何想法。