我正在学习如何使用 Antlr4 来解析 COBOL 源代码。目前,我正在按照 Enam Biswas 在他的 Youtube视频中所展示的步骤进行操作。
基本上,我已经下载antlr-4.7.1-complete.jar
并放置在C:\Javalib
. 是的,我还将路径包含到我的 Windows 环境中并创建了antlr.bat
和grun.bat
文件。
对于语法文件,我使用的是取自 Ulrich Wolffgang github的Cobol85.g4和Cobol85Preprocessor.g4。同时,我使用HellowWorl.cbl示例源代码来查看解析是如何工作的。
运行后antlr.bat
,我执行了以下命令:
C:\Users\ffa\Desktop\COBOL>grun Cobol85Preprocessor startRule HellowWorld.cbl
结果,我收到了如下所示的错误消息:
Warning: TestRig moved to org.antlr.v4.gui.TestRig; calling automatically
Can't load Cobol85.g4 as lexer or parser
由于我不确定为什么无法按照视频中所示解析它,因此我还尝试了以下命令:
C:\Users\ffa\Desktop\COBOL>grun Cobol85 startRule HellowWorld.cbl
和
C:\Users\ffa\Desktop\COBOL>grun Cobol85* startRule HellowWorld.cbl
最后,我仍然收到相同的错误消息。所以,我通过谷歌搜索并找到了下载的建议antlr-runtime-4.7.1.jar
。因此,我下载了该文件并将其放在位于C:\Javalib
.
当我执行上面的命令时,这一次,我收到了不同的消息
Error: Could not find or load main class org.antlr.v4.runtime.misc.TestRig
谁能帮我用 Antlr4 解析 COBOL 源代码?如果有人可以解释 和 之间的区别,那也Cobol85.g4
很好Cobol85Preprocessor.g4
。