C#、ANTLR4 和命名空间

标签 c# namespaces antlr antlr4

我最近开始玩 ANTLR4 和 C#。我喜欢扩展对 Visual Studio 的全面支持。我不喜欢的是,每当我生成 Lexer/Parser 时,它都会进入我项目的默认命名空间——这不是我想要的,因为它是自动生成的,试图将它插入项目是一种无望的事件手动正确的命名空间。有什么办法可以改变吗? @parser/lexer::namespace { } 和选项中的命名空间(有或没有指定语言)似乎不起作用。

有什么办法吗?

谢谢!

最佳答案

java -jar antlr4.jar -package NameSpace -Dlanguage=CSharp grammar.g4

在上面的 NameSpace 中插入您的命名空间,它将在该命名空间内创建您的代码。

关于C#、ANTLR4 和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23599113/

相关文章:

c# - 通过编译器生成的局部变量 : why is this failing? 隐式转换为具有可空结构的 System.Double

c# - 以管理员身份运行 Visual Studio 看不到映射的网络驱动器

c# - asp.net .asmx web 服务 ishow XXE 漏洞 - 外部 DNS

c++ - std::bind 和 winsock.h 绑定(bind)混淆

java - ANTLR 帮助 - 无法解析普通文本,但所有其他更复杂的规则都可以工作

java - 如何预测和避免 "code too large"?

c# - 为什么要使用显式接口(interface)实现来调用 protected 方法?

kubernetes - 命名空间 “stuck” 作为终止

xml - XML 中命名空间的需要

python-3.x - 无法将规则加载为词法分析器或解析器 - Antlr4