0
如果我有我的輸入消息:ANTLR如何區分同一類型的輸入參數
名IS(喬恩,TED)IS NOT(彼得);
我想這個AST:
name
|
|-----|
IS IS NOT
| |
| Peter
|----|
Jon Ted
但我收到:
name
|
|-----------------|
IS IS NOT
| |
| |
|----|-----| |----|-----|
Jon Ted Peter Jon Ted Peter
我的語法文件有:
...
expression
| NAME 'IS' OParen Identifier (Comma Identifier)* CParen 'IS NOT' OParen
Identifier (Comma Identifier)* CParen
-> ^(NAME ^('IS' ^(Identifier)*) ^('IS NOT' ^(Identifier)*))
;
..
NAME
: 'name'
;
Identifier
: ('a'..'z' | 'A'..'Z' | '_' | '.' | Digit)*
;
我該如何區分屬於'IS'和屬於'IS NOT'的屬性?
非常感謝,這作品! – user2144555
你能告訴我,如果我可以使用這種符號(保存在變量中)來保存「表達式」嗎?例如在:賦值:'('expression(condition expression)*')'(condition expression)* - > ^(Brackets ^(condition expression *));我想分開括號和後面的內容,打印如下所示的內容: - > ^(方括號$之間)$ – user2144555
@ user2144555之後,試試看看最終結果。如果遇到問題,請隨時提出一個比這些評論框可以容納的更詳細的新問題。 –