首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Antlr4 4.2 (C#)升级到最新版本(4.4?)

如何从Antlr4 4.2 (C#)升级到最新版本(4.4?)
EN

Stack Overflow用户
提问于 2014-07-25 21:14:03
回答 1查看 448关注 0票数 0

在ANTLR下载页面上,它声明最新版本的ANTLR为4.4。从同一页面的C#目标部分,单击"ANTLR 4 C# Target (最新版本)“,我将看到4.3TargetReleaseGitHub页面,该页面具有Readme.md的链接,单击该链接后,将生成一个404。

问题1:虽然下载页面中说C# 4.4的最新版本,但我通过NuGet获得的版本是4.3。这是否意味着4.4不适用于C#?

问题2:我在哪里找到与我从NuGet获得的版本相对应的代码生成工具(即Antl4.3)?

我们尝试使用ANTLR -4.4-完备性. jar来生成代码--我们在构建脚本中用该jar替换了前面的jar(antlr4-cShar-4.0.1-快照-完全性),现在我们得到:"error(31):ANTLR无法在4.4版本时生成CSharp_v4_5代码“(我们以前没有得到)。我们还尝试了antlr-4.3-完全. got,并得到了类似的结果。

我们需要什么来利用最新的发行版?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-26 00:09:37

首先,我在发布说明中更正了指向Readme.md的链接。感谢您指出这一点,尽管通知维护人员的一种更可靠的方法是直接为项目提交问题

第二,C#目标不是基于发布在antlr.org上的ANTLR版本,而是基于我创建的用于优化性能和(特别是)与解析高度复杂语法相关的内存开销的项目的分支。这些工具使用不同的序列化格式,不能互换。

C#代码生成器通过NuGet分发,如自述文件中所述。

ANTLR 4.4与ANTLR 4.3的主要区别如下:

  1. 包含其他目标(与C#目标无关,因为运行库不是C#,也使用其他序列化格式)
  2. 该工具中对用户影响最小的bug修复(它抛出一个异常,而不是在代码生成时报告特定类型语法错误的错误)。
  3. 修复指定未知目标时发生的错误(也不适用于C#目标,因为MSBuild集成自动选择正确的目标语言)

基于此,C#目标的4.3版本在功能上相当于4.4。我正在等待发布一个"4.4“版本,直到我能够解决其他不适用于参考版本的性能问题和功能。特别是,我正在从事以下工作:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24964588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档