From f92d3d370d9937fa10ee04ceb8375a186162af4e Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Mon, 19 Jan 2015 12:35:29 +0100
Subject: [PATCH] grammars in new internal form

---
 examples/grammar/contextFree.xml       | 36 -------------
 examples/grammar/contextSensitive.xml  | 64 -----------------------
 examples/grammar/leftRegular.xml       | 52 -------------------
 examples/grammar/leftRegular2.xml      | 54 --------------------
 examples/grammar/rightRegular.xml      | 53 -------------------
 examples/grammar/rightRegular2.xml     | 54 --------------------
 examples/grammar/rrg.xml               | 70 --------------------------
 examples2/grammar/contextFree.xml      | 31 ++++++++++++
 examples2/grammar/contextSensitive.xml | 64 +++++++++++++++++++++++
 examples2/grammar/leftRegular.xml      | 39 ++++++++++++++
 examples2/grammar/leftRegular2.xml     | 48 ++++++++++++++++++
 examples2/grammar/rightRegular.xml     | 40 +++++++++++++++
 examples2/grammar/rightRegular2.xml    | 48 ++++++++++++++++++
 examples2/grammar/rightRegular3.xml    | 67 ++++++++++++++++++++++++
 14 files changed, 337 insertions(+), 383 deletions(-)
 delete mode 100644 examples/grammar/contextFree.xml
 delete mode 100644 examples/grammar/contextSensitive.xml
 delete mode 100644 examples/grammar/leftRegular.xml
 delete mode 100644 examples/grammar/leftRegular2.xml
 delete mode 100644 examples/grammar/rightRegular.xml
 delete mode 100644 examples/grammar/rightRegular2.xml
 delete mode 100644 examples/grammar/rrg.xml
 create mode 100644 examples2/grammar/contextFree.xml
 create mode 100644 examples2/grammar/contextSensitive.xml
 create mode 100644 examples2/grammar/leftRegular.xml
 create mode 100644 examples2/grammar/leftRegular2.xml
 create mode 100644 examples2/grammar/rightRegular.xml
 create mode 100644 examples2/grammar/rightRegular2.xml
 create mode 100644 examples2/grammar/rightRegular3.xml

