1
我需要的Xtext語法規則(或多個)的工作類似於以下內容:的Xtext多個交叉引用
1: CollectionGetElement:
2: val=[VariableReference] '='
3: (ref=[List] | ref=[Bytefield] | ref=[Map])
4: '[' keys+=GetElementKeyType ']' ('[' keys+=GetElementKeyType ']')* ';';
5: GetElementKeyType:
6: key=[VariableReference] | INT | STRING;
像這樣unfortuantely這是行不通的,因爲3線,!
我也嘗試了3個獨立的規則(對於map,list和bytefield),但是然後解析器很難識別正確的規則(不可能)。然後
ListGetElement:
val=[VariableReference] '='
ref=[List]
'[' key+=GetElementKeyType ']' ('[' key+=GetElementKeyType ']')* ';';
... same for the others
錯誤是:
Decision can match input such as "RULE_ID '=' RULE_ID '[' RULE_ID ']' '[' RULE_ID ']' ';'" using multiple alternatives: 5, 6
The following alternatives can never be matched: 6
什麼是實現這一目標的最佳方式是什麼?
謝謝,不知道爲什麼我沒有看到我自己 – user972851
我也是,謝謝。 –