强制 ANTLR 在特定文件夹中生成输出文件

force ANTLR to generate the output files in a specific folder

我不喜欢将 ANTLR 生成的文件与我的 .g4 语法和其他版本控制文档放在同一位置。我想将所有生成的文件放在一个单独的嵌套文件夹中,可以通过 .gitignore 排除该文件夹。到目前为止我尝试过的是在主文件夹内和该文件夹内创建一个文件夹 <someFolder>:

cd <someFolder>
antlr ../<grammarFile.g4>

但是,它仍然会溢出父文件夹中的所有生成文件。

P.S.应该没关系,但我的环境是macOS。

来自https://github.com/antlr/antlr4/blob/master/doc/tool-options.md

-o outdir

ANTLR generates output files in the current directory by default. This option specifies the output directory where ANTLR should generate parsers, listeners, visitors, and tokens files.

在上面的示例中,来自主文件夹 运行

antlr <grammarFile.g4> -o <someFolder>