【发布时间】:2019-11-13 16:53:51
【问题描述】:
如果我从https://github.com/antlr/grammars-v4 下载 PlSql 语法文件(PlSqlParser.g4 和 PlSqlLexer.g4)并使用 Antlr4 运行它们,这将成功创建相关包。正如其他地方所建议的那样,我然后粘贴名为 PlSqlParserBase.java 和 PlSqlListenerBase.java 的两个文件,然后尝试使用命令 javac Pl*.java 进行编译
这给了我以下我没有遵循的错误。
PlSqlLexerBase.java:5:错误:重复类: PlSqlParseTree.PlSqlLexerBase 公共抽象类 PlSqlLexerBase 扩展词法分析器 ^ PlSqlLexer.java:12:错误:无法访问 PlSqlLexerBase 公共类 PlSqlLexer 扩展 PlSqlLexerBase { ^ 错误的源文件:./PlSqlLexerBase.java 文件不包含类 PlSqlLexerBase 请删除或确保它出现在源路径的正确子目录中。 2 个错误
我想我一定错过了一个明显的步骤。有人可以帮助我编译源代码吗?
【问题讨论】:
-
"按照其他地方的建议,然后我粘贴两个名为 PlSqlParserBase.java 和 PlSqlListenerBase.java 的文件" 将它们粘贴到哪里?这是在哪里以及在什么情况下提出的?复制文件绝对不是 ANTLR 项目标准构建过程的一部分。
-
在其他 stackoverflow 问题中,指出 plsql 语法需要特定于语言的函数才能工作,因此需要额外的两个文件才能工作。