20 多年前,我使用 yacc/lex 和 C/C++ for MS-DOS 平台为 PLC 创建了一个自定义编译器。现在同一家公司想要一个新版本。目标平台是 Windows,所以我首选使用 C#。我刚刚花了一天时间使用 C# 查看 ANTLR,但到目前为止还无法创建一个简单的解析器。我正在使用 VS2012,但没有从最新的 ANTLR 下载中找到 .Net 4.0 兼容库。我正在使用 Language=CSharp3,但尚未找到预构建的 .NET 库。当尝试使用 VS2012 构建时,尝试从源代码重建库会出现错误。我需要在第二天左右决定 ANTLR 和 C# 是否是一个可行的选择。有人使用 ANTLR 和 C# 来生成大型编译器项目吗?
尝试构建antlr3.Runtime的CSharp版本时出现的错误之一:
对程序集“c:\ANTLR\runtime\CSharp3\Sources\Antlr3.Runtime\obj\Debug\Antlr3.Runtime.dll”进行签名时出现错误 1 加密失败 --“读取 key 文件“c:\ANTLR\runtime 时出错”\CSharp3\Sources\Antlr3.Runtime\Key.snk' -- 系统找不到指定的文件。 ' C:\ANTLR\runtime\CSharp3\Sources\Antlr3.Runtime\CSC Antlr3.Runtime
最佳答案
我相信您必须创建自己的 key 文件。
参见How to: Create a Public/Private Key Pair
从 Visual Studio 命令提示符使用 SN 应用
sn –k c:\ANTLR\runtime\CSharp3\Sources\Antlr3.Runtime\Key.snk
关于c# - ANTLR 可与 C# 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208987/