我在Antlr中编写了一个语法,我想检查一些表达式是否根据语法进行解析

时间:2013-08-22 11:14:48

标签: parsing expression antlr antlr4

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

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

1 个答案:

答案 0 :(得分: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