##Note: stm is a script variable which is filled by the stateMgen conversion control routine which calls this script.
##stm is type of org.vishia.stateMGen.StateMGen$GenStateMachine. See the maybe written report file of data structure
##given by command line arg checkdata:result/data_StatemSrc.html (data_StatemSrc.dst.html).
subtext substates()
<:>
<.>
main(){
//test.mapToFile(jzcmdsub.localVariables, out,2);
<+>
==States==
@ident=states
.
===State-Übersicht===
@ident=overview
##<:for:state:stm.zsrcFile.states> ##all states
<:for:state:stm.stateList> ##all states
##<&test.dataTree(stm, out,2)>
===State <&state.src.stateName> <:if:state.enclState><:> in
<.><&state.enclState><.if><:if:state.parallelState><:>.<&state.parallelState><.><.if><:> ===
@ident=State_<&state.src.stateName>
<:if:state.enclState>
Enclosing state: [[Topic:.states.State_<&state.enclState>.|<&state.enclState>]]
<:if:state.parallelState>, Parallel: [[Topic:.states.State_<&state.parallelState>.|<&state.parallelState>]]<.if>
<.if>
<&state.src.shortdescription><&state.description>
<:if:state.additionaldescription>
'''Zusatzbeschreibung''':
<&state.additionaldescription>
<.if>
<:if:state.tododescription>
'''TODO''':
<&state.tododescription>
<.if>
<:if:state.subStates>
'''Sub-states''':
<:for:substate:state.subStates><:>
* [[Topic:.states.State_<&substate.src.stateName>.|<&substate.src.stateName>]] : <&substate.src.shortdescription><.>
<.for>
<.if>
<:if:state.parallelStates>
'''Parallele States''':
<:for:pstate:state.parallelStates><:>
* [[Topic:.states.State_<&pstate.src.stateName>.|<&pstate.src.stateName>]] : <&pstate.src.shortdescription><.>
<.for>
<.if>
<:if:state.entry>
'''Entry''':
<&state.entry.description>
<&state.entry.code>
<.if>
<:if:state.exit><:>
'''Exit''':
<&state.exit.description>
<&state.exit.code>
<.>
<.if>
<:for:trans:state.trans><:>
'''Transition <&state.src.stateName> ==> <.>
<:for:dstState:trans.dstState><:>[[Topic:.states.State_<&dstState>.|<&dstState>]] <.><.for>
<:for:subcond:trans.subCondition>[[Topic:.states.State_<&subcond.dstState>.|<&subcond.dstState>]]<:hasNext><:> /
<.><.hasNext><.for>
<:>'''
<.>
##Transition fromState --> toState --> toInnerState:
<:for:exitState:trans.exitStates><:> <&exitState.src.stateName>--> <.><.for>
<:for:entryState:trans.dstStateTree.entrySubStates> <&entryState.name><:>, <.>
<:if:entryState.entrySubStates>---><.if>
<:for:entryState2:entryState.entrySubStates> <&entryState2.name><:>, <.>
<:if:entryState2.entrySubStates>---><.if>
<:for:entryState3:entryState2.entrySubStates> <&entryState3.name><:>, <.>
<:if:entryState3.entrySubStates>---><.if>
<:for:entryState4:entryState3.entrySubStates> <&entryState4.name><:>, <.>
<.for>
<.for>
<.for>
<.for>
##Descriptions of this transition:
<:>
<&trans.description>
<.>
<:if:trans.additionaldescription>
<:>
'''Zusatzbeschreibung''':
<&trans.additionaldescription>
<.>
<.if>
<:if:trans.tododescription>
<:>
'''TODO''':
<&trans.tododescription>
<.>
<.if>
<:if:trans.cond><:>
condition-code:
<&trans.cond>
<.><.if>
<:if:trans.time><:>
time:,,<&trans.time>,,
<.><.if>
<:if:trans.code><:>
Transition-action-code:
<&trans.code>
<.><.if>
<:for:subcond:trans.subCondition>
* '''cond: ==> <&subcond.dstState>''': ,,(<&subcond.cond>),,
<.for>
<.for>
<.><.for><:>
<.>
<.+>
}