所以在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的新手。那么我错过了什么问题呢?
答案 0 :(得分:1)
确保你有一个“。”在你的CLASSPATH中。通常它会是这样的:
.;C:\etc\etc\javalib\antlr-xxx.jar
答案 1 :(得分:0)
您的语法是正确的,因此它表明您没有正确安装某些内容。你很可能错过了依赖关系,在nano中没有方便的方法来设置它们。我不使用swift目标,但使用 XCode 进行设置,依赖项和项目文件时detailed instructions here。我建议你试试那个github资源;它还包含一些注意事项和提示,以通过发布模式中的优化设置获得更好的性能。