0

我在 Antlr4 中写了一个 BNF 语法。使用 Antlr 命令,我设法运行并编译了它。输出是 Antlr 生成的所有必要文件(Lexers、Parsers、Listeners)。我不确定我创建的 BNF 语法在语义上是否正确,但至少在语法上是正确的,因为没有出现错误。

此时,我必须检查某些现有表达式是否根据该语法进行解析,但我不知道该怎么做。

4

1 回答 1

0

我做出以下假设:

  • antlr-4.1-complete.jar 在您的 CLASSPATH 中
  • 您的语法称为“测试”
  • 您的起始规则称为“解析”

然后执行以下操作:

$ 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
于 2013-09-20T04:03:42.857 回答