解析 G4 文件以生成 doc/schema

Parsing a G4 file to generate doc / schema

我意识到这个问题有点 meta,但我本质上想解析 ANTLR4 语法(一个实际的 .g4 文件),然后生成文档和其他工件 基于语法(不是语法的实例)。

例如,考虑包含此规则的 example Java grammar

compilationUnit
:   packageDeclaration? importDeclaration* typeDeclaration* EOF
;

我希望能够解析 Java.g4 文件并生成说明 "A compilationUnit contains an optional packageDeclaration, 0 or more importDeclarations, and 0 or more typeDeclarations" 的文档。或者,也许我想生成一个 XSD,其数据类型称为 "compilationUnit",其中包含 "packageDeclaration"、"importDeclaration" 和 "typeDeclaration" 元素(具有适当的基数集)。

完成这样的事情的最佳方法是什么?是创建目标(尽管目标不是创建lexers/parsers),还是使用example antlr4 grammar解析g4文件,还是其他?

谢谢!

这将是 ANTLR 的一个非常典型的用法,并且考虑到现有的 ANTLR 4 语法很方便。