我有 ANTLR4 的语法文件。
我其中有一些 '('
和 ')'
标记,我希望 ANTLR4 跳过它,具体取决于静态 boolean
是否为等于true
。
示例:
example
: '(' IDENTIFIER ')'
IDENTIFIER: [a-z]+;
如果某个静态 boolean
为“true”,我希望跳过 (
和 )
标记。
`有什么方法可以做到这一点吗?
最佳答案
试试这个:
grammar T;
@parser::members {
boolean skipParens = true;
}
example
: {skipParens}? IDENTIFIER
| '(' IDENTIFIER ')'
;
IDENTIFIER
: [a-z]+
;
请注意,通过这样做,您的语法将与特定语言(在本例中为 Java)相关联。
关于java - 根据 boolean 值跳过一些标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40952307/