From c9af35e14b4bfe7f1b1af76ef0959cd7ef58063a Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Tue, 7 Nov 2017 14:13:07 +0100 Subject: [PATCH] Typesystem2 lang and runtime: introduce CopyItem to copy terms recursively; specify MetaLogical type explicitly in the runtime interfaces; optimize generator templates. --- .../generator/template/main@generator.mps | 1429 +++++++---------- .../languageModels/behavior.mps | 159 +- .../languageModels/editor.mps | 20 + .../languageModels/structure.mps | 23 + ...brains.mps.lang.typesystem2.evaluation.mps | 519 +++++- .../jetbrains.mps.lang.typesystem2.macro.mps | 18 +- ...jetbrains.mps.lang.typesystem2.program.mps | 17 +- 7 files changed, 1272 insertions(+), 913 deletions(-) diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps index 3fe55157..e2fde650 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/generator/template/main@generator.mps @@ -306,6 +306,7 @@ + @@ -521,7 +522,6 @@ - @@ -4666,8 +4666,8 @@ - - + + @@ -4680,410 +4680,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -5128,423 +4726,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -5645,6 +4829,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14499,7 +13855,12 @@ - + + + + + + @@ -14818,7 +14179,12 @@ - + + + + + + @@ -14862,7 +14228,12 @@ - + + + + + + @@ -18764,5 +18135,411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/behavior.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/behavior.mps index 4779a264..31872a44 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/behavior.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/behavior.mps @@ -20,8 +20,8 @@ - - + + @@ -518,51 +518,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + @@ -1908,21 +1881,54 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -1930,23 +1936,24 @@ - - - - + + + - - + + - - - - - - - + + + + + + + + + @@ -1955,8 +1962,18 @@ - - + + + + + + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps index cf07e1da..86e1f225 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/editor.mps @@ -7050,5 +7050,25 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps index 2dd1be82..9eadbed8 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/languageModels/structure.mps @@ -525,6 +525,9 @@ + + + @@ -1490,6 +1493,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps index 23bc8dca..726a2d7a 100644 --- a/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps +++ b/typesystem2/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains.mps.lang.typesystem2.evaluation.mps @@ -35,6 +35,9 @@ + + + @@ -129,6 +132,10 @@ + + + + @@ -142,9 +149,13 @@ - + + + + + @@ -213,6 +224,7 @@ + @@ -233,6 +245,7 @@ + @@ -330,9 +343,6 @@ - - - @@ -7782,7 +7792,12 @@ - + + + + + + @@ -7903,7 +7918,12 @@ - + + + + + + @@ -8655,5 +8675,492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps index 80c492dd..11dd0ff9 100644 --- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps +++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.macro.mps @@ -13,6 +13,7 @@ + @@ -106,9 +107,6 @@ - - - @@ -476,7 +474,12 @@ - + + + + + + @@ -502,7 +505,12 @@ - + + + + + + diff --git a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.program.mps b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.program.mps index 0ee45966..cb7d3bb5 100644 --- a/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.program.mps +++ b/typesystem2/solutions/jetbrains.mps.lang.typesystem2.template/models/jetbrains.mps.lang.typesystem2.program.mps @@ -228,9 +228,6 @@ - - - @@ -2563,7 +2560,12 @@ - + + + + + + @@ -2583,7 +2585,12 @@ - + + + + + +