antlr - 安装 Antlr v4.4 的问题

标签 antlr antlr4

我正在尝试在 Windows 上安装 Antlr 4.4 以使用 pyfuzzy,这是一个用于模糊逻辑的 Python 库,它依赖于 Antlr 的 Python 运行时来运行。我已经尝试(天真地)在没有安装 Antlr 的情况下为 Python (2.7) 获取 Antlr 运行时,这当然没有成功。

因此,我尝试按照 Windows 的说明安装 Antlr,但每次尝试运行它时都会收到错误消息:

Error: Could not find or load main class org.antlr.v4.Tool

antlr .jar 文件位于 C:\JavaLib 中,根据安装说明逐字创建的两个批处理文件(antlr4.bat、grun.bat)也在 C:\JavaLib 中。

我的 CLASSPATH 是(我没有一个 CLASSPATH 开始,所以我用我的主 Java 目录和 .jar 文件的路径创建了一个):
C:\Program Files\Java\jdk1.7.0_21\lib;C:\Javalib\antlr4-complete.jar;

我的 PATH 是(尽管我完全确定这是否相关):
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin;C:\QtSDK\mingw\bin; C:\Software\jflex-1.5.0\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Python27;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\DLR\Sumo\bin\;C:\JavaLib

编辑 :
已经切换到 Antlr v 3.5.2,相应地更新了 CLASSPATH,但是我仍然遇到同样的问题。
即命令 java org.antlr.Tool -3.5.2
导致同样的错误。

注意:没有更新 .bat 文件,因为 v3 安装说明没有提到它们。

最佳答案

为我解决的是:将 antlr jar 移动到临时文件夹。即 c:\tmp
然后设置类路径 = c:\tmp\antlr...
出于某种原因,无论我尝试什么,它都无法在任何“程序”目录或子目录中工作。

关于antlr - 安装 Antlr v4.4 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993637/

相关文章:

python - 在 Antlr4 中解析字符串内的标记

jvm - 创建一个简单的领域特定语言

java - 为大型项目选择解析技术

java - antlr如何以任意顺序定义可选部分

c# - Antlr4 C#目标和生成文件的输出路径

c# - 停止访问的推荐方法是什么?

eclipse - ANTLR 和 Eclipse(或任何像样的 IDE)

antlr 4 - 警告 : rule contains an optional block with at least one alternative that can match an empty string

java - 在antlr语法g4文件中使用Java代码

antlr3 - 句法谓词 - 从 Antlr 3 升级到 Antlr 4