20多年前,我使用yacc / lex和C / C ++为MS-DOS平台创建了PLC的自定义编译器。现在同一家公司想要一个新版本。目标平台是Windows,所以我的偏好是使用C#。我花了一天时间用C#查看ANTLR,到目前为止还没有能够创建一个简单的解析器。我正在使用VS2012而且我没有从最新的ANTLR下载中找到.Net 4.0兼容库。我正在使用Language = CSharp3并且还没有找到预先构建的.NET库。尝试使用VS2012进行构建时,尝试从源重建库会产生错误。我需要在第二天左右确定ANTLR和C#是否可行。是否有人使用ANTLR与C#生成大型编译器项目?
尝试构建antlr3.Runtime的CSharp版本的错误之一:
错误1签署程序集时出现加密失败'c:\ ANTLR \ runtime \ CSharp3 \ Sources \ Antlr3.Runtime \ _ obj \ Debug \ Antlr3.Runtime.dll' - '读取密钥文件'c:\ ANTLR \ runtime时出错\ CSharp3 \ Sources \ Antlr3.Runtime \ Key.snk' - 系统找不到指定的文件。 'C:\ ANTLR \ runtime \ CSharp3 \ Sources \ Antlr3.Runtime \ CSC Antlr3.Runtime
答案 0 :(得分:2)
我相信你必须创建自己的密钥文件。
请参阅How to: Create a Public/Private Key Pair
使用Visual Studio命令提示符中的AN应用程序
sn –k c:\ANTLR\runtime\CSharp3\Sources\Antlr3.Runtime\Key.snk