我已经从这里http://antlrcsharp.codeplex.com/releases/view/47523下载了 csharp 语法项目,它运行良好。
但是当我在语法中添加 'output=AST' 时,我得到了大量的错误:
诚然,我是 ANTLR 的新手,所以我现在不知道如何进行。我会假设这种类型会存在于 antlr csharp 运行时 dll 中,但显然不是。有没有人遇到过这个问题?
我已经从这里http://antlrcsharp.codeplex.com/releases/view/47523下载了 csharp 语法项目,它运行良好。
但是当我在语法中添加 'output=AST' 时,我得到了大量的错误:
诚然,我是 ANTLR 的新手,所以我现在不知道如何进行。我会假设这种类型会存在于 antlr csharp 运行时 dll 中,但显然不是。有没有人遇到过这个问题?
我遇到了从 Java 工具生成的 v3.2 脚本迁移到使用 dotNet 构建工具的 v3.4 的迁移。
我能够弄清楚(感谢 .net VS 集成附带的文档)没有获得正确的返回类型的问题是因为只有在规则上有返回类型时才会生成一个类。在我的没有返回值的规则中添加一个虚拟整数返回类型可以清除它。
在 antlr的 C# 目标页面的文档中讨论了 C# 生成器和目标中的规则返回,点击页面顶部的链接并查看第 4.1.1 节“返回值”
大约一年前,我用 Antlr 做了一个项目,遇到了一个问题,我遇到了很多错误。听起来很奇怪,但通过使用较旧的运行时,我让它工作了。我想我使用了一个为 2.0 .Net Framework 编译的 dll。
我不记得确切的错误是什么或实际导致它的原因。我只记得它解决了这个问题。我不知道这是否会对您的情况有所帮助,但如果您遇到困难,值得一试。
你不是第一个遇到这个问题的人。https://github.com/antlr/antlr/pull/1上的补丁通过提供丢失的文件来解决它。将其包含在您的源代码中并重新编译。