1
我有一个ANTLR4的语法文件。
我有一些'('
和')'
令牌,我想让ANTLR4跳过它,这取决于静态boolean
是否等于true
。根据布尔值跳过一些标记
示例:如果某一静态boolean
是`真
example
: '(' IDENTIFIER ')'
IDENTIFIER: [a-z]+;
我想为(
和)
令牌被跳过。
`这样做的任何方式?
我有一个ANTLR4的语法文件。
我有一些'('
和')'
令牌,我想让ANTLR4跳过它,这取决于静态boolean
是否等于true
。根据布尔值跳过一些标记
示例:如果某一静态boolean
是`真
example
: '(' IDENTIFIER ')'
IDENTIFIER: [a-z]+;
我想为(
和)
令牌被跳过。
`这样做的任何方式?
试试这个:
grammar T;
@parser::members {
boolean skipParens = true;
}
example
: {skipParens}? IDENTIFIER
| '(' IDENTIFIER ')'
;
IDENTIFIER
: [a-z]+
;
注意,通过这样做,你的语法是依赖于特定的语言(Java的,在这种情况下)。
“跳过它”是什么意思? –
不再需要它,就好像它没有放在语法中一样。 – user3535030
在解析器规则?在词法分析规则中?这将大大有助于你想要实现的一些例子 –