diff --git a/examples/All.relast b/examples/All.relast new file mode 100644 index 0000000000000000000000000000000000000000..56fe6de2fec686894cc1b3ee9c111040bafb468e --- /dev/null +++ b/examples/All.relast @@ -0,0 +1,19 @@ +Root ::= A* B*; +A ::= <Name>; +B ::= <Name>; + +rel A.di1 -> B; +rel A.di2? -> B; +rel A.di3* -> B; + +rel A.bi1 <-> B.bi1; +rel A.bi2 <-> B.bi2?; +rel A.bi3 <-> B.bi3*; + +rel A.bi4? <-> B.bi4; +rel A.bi5? <-> B.bi5?; +rel A.bi6? <-> B.bi6*; + +rel A.bi7* <-> B.bi7; +rel A.bi8* <-> B.bi8?; +rel A.bi9* <-> B.bi9*; diff --git a/examples/Rail.relast b/examples/Rail.relast new file mode 100644 index 0000000000000000000000000000000000000000..99fd52a9edb4fd142df7b5e4a4b929d7ce78a47a --- /dev/null +++ b/examples/Rail.relast @@ -0,0 +1,19 @@ +RailwayContainer ::= Route* Region*; + +abstract RailwayElement ::= <id:int>; +Region : RailwayElement ::= TrackElement* Sensor*; +Semaphore : RailwayElement ::= <Signal:Signal>; +Route : RailwayElement ::= <Active:boolean> SwitchPosition*; +SwitchPosition : RailwayElement ::= <Position:Position>; +Sensor : RailwayElement; + +abstract TrackElement : RailwayElement; +Segment : TrackElement ::= <Length:int> Semaphore*; +Switch : TrackElement ::= <CurrentPosition:Position>; + +rel Route.requires* -> Sensor; +rel Route.entry? -> Semaphore; +rel Route.exit? -> Semaphore; +rel Sensor.monitors* <-> TrackElement.monitoredBy*; +rel TrackElement.connectsTo* -> TrackElement; +rel SwitchPosition.target <-> Switch.positions*;