【发布时间】:2014-07-23 14:59:47
【问题描述】:
我想从 g4 文件启用/禁用访问者/侦听器生成。
有没有办法在 ANTLR4 语法中嵌入访问者/听众选项?我正在寻找这样的东西:
grammar foo;
options {
visitor=false;
listener=false;
}
...
【问题讨论】:
标签: antlr4
我想从 g4 文件启用/禁用访问者/侦听器生成。
有没有办法在 ANTLR4 语法中嵌入访问者/听众选项?我正在寻找这样的东西:
grammar foo;
options {
visitor=false;
listener=false;
}
...
【问题讨论】:
标签: antlr4
不,不在options 块内。
您可以提供Tool,它会生成这些类,命令行选项以确保不会生成这些类。
例如,您为语法T 生成类,如下所示:
java -cp antlr-4.4-complete.jar org.antlr.v4.Tool T.g4
为了确保没有生成任何侦听器或访问者文件,请执行以下操作:
java -cp antlr-4.4-complete.jar org.antlr.v4.Tool T.g4 -no-listener -no-visitor
为了记录,这些是 ANTLR4 的命令行选项:
$java -cp antlr-4.4-complete.jar org.antlr.v4.Tool ANTLR 解析器生成器版本 4.4 -o ___ 指定生成所有输出的输出目录 -lib ___ 指定语法、标记文件的位置 -atn 生成规则增强转换网络图 -encoding ___ 指定语法文件编码;例如,euc-jp -message-format ___ 指定 antlr、gnu、vs2005 中消息的输出样式 -long-messages 在可用于错误和警告时显示异常详细信息 -listener 生成解析树监听器(默认) -no-listener 不生成解析树监听器 -visitor 生成解析树访问者 -no-visitor 不生成解析树访问者(默认) -package ___ 为生成的代码指定一个包/命名空间 -depend 生成文件依赖项 -D
【讨论】: