From c797b5d2ad6ca54888f904d90a565bee6dd853e1 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Fri, 25 Oct 2019 17:04:28 +0200 Subject: [PATCH] Breaking change: logical vars must be declared by constraint rule that uses them. Stronger rules for logical variables scope: constraint rule can't reference logical variable defined in another constraint rule. Logical variable definitions are localized to ConstraintRule template. Simplify/cleanup the logic of searching for available logical variables. --- .../generator/template/main@generator.mps | 408 +++++++++++++----- .../languageModels/behavior.mps | 356 ++++----------- .../languageModels/structure.mps | 3 + .../languageModels/behavior.mps | 16 - .../languageModels/constraints.mps | 324 +++++++------- .../languageModels/structure.mps | 7 +- 6 files changed, 543 insertions(+), 571 deletions(-) diff --git a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps index 99a654e2..aeebecee 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps @@ -589,6 +589,9 @@ + + + @@ -808,6 +811,16 @@ + + + + + + + + + + @@ -1194,7 +1207,7 @@ - + @@ -9630,7 +9643,7 @@ - + @@ -9645,9 +9658,9 @@ - + - + @@ -9666,7 +9679,7 @@ - + @@ -9678,15 +9691,15 @@ - + - - + + @@ -9703,7 +9716,7 @@ - + @@ -9718,8 +9731,8 @@ - - + + @@ -9730,8 +9743,8 @@ - - + + @@ -10395,8 +10408,8 @@ - - + + @@ -10606,8 +10619,8 @@ - - + + @@ -11160,24 +11173,6 @@ - - - - - - - - - - - - - - - - - - @@ -13458,7 +13453,7 @@ - + @@ -13470,6 +13465,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13520,30 +13546,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -14152,7 +14154,7 @@ - + @@ -14179,8 +14181,8 @@ - + @@ -14200,8 +14202,8 @@ - - + + @@ -14210,8 +14212,8 @@ - - + + @@ -14504,6 +14506,23 @@ + + + + + + + + + + + + + + + + + @@ -15318,31 +15337,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -15444,7 +15438,7 @@ - + @@ -15457,6 +15451,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15519,30 +15544,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -16668,5 +16669,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps index b7692a32..f361cc2e 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/behavior.mps @@ -4,6 +4,7 @@ + @@ -157,9 +158,6 @@ - - - @@ -292,13 +290,14 @@ - - - - - - - + + + + + + + + @@ -330,15 +329,12 @@ - - + + - - - @@ -464,13 +460,13 @@ - + - - - - + + + + @@ -502,28 +498,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -591,33 +565,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -958,64 +905,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1023,13 +912,8 @@ - - - - - - - + + @@ -1038,24 +922,6 @@ - - - - - - - - - - - - - - - - - - @@ -1063,13 +929,13 @@ - + - - - - + + + + @@ -1093,8 +959,8 @@ - - + + @@ -1129,8 +995,8 @@ - - + + @@ -1146,28 +1012,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -1213,6 +1057,24 @@ + + + + + + + + + + + + + + + + + + @@ -1220,13 +1082,11 @@ - - - - - - - + + + + + @@ -1258,8 +1118,8 @@ - - + + @@ -1406,64 +1266,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1471,13 +1273,8 @@ - - - - - - - + + @@ -1486,24 +1283,6 @@ - - - - - - - - - - - - - - - - - - @@ -1583,5 +1362,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps index 8b09116e..1454380e 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/languageModels/structure.mps @@ -1264,6 +1264,9 @@ + + + diff --git a/coderules/languages/jetbrains.mps.logic/languageModels/behavior.mps b/coderules/languages/jetbrains.mps.logic/languageModels/behavior.mps index 8d126406..2d54bd95 100644 --- a/coderules/languages/jetbrains.mps.logic/languageModels/behavior.mps +++ b/coderules/languages/jetbrains.mps.logic/languageModels/behavior.mps @@ -209,22 +209,6 @@ - - - - - - - - - - - - - - - - diff --git a/coderules/languages/jetbrains.mps.logic/languageModels/constraints.mps b/coderules/languages/jetbrains.mps.logic/languageModels/constraints.mps index 25aa627e..a26591fb 100644 --- a/coderules/languages/jetbrains.mps.logic/languageModels/constraints.mps +++ b/coderules/languages/jetbrains.mps.logic/languageModels/constraints.mps @@ -22,13 +22,15 @@ + + + - @@ -76,6 +78,7 @@ + @@ -176,6 +179,9 @@ + + + @@ -296,7 +302,6 @@ - @@ -543,94 +548,69 @@ - - - - + + + + + + + + + + + + + + - + - - - + + + - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - + + - - - + + + - + - - - - + + + + - - + + - + - + @@ -642,34 +622,34 @@ - - - - + + + - + + - - + + - - + + - - + + - - - - - - + + + - + + + + @@ -678,72 +658,101 @@ - + - - - - - - - + + + + - - - - - + + + + + + + + + + + + + + + - + - - - + + + - - - - - - + + + + + + + + + + - - + + + + - - + + + + + + + + + + + + + + + + + + + - - - + + - - - + + + - + - - - - + + + + - - + + - + - + @@ -755,34 +764,34 @@ - - - + + + - + - - + + - - + + - - + + - - - - - - + + + - + + + + @@ -791,23 +800,12 @@ - - - - - - - - - - + + - - - @@ -825,12 +823,12 @@ - - - + + + diff --git a/coderules/languages/jetbrains.mps.logic/languageModels/structure.mps b/coderules/languages/jetbrains.mps.logic/languageModels/structure.mps index 0190a570..b646d8ff 100644 --- a/coderules/languages/jetbrains.mps.logic/languageModels/structure.mps +++ b/coderules/languages/jetbrains.mps.logic/languageModels/structure.mps @@ -57,7 +57,9 @@ - + + + @@ -317,6 +319,9 @@ + + +