c# - ANTLR 可与 C# 一起使用

标签 c# antlr grammar yacc lex

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/

相关文章:

java - 将参数传递给 GUnit 中的解析器规则

c - 如何将 ANTLR C 语法中的 postfix_expression 转换为 AST?

c 语法 LONG (NTAPI 名称) (type1,type2...);

c# - 从 C# 调用 web 服务并发送未转义的 xml

c# - 如何判断数组有多大,然后显示里面的所有信息?

java - ANTLR 将部分字符串视为关键字

error-handling - “no viable alternative”消息如何重定向?

parsing - 类香料语言识别器的语法

c# - ViewModel没有通过POST方法传递回 Controller

c# - Datagrid 组合框使 relativsource 工作