使用 ANTLR4 PLSQL 语法到 .NET 中的 .cs 文件时出现问题
Posted
技术标签:
【中文标题】使用 ANTLR4 PLSQL 语法到 .NET 中的 .cs 文件时出现问题【英文标题】:Issue using ANTLR4 PLSQL grammar to .cs file in .NET 【发布时间】:2015-10-30 06:19:03 【问题描述】:我在 C# target for ANTLR4 的帮助下将 ANTLR PLSQL.G4 语法文件转换为 PLSQLParser.cs 和 PLSQLLexer.cs。请参考link。
我使用下面提到的命令行命令将语法文件转换为 .cs 代码。
java -jar antlr-4.5.1-complete.jar -Dlanguage=CSharp PLSQL.g4
它生成了下面提到的6个文件,即。
PLSQL.tokens PLSQLBaseListener.cs PLSQLLexer.cs PLSQLLexer.tokens PLSQLListener.cs PLSQLParser.cs我将这些文件添加到我的 C# 项目中,还添加了 C# 的 ANTLR 运行时 (Antlr4.Runtime.dll) 作为对我的项目的引用。
最后我尝试构建我的 C# 项目,但它显示 36 个构建错误。这也在文件 PLSQLParser.cs 和 PLSQLLexer.cs 中。请参考下面提到的错误。
-
名称“_input”在当前上下文中不存在
当前上下文中不存在名称“setChannel”
当前上下文中不存在名称“HIDDEN”
我使用的是 Visual Studio 2013 专业版。
请帮助我纠正这些构建错误。
谢谢, 西瓦普拉卡什。
【问题讨论】:
请贴出语法代码。 【参考方案1】:请确认 G4 文件是为您用于从 *.G4 转换为 *.CS 的 Antler 版本构建的
“xxx 不存在错误”一般就是这种错误。
【讨论】:
以上是关于使用 ANTLR4 PLSQL 语法到 .NET 中的 .cs 文件时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
ANTLR4入门:使用mave ANTLR4插件(antlr4-maven-plugin)执行语法解析生成器