diff --git a/examples/grammar/contextFree.xml b/examples/grammar/contextFree.xml
deleted file mode 100644
index c063d3420e412a6432bbdd2b49ff72d0fc891859..0000000000000000000000000000000000000000
--- 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 183cbc8a2a22882ff3e8e1f38ac1a3fb1adccd94..0000000000000000000000000000000000000000
--- 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 87ca219c77f9a43eb21dc068c7ba78a82eae5458..0000000000000000000000000000000000000000
--- 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 03f06725bfcde2e8c2eb9b529ca54e834a49b763..0000000000000000000000000000000000000000
--- 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 fffa05d0b51a40d2cef3905b8d40fae48008bf33..0000000000000000000000000000000000000000
--- 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 5bb61f582e7757fcaebe62bc6aa4dff37c72be76..0000000000000000000000000000000000000000
--- 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 c01a7dd28df8830273ac4ff84076c5283c3b5a6f..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..977a140f7ee78077828d30074cf4c6c49fb1611a
--- /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 0000000000000000000000000000000000000000..c56f59132f44d076fd3b4b8a91c64bb983b37300
--- /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 0000000000000000000000000000000000000000..8b29416174ab8aff8daa44276a306b1918664ea0
--- /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 0000000000000000000000000000000000000000..4ab06adb487cb3d8d742886c28d887c1e5a25859
--- /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 0000000000000000000000000000000000000000..a57665734a1d8ab8005dcaa20513494bb342b305
--- /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 0000000000000000000000000000000000000000..1fa9073b07bd239154d4c25f904f48550736ecb6
--- /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 0000000000000000000000000000000000000000..660439b7f2dc38f612790e1fcd8faa3ceb4435f1
--- /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>