C#、ANTLR4 和命名空间

use*_*849 4 c# antlr namespaces antlr4

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

有什么办法可以做到吗?

谢谢!

Efr*_*eto 5

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

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