LANGUAGE "Statecharts": EXTENSION "statechart.vle"; RULE: ROOT ::= Statechart END; /* Statechart */ RULE: Statechart ::= Statechart_TopState Transitions END; SYMBOL Statechart: persName: VLString EDITWITH ENTRY; RULE: Statechart_TopState ::= State* END; RULE: Transitions ::= Transition* END; /* XORSuperstate */ RULE pXORSuperstate: State ::= XORSuperstate END; RULE pXORStructure: XORSuperstate ::= XORSuperstate_Name State* END; RULE: XORSuperstate_Name ::= END; SYMBOL XORSuperstate: persEndpoint: DEFTABLEKEY, persName: VLString EDITWITH ENTRY; /* ANDSuperstate */ RULE pANDSuperstate: State ::= ANDSuperstate END; RULE: ANDSuperstate ::= ANDSuperstate_Name ANDStateRegion{2} END; RULE: ANDSuperstate_Name ::= END; SYMBOL ANDSuperstate: persEndpoint: DEFTABLEKEY, persName: VLString EDITWITH ENTRY; /* ANDStateRegion */ RULE pANDStateRegion: ANDStateRegion ::= State* END; /* Terminal States */ RULE pSimpleState: State ::= SimpleState END; RULE: SimpleState ::= END; SYMBOL SimpleState: persName: VLString EDITWITH ENTRY, persEndpoint: DEFTABLEKEY; RULE pHistoryState: State ::= HistoryState END; RULE: HistoryState ::= END; SYMBOL HistoryState: persEndpoint: DEFTABLEKEY; RULE pInitialState: State ::= InitialState END; RULE: InitialState ::= END; SYMBOL InitialState: persEndpoint: DEFTABLEKEY; RULE pFinalState: State ::= FinalState END; RULE: FinalState ::= END; SYMBOL FinalState: persEndpoint: DEFTABLEKEY; /* Transitions */ RULE pTransition: Transition ::= Transition_Label END; RULE: Transition_Label ::= END; SYMBOL Transition: persFrom: DEFTABLEKEY, persTo: DEFTABLEKEY, persEvent: VLString EDITWITH ENTRY;