0
구분됩니다 내가 확인하고 싶은, 내 Xtext 편집기에서 이제확인 항목은 쉼표 내 Xtext 문법 파일에 다음 ParserRule를 작성했습니다
TestSpec:
'{'
......
(('"my"' ':' myValue=(MySpec) (',' | '}'))?) &
......
'}'
MySpec:
'{'
(
(('"suffix"' ':' suffixValue=(STRING) (',')?)?) &
(('"prefix"' ':' prefixValue=(STRING) (',')?)?) &
(('"none"' ':' noneValue=(STRING) (',')?)?) &
)
'}';
이 "내"쉼표로 끝나는의 항목 를 제외하고 마지막와 쉼표 예를 들어 항목을 다음과 같이 "접미사"와 "접두사를"말 사이에 누락 된 경우이 오류를 제공해야합니다 :
"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) (',' | '}'))?) &
);
그러나 나는 그 일의 선호하는 방법이 경우에 확실하지 않다 : 하나의 솔루션 내가 생각 다음에 문법을 변경하는 것입니다. 유효성 검사 또는 다른 좀 더 우아한 방법을 통해이를 달성 할 수 있습니까?