Я хочу определить грамматику в Xtext для конечного автомата. Мое правило состоит в том, что один конечный автомат должен иметь [1.. * ] переходов, [1..1] начальное состояние, [1..1] конечное состояние и [0.. * ] промежуточных состояний.
StateMachine:
'InitialState' initialstate = InitialState
'FinalState' finalstate = FinalState
'States' '{' states+=State* '}'
'Transitions' '{' transitions+=Transitions ( "," transitions+=Transitions)* '}'
;
Вот как я написал правила, но когда я генерирую модель ecore, я замечаю, что отношение начального состояния и конечного состояния с конечным автоматом [0..1], а не [1..1], как я хотел это, а связь между переходом и машиной состояний [0.. * ], а не [1..*]. Можете ли вы помочь мне выяснить, где я ошибся?
Спасибо