2
我想从g4文件启用/禁用访问者/监听者代。在ANTLR4语法中嵌入访问者/监听者选项
有没有办法在ANTLR4语法中嵌入Visitor/Listener选项?我正在寻找类似的东西:
grammar foo;
options {
visitor=false;
listener=false;
}
...
我想从g4文件启用/禁用访问者/监听者代。在ANTLR4语法中嵌入访问者/监听者选项
有没有办法在ANTLR4语法中嵌入Visitor/Listener选项?我正在寻找类似的东西:
grammar foo;
options {
visitor=false;
listener=false;
}
...
不,不在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 Parser Generator Version 4.4 -o ___ specify output directory where all output is generated -lib ___ specify location of grammars, tokens files -atn generate rule augmented transition network diagrams -encoding ___ specify grammar file encoding; e.g., euc-jp -message-format ___ specify output style for messages in antlr, gnu, vs2005 -long-messages show exception details when available for errors and warnings -listener generate parse tree listener (default) -no-listener don't generate parse tree listener -visitor generate parse tree visitor -no-visitor don't generate parse tree visitor (default) -package ___ specify a package/namespace for the generated code -depend generate file dependencies -D<option>=value set/override a grammar-level option -Werror treat warnings as errors -XdbgST launch StringTemplate visualizer on generated code -XdbgSTWait wait for STViz to close before continuing -Xforce-atn use the ATN simulator for all predictions -Xlog dump lots of logging info to antlr-timestamp.log
原因是这样的这些类是使用语法的应用程序和/或目标语言的属性,并且完全独立于语法本身。 maven,ant和msbuild集成(至少)支持指定这些选项。 –