【问题标题】:Am I missing a step in trying to use the PlSql Grammar with Antlr4?我是否错过了尝试将 PlSql 语法与 Antlr4 一起使用的步骤?
【发布时间】: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 语法需要特定于语言的函数才能工作,因此需要额外的两个文件才能工作。

标签: java plsql antlr4


【解决方案1】:

我可以通过在 PlSqlLexerBase.java 和 PlSqlParserBase.java 中注释掉包行来编译。

//package PlSqlParseTree;

【讨论】:

    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 2013-07-10
    • 2019-12-13
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多