【发布时间】:2020-06-25 11:59:09
【问题描述】:
我想在 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..*]。你能帮我找出我哪里出错了吗?
谢谢
【问题讨论】:
标签: eclipse dsl state-machine xtext cardinality