0
我在我的Xtext語法文件寫入以下ParserRule:確保條目是逗號分隔
TestSpec:
'{'
......
(('"my"' ':' myValue=(MySpec) (',' | '}'))?) &
......
'}'
MySpec:
'{'
(
(('"suffix"' ':' suffixValue=(STRING) (',')?)?) &
(('"prefix"' ':' prefixValue=(STRING) (',')?)?) &
(('"none"' ':' noneValue=(STRING) (',')?)?) &
)
'}';
在我的Xtext編輯
現在,我要確保在「我」的結束與逗號的條目除了最後一個如果逗號說「後綴」和「前綴」像之間的以下示例條目丟失它應該給一個錯誤:
"my": {
"suffix": "testString" ---> I want this to give an error for missing comma (,)
"prefix": "prefixString",
"none": "noneString"
}
解決方案: 一個解決方案,我認爲是對語法更改爲以下幾點:
MySpec:
'{'
(
(('"suffix"' ':' suffixValue=(STRING) (',' | '}'))?) &
(('"prefix"' ':' prefixValue=(STRING) (',' | '}'))?) &
(('"none"' ':' noneValue=(STRING) (',' | '}'))?) &
);
但我不知道這是否做它的首選方式。是否有可能通過驗證或其他更優雅的方式來實現這一點?