diff --git a/.gitignore b/.gitignore
index 92409757a..e8bcb90b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,6 @@ scripts/.mps-caches
# Generated during the build
/kotlin-js-store/
+
+# Generated by statistics plugin
+code/dependencies.txt
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad989289a..1889ac63a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@ All notable changes to this project are documented in this file.
Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month.
-## December 2023
+## Dezember 2023
### Fixed
@@ -16,6 +16,7 @@ The project does _not_ follow Semantic Versioning and the changes are documented
### Added
+- A new language `de.itemis.mps.statistics` was added that adds a new menu `MPS Statistics` to the `Tools` menu. The containing action writes a file `dependencies.txt` to the root folder. It contains all the used dependencies of the current project.
- de.slisson.mps.tables: tables now support a new property `column UI actions (experimental)`: This property adds actions to the MPS toolbar to add a new column above/below the current column or to delete the current column. These actions only work for simple tables that are based on rows (default: *false*).
## November 2023
diff --git a/code/.mps/modules.xml b/code/.mps/modules.xml
index 4681bcd93..b3166d661 100644
--- a/code/.mps/modules.xml
+++ b/code/.mps/modules.xml
@@ -177,6 +177,7 @@
+
diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps
index 241028767..60bd508e2 100644
--- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps
+++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps
@@ -13773,6 +13773,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14543,6 +14643,10 @@
+
+
+
+
diff --git a/code/statistics/de.itemis.mps.statistics.mpl b/code/statistics/de.itemis.mps.statistics.mpl
new file mode 100644
index 000000000..8244f1d93
--- /dev/null
+++ b/code/statistics/de.itemis.mps.statistics.mpl
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/generator/templates/de.itemis.mps.statistics.generator.templates@generator.mps b/code/statistics/generator/templates/de.itemis.mps.statistics.generator.templates@generator.mps
new file mode 100644
index 000000000..fe0ecd137
--- /dev/null
+++ b/code/statistics/generator/templates/de.itemis.mps.statistics.generator.templates@generator.mps
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.behavior.mps b/code/statistics/models/de.itemis.mps.statistics.behavior.mps
new file mode 100644
index 000000000..1afb89269
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.behavior.mps
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.constraints.mps b/code/statistics/models/de.itemis.mps.statistics.constraints.mps
new file mode 100644
index 000000000..ec0c321f6
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.constraints.mps
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.editor.mps b/code/statistics/models/de.itemis.mps.statistics.editor.mps
new file mode 100644
index 000000000..50df3bc0a
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.editor.mps
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.plugin.mps b/code/statistics/models/de.itemis.mps.statistics.plugin.mps
new file mode 100644
index 000000000..31626f3d4
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.plugin.mps
@@ -0,0 +1,712 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.structure.mps b/code/statistics/models/de.itemis.mps.statistics.structure.mps
new file mode 100644
index 000000000..aa04c5d74
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.structure.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/statistics/models/de.itemis.mps.statistics.typesystem.mps b/code/statistics/models/de.itemis.mps.statistics.typesystem.mps
new file mode 100644
index 000000000..a558e8975
--- /dev/null
+++ b/code/statistics/models/de.itemis.mps.statistics.typesystem.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+