diff --git a/build.gradle.kts b/build.gradle.kts
index a489844..d3e611d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -17,7 +17,7 @@ plugins {
}
group = "de.pes.MetaBNF"
-version = "2024.1.14"
+version = "2024.1.17"
description = "MetaBNF provides MPS-based languages for working with Backus-Naur Form (BNF). It enables users to define, edit, and analyze BNF grammars directly in JetBrains MPS, facilitating language design, parsing, and formal grammar processing."
val projectName = "MetaBNF"
diff --git a/code/languages/de.pes.metabnf.base/de.pes.metabnf.base.mpl b/code/languages/de.pes.metabnf.base/de.pes.metabnf.base.mpl
index c3ef8ce..c17c725 100644
--- a/code/languages/de.pes.metabnf.base/de.pes.metabnf.base.mpl
+++ b/code/languages/de.pes.metabnf.base/de.pes.metabnf.base.mpl
@@ -72,6 +72,7 @@
1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)
6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
18bc6592-03a6-4e29-a83a-7ff23bde13ba(jetbrains.mps.lang.editor)
+ 4755f87e-2a4b-42d9-9618-31bc36f204af(de.pes.metabnf.utils)
@@ -116,6 +117,7 @@
+
diff --git a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.behavior.mps b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.behavior.mps
index 9f8640e..cbe890f 100644
--- a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.behavior.mps
+++ b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.behavior.mps
@@ -16,6 +16,7 @@
+
@@ -34,6 +35,10 @@
+
+
+
+
@@ -43,6 +48,9 @@
+
+
+
@@ -52,6 +60,7 @@
+
@@ -116,14 +125,23 @@
+
+
+
+
+
+
+
+
+
@@ -258,7 +276,6 @@
-
@@ -388,6 +405,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -491,5 +598,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.constraints.mps b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.constraints.mps
index 4fe720b..2175794 100644
--- a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.constraints.mps
+++ b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.constraints.mps
@@ -13,7 +13,9 @@
-
+
+
+
diff --git a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.editor.mps b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.editor.mps
index 124b763..d426f7b 100644
--- a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.editor.mps
+++ b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.editor.mps
@@ -21,7 +21,9 @@
-
+
+
+
@@ -214,10 +216,21 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -1030,6 +1043,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1038,9 +1073,34 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.structure.mps b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.structure.mps
index 6a10b89..2df6b87 100644
--- a/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.structure.mps
+++ b/code/languages/de.pes.metabnf.base/models/de.pes.metabnf.base.structure.mps
@@ -242,19 +242,22 @@
-
+
-
-
-
-
+
+
+
+
+
+
+
@@ -276,5 +279,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.extended.gen/models/de.pes.metabnf.extended.gen.behavior.mps b/code/languages/de.pes.metabnf.extended.gen/models/de.pes.metabnf.extended.gen.behavior.mps
index 8c67d0c..47801cb 100644
--- a/code/languages/de.pes.metabnf.extended.gen/models/de.pes.metabnf.extended.gen.behavior.mps
+++ b/code/languages/de.pes.metabnf.extended.gen/models/de.pes.metabnf.extended.gen.behavior.mps
@@ -21306,6 +21306,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -21325,6 +21398,7 @@
+
diff --git a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.behavior.mps b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.behavior.mps
index 895254b..43d929a 100644
--- a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.behavior.mps
+++ b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.behavior.mps
@@ -22,6 +22,7 @@
+
@@ -177,11 +178,6 @@
-
-
-
-
-
@@ -193,7 +189,6 @@
-
@@ -3310,6 +3305,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3454,28 +3470,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
@@ -3486,7 +3500,7 @@
-
+
@@ -3585,32 +3599,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3662,7 +3650,7 @@
-
+
@@ -3681,7 +3669,7 @@
-
+
@@ -3756,11 +3744,14 @@
-
-
-
-
+
+
+
+
+
+
+
@@ -3777,7 +3768,7 @@
-
+
@@ -3912,13 +3903,13 @@
-
+
-
+
@@ -4193,5 +4184,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.constraints.mps b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.constraints.mps
index 69f0b57..21790c4 100644
--- a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.constraints.mps
+++ b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.constraints.mps
@@ -1253,7 +1253,7 @@
-
+
@@ -1468,5 +1468,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.editor.mps b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.editor.mps
index db22d04..72b12c5 100644
--- a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.editor.mps
+++ b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.editor.mps
@@ -31,9 +31,9 @@
+
-
@@ -58,6 +58,7 @@
+
@@ -78,6 +79,7 @@
+
@@ -85,6 +87,8 @@
+
+
@@ -109,6 +113,7 @@
+
@@ -294,6 +299,7 @@
+
@@ -2520,7 +2526,7 @@
-
+
@@ -2557,7 +2563,7 @@
-
+
@@ -2685,5 +2691,308 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.structure.mps b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.structure.mps
index a7ca922..80c1646 100644
--- a/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.structure.mps
+++ b/code/languages/de.pes.metabnf.extended/models/de.pes.metabnf.extended.structure.mps
@@ -406,6 +406,9 @@
+
+
+
@@ -554,6 +557,9 @@
+
+
+
@@ -762,17 +768,12 @@
-
+
-
-
-
-
-
@@ -803,7 +804,7 @@
-
+
@@ -827,7 +828,7 @@
-
+
@@ -839,11 +840,50 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.editor.mps b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.editor.mps
index 4861d4c..260f0c5 100644
--- a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.editor.mps
+++ b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.editor.mps
@@ -10,14 +10,14 @@
+
+
-
-
@@ -25,12 +25,13 @@
+
+
+
+
-
-
-
@@ -39,33 +40,15 @@
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -75,123 +58,143 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.intentions.mps b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.intentions.mps
index 577de0f..6894323 100644
--- a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.intentions.mps
+++ b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.intentions.mps
@@ -3,6 +3,7 @@
+
diff --git a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.structure.mps b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.structure.mps
index 5077023..bc8bcd0 100644
--- a/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.structure.mps
+++ b/code/languages/de.pes.metabnf.sandbox.editors/models/de.pes.metabnf.sandbox.editors.structure.mps
@@ -22,8 +22,12 @@
+
+
+
+
@@ -57,11 +61,6 @@
-
-
-
-
-
@@ -70,6 +69,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/solutions/de.pes.MetaBNF.build/models/de.pes.MetaBNF.build.mps b/code/solutions/de.pes.MetaBNF.build/models/de.pes.MetaBNF.build.mps
index 727e613..95ee3f7 100644
--- a/code/solutions/de.pes.MetaBNF.build/models/de.pes.MetaBNF.build.mps
+++ b/code/solutions/de.pes.MetaBNF.build/models/de.pes.MetaBNF.build.mps
@@ -415,11 +415,6 @@
-
-
-
-
-
@@ -904,6 +899,11 @@
+
+
+
+
+
diff --git a/code/solutions/de.pes.metabnf.sandbox/models/de.pes.metabnf.sandbox.sandbox_editor.mps b/code/solutions/de.pes.metabnf.sandbox/models/de.pes.metabnf.sandbox.sandbox_editor.mps
index 470344a..1c0252a 100644
--- a/code/solutions/de.pes.metabnf.sandbox/models/de.pes.metabnf.sandbox.sandbox_editor.mps
+++ b/code/solutions/de.pes.metabnf.sandbox/models/de.pes.metabnf.sandbox.sandbox_editor.mps
@@ -1,6 +1,7 @@
+
@@ -9,6 +10,7 @@
+
@@ -37,14 +39,12 @@
+
+
+
-
-
-
-
-
@@ -53,6 +53,7 @@
+
@@ -88,6 +89,9 @@
+
+
+
@@ -98,6 +102,14 @@
+
+
+
+
+
+
+
+
@@ -105,7 +117,7 @@
-
+
@@ -121,6 +133,9 @@
+
+
+
@@ -131,19 +146,31 @@
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
-
+
+
+
+
+
+
-
+
@@ -153,12 +180,14 @@
+
+
+
+
+
-
-
-
@@ -232,6 +261,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/solutions/de.pes.metabnf.utils/models/de.pes.metabnf.utils.utils.mps b/code/solutions/de.pes.metabnf.utils/models/de.pes.metabnf.utils.utils.mps
index b583935..8772299 100644
--- a/code/solutions/de.pes.metabnf.utils/models/de.pes.metabnf.utils.utils.mps
+++ b/code/solutions/de.pes.metabnf.utils/models/de.pes.metabnf.utils.utils.mps
@@ -363,7 +363,7 @@
-
+
@@ -386,7 +386,7 @@
-
+
@@ -409,7 +409,7 @@
-
+