diff --git a/examples/grammar/contextFree.xml b/examples/grammar/contextFree.xml
deleted file mode 100644
index c063d3420e..0000000000
--- a/examples/grammar/contextFree.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>[</symbol>
-		<symbol>text</symbol>
-		<symbol>]</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>text</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>[</symbol>
-				<symbol>S</symbol>
-				<symbol>]</symbol>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/contextSensitive.xml b/examples/grammar/contextSensitive.xml
deleted file mode 100644
index 183cbc8a2a..0000000000
--- a/examples/grammar/contextSensitive.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-		<symbol>c</symbol>
-		<symbol>d</symbol>
-		<symbol>k</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>a</symbol>
-				<symbol>b</symbol>
-				<symbol>S</symbol>
-				<symbol>c</symbol>
-				<symbol>d</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>b</symbol>
-				<symbol>k</symbol>
-				<symbol>c</symbol>
-				<symbol>d</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-				<symbol>c</symbol>
-				<symbol>d</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>b</symbol>
-				<symbol>k</symbol>
-				<symbol>c</symbol>
-				<symbol>d</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>a</symbol>
-				<symbol>b</symbol>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>b</symbol>
-				<symbol>k</symbol>
-				<symbol>c</symbol>
-				<symbol>d</symbol>
-			</rightSide>
-		</rule>
-
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/leftRegular.xml b/examples/grammar/leftRegular.xml
deleted file mode 100644
index 87ca219c77..0000000000
--- a/examples/grammar/leftRegular.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-		<symbol>A</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>A</symbol>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-			</rightSide>
-		</rule>
-
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>b</symbol>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/leftRegular2.xml b/examples/grammar/leftRegular2.xml
deleted file mode 100644
index 03f06725bf..0000000000
--- a/examples/grammar/leftRegular2.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-		<symbol>A</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>A</symbol>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>S</symbol>
-				<symbol>b</symbol>
-			</rightSide>
-		</rule>
-
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>b</symbol>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/rightRegular.xml b/examples/grammar/rightRegular.xml
deleted file mode 100644
index fffa05d0b5..0000000000
--- a/examples/grammar/rightRegular.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-		<symbol>A</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>b</symbol>
-				<symbol>A</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>A</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/rightRegular2.xml b/examples/grammar/rightRegular2.xml
deleted file mode 100644
index 5bb61f582e..0000000000
--- a/examples/grammar/rightRegular2.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-		<symbol>A</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>b</symbol>
-				<symbol>A</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>S</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>b</symbol>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-	
-</grammar>
diff --git a/examples/grammar/rrg.xml b/examples/grammar/rrg.xml
deleted file mode 100644
index c01a7dd28d..0000000000
--- a/examples/grammar/rrg.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<grammar>
-	<nonTerminalSymbols>
-		<symbol>S</symbol>
-		<symbol>A</symbol>
-		<symbol>B</symbol>
-	</nonTerminalSymbols>
-
-	<terminalSymbols>
-		<symbol>a</symbol>
-		<symbol>b</symbol>
-	</terminalSymbols>
-
-	<rules>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>A</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>S</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>B</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>B</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>b</symbol>
-				<symbol>B</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>B</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>b</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-				<symbol>B</symbol>
-			</rightSide>
-		</rule>
-		<rule>
-			<leftSide>
-				<symbol>A</symbol>
-			</leftSide>
-			<rightSide>
-				<symbol>a</symbol>
-			</rightSide>
-		</rule>
-	</rules>
-
-	<startSymbol>S</startSymbol>
-
-</grammar>
diff --git a/examples2/grammar/contextFree.xml b/examples2/grammar/contextFree.xml
new file mode 100644
index 0000000000..977a140f7e
--- /dev/null
+++ b/examples2/grammar/contextFree.xml
@@ -0,0 +1,31 @@
+<CFG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>text</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>text</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+</CFG>
diff --git a/examples2/grammar/contextSensitive.xml b/examples2/grammar/contextSensitive.xml
new file mode 100644
index 0000000000..c56f59132f
--- /dev/null
+++ b/examples2/grammar/contextSensitive.xml
@@ -0,0 +1,64 @@
+<CSG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lContext>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</lContext>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rContext>
+				<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+			</rContext>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lContext>
+			</lContext>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rContext>
+				<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+			</rContext>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lContext>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</lContext>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rContext>
+			</rContext>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><false /></generatesEpsilon>
+</CSG>
diff --git a/examples2/grammar/leftRegular.xml b/examples2/grammar/leftRegular.xml
new file mode 100644
index 0000000000..8b29416174
--- /dev/null
+++ b/examples2/grammar/leftRegular.xml
@@ -0,0 +1,39 @@
+<LeftRG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><true /></generatesEpsilon>
+</LeftRG>
diff --git a/examples2/grammar/leftRegular2.xml b/examples2/grammar/leftRegular2.xml
new file mode 100644
index 0000000000..4ab06adb48
--- /dev/null
+++ b/examples2/grammar/leftRegular2.xml
@@ -0,0 +1,48 @@
+<LeftRG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><false /></generatesEpsilon>
+</LeftRG>
diff --git a/examples2/grammar/rightRegular.xml b/examples2/grammar/rightRegular.xml
new file mode 100644
index 0000000000..a57665734a
--- /dev/null
+++ b/examples2/grammar/rightRegular.xml
@@ -0,0 +1,40 @@
+<RightRG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><true /></generatesEpsilon>
+</RightRG>
diff --git a/examples2/grammar/rightRegular2.xml b/examples2/grammar/rightRegular2.xml
new file mode 100644
index 0000000000..1fa9073b07
--- /dev/null
+++ b/examples2/grammar/rightRegular2.xml
@@ -0,0 +1,48 @@
+<RightRG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><false /></generatesEpsilon>
+</RightRG>
diff --git a/examples2/grammar/rightRegular3.xml b/examples2/grammar/rightRegular3.xml
new file mode 100644
index 0000000000..660439b7f2
--- /dev/null
+++ b/examples2/grammar/rightRegular3.xml
@@ -0,0 +1,67 @@
+<RightRG>
+	<nonterminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+	</nonterminalAlphabet>
+	<terminalAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+	</terminalAlphabet>
+	<initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol>
+	<rules>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+				<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+		<rule>
+			<lhs>
+				<LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol>
+			</lhs>
+			<rhs>
+				<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+			</rhs>
+		</rule>
+	</rules>
+	<generatesEpsilon><false /></generatesEpsilon>
+</RightRG>
-- 
GitLab