From 0ec32a26729f7c61041e8d1377d43582eefc06cf Mon Sep 17 00:00:00 2001
From: Niklas Fors <niklas.fors@cs.lth.se>
Date: Thu, 5 Jul 2018 13:37:21 +0200
Subject: [PATCH] Add examples

---
 examples/All.relast  | 19 +++++++++++++++++++
 examples/Rail.relast | 19 +++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 examples/All.relast
 create mode 100644 examples/Rail.relast

diff --git a/examples/All.relast b/examples/All.relast
new file mode 100644
index 0000000..56fe6de
--- /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 0000000..99fd52a
--- /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*;
-- 
GitLab