如何在没有Visual Studio的情况下重建C#ANTLR解析器?

如何在没有Visual Studio的情况下重建C#ANTLR解析器?,c#,parsing,antlr,C#,Parsing,Antlr,我正试着在Boo编译器里转一转。不幸的是,解析器是由ANTLR生成的。我已经编辑了生成解析器的语法文件,但我不知道如何执行下一步:实际生成解析器 显然,使用ANTLR生成解析器的首选方法是使用ANTLRWorks IDE。。。除非您使用的是C#output目标,因为这很特殊。不管怎样,我还是尝试了它,但它没有做什么,只是给了我一个错误,说“这个命令在旧模式下无效”。显然,自从Boo编译器编写以来,已经有了一个新版本的ANTLR,并且存在一些向后兼容性问题。。。或者别的什么。不太清楚 所以我查了一

我正试着在Boo编译器里转一转。不幸的是,解析器是由ANTLR生成的。我已经编辑了生成解析器的语法文件,但我不知道如何执行下一步:实际生成解析器

显然,使用ANTLR生成解析器的首选方法是使用ANTLRWorks IDE。。。除非您使用的是C#output目标,因为这很特殊。不管怎样,我还是尝试了它,但它没有做什么,只是给了我一个错误,说“这个命令在旧模式下无效”。显然,自从Boo编译器编写以来,已经有了一个新版本的ANTLR,并且存在一些向后兼容性问题。。。或者别的什么。不太清楚

所以我查了一下C#target。希望在VisualStudio中作为插件安装的。唯一的问题是,我有SharpDevelop,它不适用于VS插件,我不打算花几百美元购买Visual Studio的非Express版本,这样我就可以使用开源工具来构建开源解析器了


必须有一个简单的方法来做到这一点;我只是没看到而已。在没有Visual Studio的情况下,如何使用ANTLR生成C#解析器?

Visual Studio的ANTLR插件仅提供编辑器功能和向项目添加新语法的简化功能。它本身不执行任何代码生成

ANTLR 3和ANTLR 4的C#目标都与MSBuild无缝集成。根据设计,目标不支持解析器的命令行生成,因为它们不满足我对可靠软件构建的要求。但是,如果生成始终作为生成的一部分而不是作为独立步骤进行,我愿意包括对非MSBuild支持的支持。构建项目时,所有正确配置的C#目标安装都将在修改后自动重新生成解析器,即使未安装Visual Studio

对于ANTLR 4,请遵循生成代码的步骤,但跳过涉及可选Visual Studio扩展的部分。如果您在使用任何特定部件时遇到问题,请创建一个新问题,并描述您尝试的步骤和正在使用的系统配置


对于Antlr3,这些指令是在将项目迁移到GitHub之前创建的,所以它们是。可以在上创建与此文档相关的问题重要注意事项(编辑):文档也是在创建NuGet软件包之前编写的。使用NuGet软件包管理器安装此NuGet软件包将自动配置项目文件,无需执行文档中的步骤1.1.2、1.3和1.4。

您使用的是什么版本的ANTLR/AntlWorks?我使用这两种方法来生成c#代码。@帕特里克:我使用的是最新版本的AntlWorks(刚刚下载),它似乎存在向后兼容性问题。我想是的。我也看到了。您可以使用ANTLR的早期版本吗?或者,我们可以使用ant进行构建过程,并且有一个集成的库。它可能对你有用。