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
在解析器規則?在詞法分析規則中?這將大大有助於你想要實現的一些例子 –