我在 Antlr4 中写了一个 BNF 语法。使用 Antlr 命令,我设法运行并编译了它。输出是 Antlr 生成的所有必要文件(Lexers、Parsers、Listeners)。我不确定我创建的 BNF 语法在语义上是否正确,但至少在语法上是正确的,因为没有出现错误。
此时,我必须检查某些现有表达式是否根据该语法进行解析,但我不知道该怎么做。
我在 Antlr4 中写了一个 BNF 语法。使用 Antlr 命令,我设法运行并编译了它。输出是 Antlr 生成的所有必要文件(Lexers、Parsers、Listeners)。我不确定我创建的 BNF 语法在语义上是否正确,但至少在语法上是正确的,因为没有出现错误。
此时,我必须检查某些现有表达式是否根据该语法进行解析,但我不知道该怎么做。
我做出以下假设:
然后执行以下操作:
$ java org.antlr.v4.runtime.misc.TestRig Test parse -tree
Type expressions here
CTL^D
如果文件中有示例表达式,则可以通过解析器管道内容:
$ cat fileName | java org.antlr.v4.runtime.misc.TestRig Test parse -tree