ANTLR4错误:无法加载Hello作为词法分析器或解析器

时间:2017-08-27 16:18:25

标签: antlr

所以在macOS上我安装了ANTLR4.7并且在安装了antler的目录中我定义了我自己的语法,如下所示:

$ cd cd /usr/local/lib
$ mkdir HelloDir
$ cd HelloDir
$ nano Hello.g4 

我将此代码粘贴到文件中:

// Define a grammar called Hello
grammar Hello;
r  : 'hello' ID ;         // match keyword hello followed by an identifier
ID : [a-z]+ ;             // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines

而不是保存文件

然后我创建了类:

$ antlr4 -Dlanguage=Swift Hello.g4 //the files are generated successfully

在此之后,我试着看看我创造了什么:

$ grun Hello r -tree

这就是错误信息毁了我一天的时候:

  

无法加载Hello作为词法分析器或解析器

问题可能很明显,但我是ANTLR的新手。那么我错过了什么问题呢?

2 个答案:

答案 0 :(得分:1)

确保你有一个“。”在你的CLASSPATH中。通常它会是这样的:

.;C:\etc\etc\javalib\antlr-xxx.jar

答案 1 :(得分:0)

您的语法是正确的,因此它表明您没有正确安装某些内容。你很可能错过了依赖关系,在nano中没有方便的方法来设置它们。我不使用swift目标,但使用 XCode 进行设置,依赖项和项目文件时detailed instructions here。我建议你试试那个github资源;它还包含一些注意事项和提示,以通过发布模式中的优化设置获得更好的性能。