Refactoring: moving logical vars to logic lang, supporting new kind of expression in trees, matching variables to lists; tests.

This commit is contained in:
Fedor Isakov 2015-02-26 15:55:35 +01:00
parent 756450ceae
commit bdd3530b89
20 changed files with 8540 additions and 1797 deletions

View File

@ -93,6 +93,7 @@
<dependency reexport="false">c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)</dependency>
<dependency reexport="false">26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime)</dependency>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>daafa647-f1f7-4b0b-b096-69cd7c8408c0(jetbrains.mps.baseLanguage.regexp)</usedLanguage>
@ -142,6 +143,7 @@
<extendedLanguage>7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)</extendedLanguage>
<extendedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</extendedLanguage>
<extendedLanguage>83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)</extendedLanguage>
<extendedLanguage>35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)</extendedLanguage>
</extendedLanguages>
</language>

View File

@ -9,11 +9,13 @@
<imports>
<import index="tp25" ref="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" />
<import index="tpce" ref="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
</imports>
<registry>
<language id="c72da2b9-7cce-4447-8389-f407dc1158b7" name="jetbrains.mps.lang.structure">
<concept id="1224240836180" name="jetbrains.mps.lang.structure.structure.DeprecatedNodeAnnotation" flags="ig" index="asaX9" />
<concept id="1169125787135" name="jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration" flags="ig" index="PkWjJ">
<property id="4628067390765956807" name="final" index="R5$K2" />
<property id="4628067390765956802" name="abstract" index="R5$K7" />
@ -42,6 +44,7 @@
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
@ -140,6 +143,9 @@
<node concept="PrWs8" id="6p0DfM0c$n_" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="PrWs8" id="7E86$tK_nY6" role="PzmwI">
<ref role="PrY4T" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
</node>
</node>
<node concept="1TIwiD" id="6p0DfM0a3d3">
<property role="TrG5h" value="RulePart" />
@ -241,6 +247,7 @@
<property role="R5$K2" value="false" />
<property role="3GE5qa" value="constraint.expression" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="asaX9" id="7E86$tKsJ$E" role="lGtFl" />
</node>
<node concept="1TIwiD" id="6p0DfM0ew6_">
<property role="TrG5h" value="LogicVariable" />
@ -256,6 +263,7 @@
<property role="20kJfa" value="index" />
<ref role="20lvS9" node="6p0DfM0hKK1" resolve="LogicValue" />
</node>
<node concept="asaX9" id="7E86$tKsJvY" role="lGtFl" />
</node>
<node concept="1TIwiD" id="6p0DfM0hKK1">
<property role="TrG5h" value="LogicValue" />
@ -267,6 +275,7 @@
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="asaX9" id="7E86$tKsKis" role="lGtFl" />
</node>
<node concept="1TIwiD" id="6p0DfM0ia8T">
<property role="3GE5qa" value="rule.input" />
@ -355,6 +364,7 @@
<node concept="PrWs8" id="2E5lcNn2Ya9" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="asaX9" id="7E86$tKtCFm" role="lGtFl" />
</node>
<node concept="1TIwiD" id="2E5lcNn5kn6">
<property role="3GE5qa" value="constraint.variable" />
@ -385,6 +395,7 @@
<property role="TrG5h" value="LogicVariableType" />
<property role="34LRSv" value="logic" />
<ref role="1TJDcQ" to="tpee:fz3vP1H" resolve="Type" />
<node concept="asaX9" id="1mP5b6jORvk" role="lGtFl" />
</node>
<node concept="1TIwiD" id="6Ng87FPVZtW">
<property role="3GE5qa" value="constraint.expression" />
@ -396,6 +407,7 @@
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2E5lcNn2Y0P" resolve="LogicVariableDeclaration" />
</node>
<node concept="asaX9" id="7E86$tKtPGJ" role="lGtFl" />
</node>
<node concept="1TIwiD" id="6Ng87FPWKL5">
<property role="3GE5qa" value="constraint.expression" />
@ -407,6 +419,7 @@
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="asaX9" id="7E86$tKt5_j" role="lGtFl" />
</node>
<node concept="1TIwiD" id="4laj_h9P4cy">
<property role="3GE5qa" value="rule" />

View File

@ -3374,6 +3374,7 @@
</node>
<node concept="312cEu" id="5k_shARN7H1">
<property role="TrG5h" value="LogicVariable" />
<property role="IEkAT" value="false" />
<node concept="2tJIrI" id="5k_shARN7JU" role="jymVt" />
<node concept="2YIFZL" id="5k_shARN93B" role="jymVt">
<property role="TrG5h" value="withName" />
@ -3632,6 +3633,9 @@
<node concept="3uibUv" id="104EUzFJLOU" role="1zkMxy">
<ref role="3uigEE" to="ie8e:uNmovXiEd4" resolve="Variable" />
</node>
<node concept="2AHcQZ" id="7E86$tKu0Pc" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="312cEu" id="7Oc59RS$wKP">
<property role="TrG5h" value="InvalidRuleException" />

View File

@ -72,6 +72,11 @@
<dependency reexport="false">1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)</dependency>
<dependency reexport="false">8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)</dependency>
<dependency reexport="false">7526e0cf-1ce7-46f8-a555-9eca1e06c23b(jetbrains.mps.unification.tree)</dependency>
<dependency reexport="false">f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</dependency>
<dependency reexport="false">2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)</dependency>
<dependency reexport="false">e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)</dependency>
<dependency reexport="false">ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)</dependency>
<dependency reexport="false">a5478664-6b44-4c62-a9f7-434f8aa57eee(jetbrains.mps.logic.runtime)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>daafa647-f1f7-4b0b-b096-69cd7c8408c0(jetbrains.mps.baseLanguage.regexp)</usedLanguage>

View File

@ -90,6 +90,7 @@
<child id="1177498207384" name="handler" index="Cncma" />
</concept>
<concept id="1177498227294" name="jetbrains.mps.lang.actions.structure.QueryFunction_SideTransform_Handler" flags="in" index="Cnhdc" />
<concept id="767145758118872830" name="jetbrains.mps.lang.actions.structure.NF_Link_SetNewChildOperation" flags="nn" index="2DeJnY" />
<concept id="1180111159572" name="jetbrains.mps.lang.actions.structure.IncludeRightTransformForNodePart" flags="ng" index="346O06">
<child id="1180111489972" name="nodeBlock" index="3484EA" />
</concept>
@ -117,6 +118,7 @@
<reference id="6973815483243564601" name="enum" index="3f7vo2" />
</concept>
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1171999116870" name="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" flags="nn" index="3w_OXm" />
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
<property id="1238684351431" name="asCast" index="1BlNFB" />
<reference id="1140138128738" name="concept" index="1PxNhF" />
@ -125,11 +127,17 @@
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
<concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
<reference id="1138056546658" name="link" index="3TtcxE" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
@ -182,12 +190,6 @@
<ref role="3f7vo2" to="5j4j:5A$IBX$fPei" resolve="StandardValue" />
</node>
</node>
<node concept="2pIpSj" id="5iubxWjiDk5" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5lJXKB2m4" />
<node concept="2pJPED" id="5iubxWjiDzk" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
</node>
</node>
</node>
@ -204,23 +206,11 @@
<ref role="2pIpSl" to="5j4j:6$jH9oLmYL8" />
<node concept="2pJPED" id="38jpnomYpu3" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLmYJ_" resolve="ValueHolder" />
<node concept="2pIpSj" id="5iubxWjiDMP" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5lJXKB2m4" />
<node concept="2pJPED" id="5iubxWjiDQe" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2pIpSj" id="5A$IBX$gNto" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5lJXKB2m4" />
<node concept="2pJPED" id="38jpnomYDRA" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
</node>
</node>
</node>
@ -371,5 +361,101 @@
</node>
</node>
</node>
<node concept="3UOs0u" id="7E86$tKsKAH">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalVariable_addIndex" />
<node concept="3UNGvq" id="7E86$tKsKAI" role="3UOs0v">
<ref role="3UNGvu" to="5j4j:7E86$tKsHeX" resolve="AbstractLogicalVariable" />
<node concept="3kRJcU" id="7E86$tKsLe$" role="3kShCk">
<node concept="3clFbS" id="7E86$tKsLe_" role="2VODD2">
<node concept="3clFbF" id="6p0DfM0n_Ot" role="3cqZAp">
<node concept="2OqwBi" id="6p0DfM0nAQ2" role="3clFbG">
<node concept="2OqwBi" id="6p0DfM0n_WA" role="2Oq$k0">
<node concept="Cj7Ep" id="6p0DfM0n_Os" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKsY3y" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKsJfa" />
</node>
</node>
<node concept="3w_OXm" id="6p0DfM0nB4j" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="tYCnQ" id="7E86$tKsYzY" role="_1QTJ">
<ref role="uz4UX" to="5j4j:7E86$tKsHeX" resolve="AbstractLogicalVariable" />
<node concept="Cmt7Y" id="7E86$tKsZ1o" role="uz6Si">
<node concept="Cnhdc" id="7E86$tKsZ1p" role="Cncma">
<node concept="3clFbS" id="7E86$tKsZ1q" role="2VODD2">
<node concept="3clFbF" id="7E86$tKsZmQ" role="3cqZAp">
<node concept="2OqwBi" id="7E86$tKt04j" role="3clFbG">
<node concept="2OqwBi" id="7E86$tKsZpS" role="2Oq$k0">
<node concept="Cj7Ep" id="7E86$tKsZmP" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKsZS4" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKsJfa" />
</node>
</node>
<node concept="2DeJnY" id="7E86$tKt0pZ" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="7E86$tKt0zS" role="3cqZAp">
<node concept="Cj7Ep" id="7E86$tKt0zQ" role="3clFbG" />
</node>
</node>
</node>
<node concept="2h1dTh" id="7E86$tKsZ4o" role="Cn2iK">
<property role="2h1i$Z" value="_" />
</node>
</node>
</node>
</node>
</node>
<node concept="3UOs0u" id="7E86$tKtoxK">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalVariableDeclaratin_addCardinality" />
<node concept="3UNGvq" id="7E86$tKtoxL" role="3UOs0v">
<ref role="3UNGvu" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<node concept="tYCnQ" id="7E86$tKtsvh" role="_1QTJ">
<ref role="uz4UX" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<node concept="Cmt7Y" id="7E86$tKtsXI" role="uz6Si">
<node concept="Cnhdc" id="7E86$tKtsXJ" role="Cncma">
<node concept="3clFbS" id="7E86$tKtsXK" role="2VODD2">
<node concept="3clFbF" id="7E86$tKtt3R" role="3cqZAp">
<node concept="2OqwBi" id="7E86$tKttC$" role="3clFbG">
<node concept="2OqwBi" id="7E86$tKtt6T" role="2Oq$k0">
<node concept="Cj7Ep" id="7E86$tKtt3Q" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKttqF" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" />
</node>
</node>
<node concept="2DeJnY" id="7E86$tKtu8E" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="7E86$tKtuhH" role="3cqZAp">
<node concept="Cj7Ep" id="7E86$tKtuhF" role="3clFbG" />
</node>
</node>
</node>
<node concept="2h1dTh" id="7E86$tKtt1$" role="Cn2iK">
<property role="2h1i$Z" value=":" />
</node>
</node>
</node>
<node concept="3kRJcU" id="7E86$tKtqyF" role="3kShCk">
<node concept="3clFbS" id="7E86$tKtqyG" role="2VODD2">
<node concept="3clFbF" id="7E86$tKtqHO" role="3cqZAp">
<node concept="2OqwBi" id="7E86$tKtrE3" role="3clFbG">
<node concept="2OqwBi" id="7E86$tKtqVy" role="2Oq$k0">
<node concept="Cj7Ep" id="7E86$tKtqHN" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKtriY" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" />
</node>
</node>
<node concept="3w_OXm" id="7E86$tKts2l" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -5,7 +5,76 @@
<use id="af65afd8-f0dd-4942-87d9-63a55f2a9db1" name="jetbrains.mps.lang.behavior" version="-1" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports />
<registry />
<imports>
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" implicit="true" />
</imports>
<registry>
<language id="af65afd8-f0dd-4942-87d9-63a55f2a9db1" name="jetbrains.mps.lang.behavior">
<concept id="1225194240794" name="jetbrains.mps.lang.behavior.structure.ConceptBehavior" flags="ng" index="13h7C7">
<reference id="1225194240799" name="concept" index="13h7C2" />
<child id="1225194240805" name="method" index="13h7CS" />
<child id="1225194240801" name="constructor" index="13h7CW" />
</concept>
<concept id="1225194413805" name="jetbrains.mps.lang.behavior.structure.ConceptConstructorDeclaration" flags="in" index="13hLZK" />
<concept id="1225194472830" name="jetbrains.mps.lang.behavior.structure.ConceptMethodDeclaration" flags="ng" index="13i0hz">
<property id="1225194472832" name="isVirtual" index="13i0it" />
<property id="1225194472834" name="isAbstract" index="13i0iv" />
</concept>
</language>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
<concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="13h7C7" id="7E86$tKAuhI">
<property role="3GE5qa" value="logical" />
<ref role="13h7C2" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
<node concept="13i0hz" id="7E86$tKAujJ" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="true" />
<property role="TrG5h" value="exportedLogicalVariable" />
<node concept="3Tm1VV" id="7E86$tKAujK" role="1B3o_S" />
<node concept="2I9FWS" id="7E86$tKAuon" role="3clF45">
<ref role="2I9WkF" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
<node concept="3clFbS" id="7E86$tKAujM" role="3clF47">
<node concept="3clFbF" id="7E86$tKAuA2" role="3cqZAp">
<node concept="10Nm6u" id="7E86$tKAuA1" role="3clFbG" />
</node>
</node>
</node>
<node concept="13hLZK" id="7E86$tKAuhJ" role="13h7CW">
<node concept="3clFbS" id="7E86$tKAuhK" role="2VODD2" />
</node>
</node>
</model>

View File

@ -7,45 +7,204 @@
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports>
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="o8zo" ref="r:314576fc-3aee-4386-a0a5-a38348ac317d(jetbrains.mps.scope)" />
<import index="fnmy" ref="r:89c0fb70-0977-4113-a076-5906f9d8630f(jetbrains.mps.baseLanguage.scopes)" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="e2lb" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" implicit="true" />
<import index="tpfp" ref="r:00000000-0000-4000-0000-011c89590519(jetbrains.mps.baseLanguage.regexp.jetbrains.mps.regexp.accessory)" implicit="true" />
<import index="ha02" ref="r:09e53496-6477-45e7-abd5-eaf3fac3b360(jetbrains.mps.logic.behavior)" implicit="true" />
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1215693861676" name="jetbrains.mps.baseLanguage.structure.BaseAssignmentExpression" flags="nn" index="d038R">
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
<concept id="1182160077978" name="jetbrains.mps.baseLanguage.structure.AnonymousClassCreator" flags="nn" index="YeOm9">
<child id="1182160096073" name="cls" index="YeSDq" />
</concept>
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
</concept>
<concept id="1164991038168" name="jetbrains.mps.baseLanguage.structure.ThrowStatement" flags="nn" index="YS8fn">
<child id="1164991057263" name="throwable" index="YScLw" />
</concept>
<concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<child id="1068431790190" name="initializer" index="33vP2m" />
</concept>
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
<concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
<concept id="1225271177708" name="jetbrains.mps.baseLanguage.structure.StringType" flags="in" index="17QB3L" />
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123165" name="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" flags="ig" index="3clFb_">
<property id="1178608670077" name="isAbstract" index="1EzhhJ" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123159" name="jetbrains.mps.baseLanguage.structure.IfStatement" flags="nn" index="3clFbJ">
<child id="1068580123160" name="condition" index="3clFbw" />
<child id="1068580123161" name="ifTrue" index="3clFbx" />
<child id="1206060520071" name="elsifClauses" index="3eNLev" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<concept id="1206060495898" name="jetbrains.mps.baseLanguage.structure.ElsifClause" flags="ng" index="3eNFk2">
<child id="1206060619838" name="condition" index="3eO9$A" />
<child id="1206060644605" name="statementList" index="3eOfB_" />
</concept>
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk" />
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<property id="521412098689998745" name="nonStatic" index="2bfB8j" />
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1170345865475" name="jetbrains.mps.baseLanguage.structure.AnonymousClass" flags="ig" index="1Y3b0j">
<reference id="1170346070688" name="classifier" index="1Y3XeK" />
</concept>
</language>
<language id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints">
<concept id="8966504967485224688" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_contextNode" flags="nn" index="2rP1CM" />
<concept id="1147467115080" name="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" flags="ng" index="EnEH3">
<reference id="1147467295099" name="applicableProperty" index="EomxK" />
<child id="1147468630220" name="propertyGetter" index="EtsB7" />
<child id="1212097481299" name="propertyValidator" index="QCWH9" />
<child id="1152963095733" name="propertySetter" index="1LXaQT" />
</concept>
<concept id="1147467790433" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyGetter" flags="in" index="Eqf_E" />
<concept id="1147468365020" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" flags="nn" index="EsrRn" />
<concept id="1212096972063" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" flags="in" index="QB0g5" />
<concept id="5676632058862809931" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Scope" flags="in" index="13QW63" />
<concept id="1152959968041" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertySetter" flags="in" index="1LLf8_" />
<concept id="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
<reference id="1213093996982" name="concept" index="1M2myG" />
<child id="1213098023997" name="property" index="1MhHOB" />
<child id="1213100494875" name="referent" index="1Mr941" />
</concept>
<concept id="1148687176410" name="jetbrains.mps.lang.constraints.structure.NodeReferentConstraint" flags="ng" index="1N5Pfh">
<reference id="1148687202698" name="applicableLink" index="1N5Vy1" />
<child id="1148687345559" name="searchScopeFactory" index="1N6uqs" />
</concept>
<concept id="1153138554286" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" flags="nn" index="1Wqviy" />
</language>
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
<concept id="1235746970280" name="jetbrains.mps.baseLanguage.closures.structure.CompactInvokeFunctionExpression" flags="nn" index="2Sg_IR">
<child id="1235746996653" name="function" index="2SgG2M" />
<child id="1235747002942" name="parameter" index="2SgHGx" />
</concept>
<concept id="1199542442495" name="jetbrains.mps.baseLanguage.closures.structure.FunctionType" flags="in" index="1ajhzC">
<child id="1199542457201" name="resultType" index="1ajl9A" />
<child id="1199542501692" name="parameterType" index="1ajw0F" />
</concept>
<concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
<child id="1199569906740" name="parameter" index="1bW2Oz" />
<child id="1199569916463" name="body" index="1bW5cS" />
</concept>
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
<reference id="1177026940964" name="conceptDeclaration" index="cht4Q" />
</concept>
<concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
<child id="1144104376918" name="parameter" index="1xVPHs" />
</concept>
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1171500988903" name="jetbrains.mps.lang.smodel.structure.Node_GetChildrenOperation" flags="nn" index="32TBzR" />
<concept id="1154546920561" name="jetbrains.mps.lang.smodel.structure.OperationParm_ConceptList" flags="ng" index="3gmYPX">
<child id="1154546920563" name="concept" index="3gmYPZ" />
</concept>
<concept id="1154546950173" name="jetbrains.mps.lang.smodel.structure.ConceptReference" flags="ng" index="3gn64h">
<reference id="1154546997487" name="concept" index="3gnhBz" />
</concept>
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
<concept id="1144101972840" name="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" flags="ng" index="1xMEDy">
<child id="1207343664468" name="conceptArgument" index="ri$Ld" />
</concept>
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
<property id="1238684351431" name="asCast" index="1BlNFB" />
<reference id="1140138128738" name="concept" index="1PxNhF" />
<child id="1140138123956" name="leftExpression" index="1PxMeX" />
</concept>
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2" />
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
<concept id="1172424058054" name="jetbrains.mps.lang.smodel.structure.ConceptRefExpression" flags="nn" index="3TUQnm">
<reference id="1172424100906" name="conceptDeclaration" index="3TV0OU" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="daafa647-f1f7-4b0b-b096-69cd7c8408c0" name="jetbrains.mps.baseLanguage.regexp">
<concept id="1222260469397" name="jetbrains.mps.baseLanguage.regexp.structure.MatchRegexpOperation" flags="nn" index="2kpEY9" />
<concept id="1179357154354" name="jetbrains.mps.baseLanguage.regexp.structure.MatchRegexpExpression" flags="nn" index="2nawOw">
<child id="1179357286898" name="inputExpression" index="2nb13w" />
</concept>
<concept id="1174482804200" name="jetbrains.mps.baseLanguage.regexp.structure.PlusRegexp" flags="ng" index="1OClNT" />
<concept id="1174482808826" name="jetbrains.mps.baseLanguage.regexp.structure.StarRegexp" flags="ng" index="1OCmVF" />
<concept id="1174484562151" name="jetbrains.mps.baseLanguage.regexp.structure.SeqRegexp" flags="ng" index="1OJ37Q" />
<concept id="1174485167097" name="jetbrains.mps.baseLanguage.regexp.structure.BinaryRegexp" flags="ng" index="1OLmFC">
<child id="1174485176897" name="left" index="1OLpdg" />
<child id="1174485181039" name="right" index="1OLqdY" />
</concept>
<concept id="1174485235885" name="jetbrains.mps.baseLanguage.regexp.structure.UnaryRegexp" flags="ng" index="1OLBAW">
<child id="1174485243418" name="regexp" index="1OLDsb" />
</concept>
@ -56,6 +215,9 @@
<child id="1174557628217" name="part" index="1T5LoC" />
</concept>
<concept id="1174554211468" name="jetbrains.mps.baseLanguage.regexp.structure.PositiveSymbolClassRegexp" flags="ng" index="1SSJmt" />
<concept id="1174555732504" name="jetbrains.mps.baseLanguage.regexp.structure.PredefinedSymbolClassRegexp" flags="ng" index="1SYyG9">
<reference id="1174555843709" name="symbolClass" index="1SYXPG" />
</concept>
<concept id="1174557878319" name="jetbrains.mps.baseLanguage.regexp.structure.CharacterSymbolClassPart" flags="ng" index="1T6I$Y">
<property id="1174557887320" name="character" index="1T6KD9" />
</concept>
@ -66,6 +228,13 @@
<child id="1174653387388" name="regexp" index="1YN4dH" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
<child id="1204796294226" name="closure" index="23t8la" />
</concept>
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
</language>
</registry>
<node concept="1M2fIO" id="3qvzBqWDzqQ">
<property role="3GE5qa" value="node.value" />
@ -100,5 +269,319 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="7E86$tKtku$">
<property role="3GE5qa" value="logical" />
<ref role="1M2myG" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<node concept="EnEH3" id="7E86$tKtkwH" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="7E86$tKtkPB" role="QCWH9">
<node concept="3clFbS" id="7E86$tKtkPC" role="2VODD2">
<node concept="3clFbF" id="2E5lcNndo$l" role="3cqZAp">
<node concept="2nawOw" id="2E5lcNndpuB" role="3clFbG">
<node concept="1Qi9sc" id="2E5lcNndpuD" role="1YN4dH">
<node concept="1OJ37Q" id="2E5lcNndqgq" role="1QigWp">
<node concept="1SYyG9" id="2E5lcNndq4L" role="1OLpdg">
<ref role="1SYXPG" to="tpfp:h5SV1SY" resolve="\p{Alpha}" />
</node>
<node concept="1OCmVF" id="2E5lcNndqE8" role="1OLqdY">
<node concept="1SSJmt" id="2E5lcNndqgp" role="1OLDsb">
<node concept="1Tadzz" id="2E5lcNndqtL" role="1T5LoC">
<ref role="1Takfv" to="tpfp:h5SVbIa" resolve="\p{Alnum}" />
</node>
</node>
</node>
</node>
</node>
<node concept="1Wqviy" id="2E5lcNndo$k" role="2nb13w" />
</node>
</node>
</node>
</node>
</node>
<node concept="EnEH3" id="7E86$tKtl8X" role="1MhHOB">
<ref role="EomxK" to="5j4j:7E86$tKtijQ" resolve="isMulti" />
<node concept="Eqf_E" id="7E86$tKtlmu" role="EtsB7">
<node concept="3clFbS" id="7E86$tKtlmv" role="2VODD2">
<node concept="3clFbF" id="7E86$tKtlJW" role="3cqZAp">
<node concept="2OqwBi" id="7E86$tKtmVR" role="3clFbG">
<node concept="2OqwBi" id="7E86$tKtmci" role="2Oq$k0">
<node concept="EsrRn" id="7E86$tKtlJV" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKtm$C" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" />
</node>
</node>
<node concept="3x8VRR" id="7E86$tKtnrp" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="1LLf8_" id="7E86$tKtnEV" role="1LXaQT">
<node concept="3clFbS" id="7E86$tKtnEW" role="2VODD2">
<node concept="YS8fn" id="2E5lcNndR5r" role="3cqZAp">
<node concept="2ShNRf" id="2E5lcNndR5H" role="YScLw">
<node concept="1pGfFk" id="2E5lcNndRfX" role="2ShVmc">
<ref role="37wK5l" to="e2lb:~UnsupportedOperationException.&lt;init&gt;()" resolve="UnsupportedOperationException" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1M2fIO" id="7E86$tK_SDr">
<property role="3GE5qa" value="logical" />
<ref role="1M2myG" to="5j4j:7E86$tK_OxQ" resolve="LogicalVariableReference" />
<node concept="1N5Pfh" id="7E86$tK_SGg" role="1Mr941">
<ref role="1N5Vy1" to="5j4j:7E86$tK_PaH" />
<node concept="13QW63" id="7E86$tK_SKn" role="1N6uqs">
<node concept="3clFbS" id="7E86$tK_SKp" role="2VODD2">
<node concept="3clFbH" id="7E86$tKA3v8" role="3cqZAp" />
<node concept="3cpWs8" id="6Ng87FPZcv5" role="3cqZAp">
<node concept="3cpWsn" id="6Ng87FPZcv6" role="3cpWs9">
<property role="TrG5h" value="parentScope" />
<node concept="1ajhzC" id="6Ng87FPZcv7" role="1tU5fm">
<node concept="3Tqbb2" id="6Ng87FPZcv8" role="1ajw0F" />
<node concept="3uibUv" id="6Ng87FPZcv9" role="1ajl9A">
<ref role="3uigEE" to="o8zo:3fifI_xCtN$" resolve="Scope" />
</node>
</node>
<node concept="10Nm6u" id="6Ng87FPZcva" role="33vP2m" />
</node>
</node>
<node concept="3clFbF" id="6Ng87FPZcvb" role="3cqZAp">
<node concept="37vLTI" id="6Ng87FPZcvc" role="3clFbG">
<node concept="1bVj0M" id="6Ng87FPZcvd" role="37vLTx">
<node concept="37vLTG" id="6Ng87FPZcve" role="1bW2Oz">
<property role="TrG5h" value="container" />
<node concept="3Tqbb2" id="6Ng87FPZcvf" role="1tU5fm" />
</node>
<node concept="3clFbS" id="6Ng87FPZcvg" role="1bW5cS">
<node concept="3clFbJ" id="6Ng87FPZcvh" role="3cqZAp">
<node concept="3clFbS" id="6Ng87FPZcvi" role="3clFbx">
<node concept="3clFbH" id="6Ng87FPZcvj" role="3cqZAp" />
<node concept="3cpWs8" id="6Ng87FPZcvk" role="3cqZAp">
<node concept="3cpWsn" id="6Ng87FPZcvl" role="3cpWs9">
<property role="TrG5h" value="childrenScope" />
<node concept="3uibUv" id="6Ng87FPZcvm" role="1tU5fm">
<ref role="3uigEE" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
</node>
<node concept="2ShNRf" id="6Ng87FPZcvn" role="33vP2m">
<node concept="YeOm9" id="6Ng87FPZcvo" role="2ShVmc">
<node concept="1Y3b0j" id="6Ng87FPZcvp" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
<ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
<node concept="2tJIrI" id="7E86$tKAluT" role="jymVt" />
<node concept="2OqwBi" id="6Ng87FPZcvr" role="37wK5m">
<node concept="2OqwBi" id="6Ng87FPZcvs" role="2Oq$k0">
<node concept="37vLTw" id="6Ng87FPZcvt" role="2Oq$k0">
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
<node concept="32TBzR" id="6Ng87FPZcvu" role="2OqNvi" />
</node>
<node concept="3zZkjj" id="6Ng87FPZcvv" role="2OqNvi">
<node concept="1bVj0M" id="6Ng87FPZcvw" role="23t8la">
<node concept="3clFbS" id="6Ng87FPZcvx" role="1bW5cS">
<node concept="3clFbF" id="6Ng87FPZcvy" role="3cqZAp">
<node concept="2OqwBi" id="6Ng87FPZcvz" role="3clFbG">
<node concept="37vLTw" id="6Ng87FPZcv$" role="2Oq$k0">
<ref role="3cqZAo" node="6Ng87FPZcvB" resolve="stm" />
</node>
<node concept="1mIQ4w" id="6Ng87FPZcv_" role="2OqNvi">
<node concept="chp4Y" id="7E86$tKA4OJ" role="cj9EA">
<ref role="cht4Q" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="6Ng87FPZcvB" role="1bW2Oz">
<property role="TrG5h" value="stm" />
<node concept="2jxLKc" id="6Ng87FPZcvC" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="6Ng87FPZcvN" role="1B3o_S" />
<node concept="3clFb_" id="6Ng87FPZcvO" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getName" />
<node concept="17QB3L" id="6Ng87FPZcvP" role="3clF45" />
<node concept="3Tm1VV" id="6Ng87FPZcvQ" role="1B3o_S" />
<node concept="37vLTG" id="6Ng87FPZcvR" role="3clF46">
<property role="TrG5h" value="child" />
<node concept="3Tqbb2" id="6Ng87FPZcvS" role="1tU5fm" />
</node>
<node concept="3clFbS" id="6Ng87FPZcvT" role="3clF47">
<node concept="3clFbF" id="6Ng87FPZcvU" role="3cqZAp">
<node concept="2OqwBi" id="6Ng87FPZcvV" role="3clFbG">
<node concept="1PxgMI" id="6Ng87FPZcvW" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<ref role="1PxNhF" to="tpck:h0TrEE$" resolve="INamedConcept" />
<node concept="37vLTw" id="6Ng87FPZcvX" role="1PxMeX">
<ref role="3cqZAo" node="6Ng87FPZcvR" resolve="child" />
</node>
</node>
<node concept="3TrcHB" id="6Ng87FPZcvY" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7E86$tKAmrW" role="3cqZAp" />
<node concept="3cpWs6" id="6Ng87FPZcw9" role="3cqZAp">
<node concept="2YIFZM" id="6Ng87FPZcwa" role="3cqZAk">
<ref role="1Pybhc" to="fnmy:3A2qfoxVUBF" resolve="Scopes" />
<ref role="37wK5l" to="fnmy:3A2qfoxXWxA" resolve="defaultWithNameHiding" />
<node concept="3TUQnm" id="6Ng87FPZcwb" role="37wK5m">
<ref role="3TV0OU" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
<node concept="37vLTw" id="6Ng87FPZcwc" role="37wK5m">
<ref role="3cqZAo" node="6Ng87FPZcvl" resolve="childrenScope" />
</node>
<node concept="2Sg_IR" id="6Ng87FPZcwd" role="37wK5m">
<node concept="37vLTw" id="6Ng87FPZcwe" role="2SgG2M">
<ref role="3cqZAo" node="6Ng87FPZcv6" resolve="parentScope" />
</node>
<node concept="2OqwBi" id="7E86$tKAntd" role="2SgHGx">
<node concept="37vLTw" id="7E86$tKAnte" role="2Oq$k0">
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
<node concept="2Xjw5R" id="7E86$tKAntf" role="2OqNvi">
<node concept="3gmYPX" id="7E86$tKAntg" role="1xVPHs">
<node concept="3gn64h" id="7E86$tKAnth" role="3gmYPZ">
<ref role="3gnhBz" to="tpee:fzclF80" resolve="StatementList" />
</node>
<node concept="3gn64h" id="7E86$tKAnti" role="3gmYPZ">
<ref role="3gnhBz" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
</node>
<node concept="3gn64h" id="7E86$tKAntj" role="3gmYPZ">
<ref role="3gnhBz" to="tpee:fzclF7W" resolve="BaseMethodDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6Ng87FPZcwg" role="3cqZAp" />
</node>
<node concept="2OqwBi" id="6Ng87FPZcwh" role="3clFbw">
<node concept="37vLTw" id="6Ng87FPZcwi" role="2Oq$k0">
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
<node concept="1mIQ4w" id="6Ng87FPZcwj" role="2OqNvi">
<node concept="chp4Y" id="6Ng87FPZcwk" role="cj9EA">
<ref role="cht4Q" to="tpee:fzclF80" resolve="StatementList" />
</node>
</node>
</node>
<node concept="3eNFk2" id="6Ng87FPZcwl" role="3eNLev">
<node concept="3clFbS" id="6Ng87FPZcwm" role="3eOfB_">
<node concept="3clFbH" id="6Ng87FPZcwn" role="3cqZAp" />
<node concept="3cpWs6" id="7E86$tKACLG" role="3cqZAp">
<node concept="2ShNRf" id="7E86$tKAEHa" role="3cqZAk">
<node concept="YeOm9" id="7E86$tKAF_i" role="2ShVmc">
<node concept="1Y3b0j" id="7E86$tKAF_l" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
<ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
<node concept="2OqwBi" id="7E86$tKBKrs" role="37wK5m">
<node concept="1PxgMI" id="7E86$tKBKrt" role="2Oq$k0">
<ref role="1PxNhF" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
<node concept="37vLTw" id="7E86$tKBKru" role="1PxMeX">
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
</node>
<node concept="2qgKlT" id="7E86$tKBKrv" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
<node concept="3Tm1VV" id="7E86$tKAF_m" role="1B3o_S" />
<node concept="2tJIrI" id="7E86$tKAH90" role="jymVt" />
<node concept="3clFb_" id="7E86$tKAF_n" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="getName" />
<node concept="17QB3L" id="7E86$tKAF_o" role="3clF45" />
<node concept="3Tm1VV" id="7E86$tKAF_p" role="1B3o_S" />
<node concept="37vLTG" id="7E86$tKAF_r" role="3clF46">
<property role="TrG5h" value="child" />
<node concept="3Tqbb2" id="7E86$tKAF_s" role="1tU5fm" />
</node>
<node concept="3clFbS" id="7E86$tKAF_t" role="3clF47">
<node concept="3clFbF" id="7E86$tKAIlg" role="3cqZAp">
<node concept="2OqwBi" id="7E86$tKAIlh" role="3clFbG">
<node concept="1PxgMI" id="7E86$tKAIli" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<ref role="1PxNhF" to="tpck:h0TrEE$" resolve="INamedConcept" />
<node concept="37vLTw" id="7E86$tKAIlj" role="1PxMeX">
<ref role="3cqZAo" node="7E86$tKAF_r" resolve="child" />
</node>
</node>
<node concept="3TrcHB" id="7E86$tKAIlk" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="6Ng87FPZcyw" role="3eO9$A">
<node concept="37vLTw" id="6Ng87FPZcyx" role="2Oq$k0">
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
<node concept="1mIQ4w" id="6Ng87FPZcyy" role="2OqNvi">
<node concept="chp4Y" id="7E86$tKAvH5" role="cj9EA">
<ref role="cht4Q" to="5j4j:7E86$tK$Rgo" resolve="LogicalVariableScope" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6Ng87FPZcy$" role="3cqZAp" />
<node concept="3clFbF" id="6Ng87FPZcy_" role="3cqZAp">
<node concept="10Nm6u" id="6Ng87FPZcyA" role="3clFbG" />
</node>
</node>
</node>
<node concept="37vLTw" id="6Ng87FPZcyB" role="37vLTJ">
<ref role="3cqZAo" node="6Ng87FPZcv6" resolve="parentScope" />
</node>
</node>
</node>
<node concept="3clFbH" id="6Ng87FPZcyC" role="3cqZAp" />
<node concept="3clFbF" id="6Ng87FPZcyD" role="3cqZAp">
<node concept="2Sg_IR" id="6Ng87FPZcyE" role="3clFbG">
<node concept="37vLTw" id="6Ng87FPZcyF" role="2SgG2M">
<ref role="3cqZAo" node="6Ng87FPZcv6" resolve="parentScope" />
</node>
<node concept="2OqwBi" id="6Ng87FPZcyG" role="2SgHGx">
<node concept="2rP1CM" id="6Ng87FPZcyH" role="2Oq$k0" />
<node concept="2Xjw5R" id="6Ng87FPZcyI" role="2OqNvi">
<node concept="1xMEDy" id="6Ng87FPZcyJ" role="1xVPHs">
<node concept="chp4Y" id="6Ng87FPZcyK" role="ri$Ld">
<ref role="cht4Q" to="tpee:fzclF80" resolve="StatementList" />
</node>
</node>
<node concept="1xIGOp" id="6Ng87FPZcyL" role="1xVPHs" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7E86$tK_TI7" role="3cqZAp" />
</node>
</node>
</node>
</node>
</model>

View File

@ -16,6 +16,7 @@
<import index="ejnv" ref="f:java_stub#1ed103c3-3aa6-49b7-9c21-6765ee11f224#jetbrains.mps.editor.runtime.style(MPS.Editor/jetbrains.mps.editor.runtime.style@java_stub)" />
<import index="nu8v" ref="f:java_stub#1ed103c3-3aa6-49b7-9c21-6765ee11f224#jetbrains.mps.openapi.editor.cells(MPS.Editor/jetbrains.mps.openapi.editor.cells@java_stub)" />
<import index="srng" ref="f:java_stub#1ed103c3-3aa6-49b7-9c21-6765ee11f224#jetbrains.mps.openapi.editor(MPS.Editor/jetbrains.mps.openapi.editor@java_stub)" />
<import index="tpco" ref="r:00000000-0000-4000-0000-011c89590284(jetbrains.mps.lang.core.editor)" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="e2lb" ref="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" implicit="true" />
</imports>
@ -62,6 +63,7 @@
<concept id="1078939183254" name="jetbrains.mps.lang.editor.structure.CellModel_Component" flags="sg" stub="3162947552742194261" index="PMmxH">
<reference id="1078939183255" name="editorComponent" index="PMmxG" />
</concept>
<concept id="1149850725784" name="jetbrains.mps.lang.editor.structure.CellModel_AttributedNodeCell" flags="ng" index="2SsqMj" />
<concept id="1186402211651" name="jetbrains.mps.lang.editor.structure.StyleSheet" flags="ng" index="V5hpn">
<child id="1186402402630" name="styleClass" index="V601i" />
</concept>
@ -94,6 +96,9 @@
<child id="1139535280620" name="executeFunction" index="1hA7z_" />
</concept>
<concept id="1139535439104" name="jetbrains.mps.lang.editor.structure.CellActionMap_ExecuteFunction" flags="in" index="1hAIg9" />
<concept id="1088013125922" name="jetbrains.mps.lang.editor.structure.CellModel_RefCell" flags="sg" stub="730538219795941030" index="1iCGBv">
<child id="1088186146602" name="editorComponent" index="1sWHZn" />
</concept>
<concept id="1225456267680" name="jetbrains.mps.lang.editor.structure.RGBColor" flags="ng" index="1iSF2X">
<property id="1225456424731" name="value" index="1iTho6" />
</concept>
@ -101,13 +106,17 @@
<reference id="1381004262292426837" name="parentStyleClass" index="1k5W1q" />
</concept>
<concept id="1223387125302" name="jetbrains.mps.lang.editor.structure.QueryFunction_Boolean" flags="in" index="3nzxsE" />
<concept id="1088185857835" name="jetbrains.mps.lang.editor.structure.InlineEditorComponent" flags="ig" index="1sVBvm" />
<concept id="1219226236603" name="jetbrains.mps.lang.editor.structure.DrawBracketsStyleClassItem" flags="ln" index="3vyZuw" />
<concept id="9122903797312246523" name="jetbrains.mps.lang.editor.structure.StyleReference" flags="ng" index="1wgc9g">
<reference id="9122903797312247166" name="style" index="1wgcnl" />
</concept>
<concept id="1139848536355" name="jetbrains.mps.lang.editor.structure.CellModel_WithRole" flags="ng" index="1$h60E">
<property id="1140017977771" name="readOnly" index="1Intyy" />
<reference id="1140103550593" name="relationDeclaration" index="1NtTu8" />
</concept>
<concept id="7667708318090725848" name="jetbrains.mps.lang.editor.structure.IndentLayoutIndentAnchorStyleClassItem" flags="ln" index="1Bsynf" />
<concept id="7667708318090877006" name="jetbrains.mps.lang.editor.structure.IndentLayoutWrapAnchorStyleClassItem" flags="ln" index="1Bt7hp" />
<concept id="1073389214265" name="jetbrains.mps.lang.editor.structure.EditorCellModel" flags="ng" index="3EYTF0">
<reference id="1139959269582" name="actionMap" index="1ERwB7" />
<child id="1142887637401" name="renderingCondition" index="pqm2j" />
@ -251,6 +260,7 @@
<concept id="1146171026731" name="jetbrains.mps.lang.smodel.structure.Property_HasValue_Enum" flags="nn" index="3t7uKx">
<child id="1146171026732" name="value" index="3t7uKA" />
</concept>
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="1180636770613" name="jetbrains.mps.lang.smodel.structure.SNodeCreator" flags="nn" index="3zrR0B">
<child id="1180636770616" name="createdType" index="3zrR0E" />
</concept>
@ -266,6 +276,9 @@
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1138056143562" name="jetbrains.mps.lang.smodel.structure.SLinkAccess" flags="nn" index="3TrEf2">
<reference id="1138056516764" name="link" index="3Tt5mk" />
</concept>
<concept id="1138056282393" name="jetbrains.mps.lang.smodel.structure.SLinkListAccess" flags="nn" index="3Tsc0h">
<reference id="1138056546658" name="link" index="3TtcxE" />
</concept>
@ -398,6 +411,12 @@
<node concept="3F0ifn" id="1pt0VTMza2o" role="3EZMnx">
<property role="3F0ifm" value="[" />
<ref role="1k5W1q" to="tpen:hXb$RYA" resolve="LeftBracket" />
<node concept="30gYXW" id="1OShD0HUg9Y" role="3F10Kt">
<property role="Vb096" value="pink" />
</node>
<node concept="VechU" id="1OShD0HUgE8" role="3F10Kt">
<property role="Vb096" value="red" />
</node>
<node concept="11L4FC" id="1pt0VTMzar_" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
@ -448,6 +467,12 @@
<node concept="3F0ifn" id="1pt0VTMw5UE" role="3EZMnx">
<property role="3F0ifm" value="]" />
<ref role="1k5W1q" to="tpen:hXb$V4T" resolve="RightBracket" />
<node concept="30gYXW" id="1OShD0HUgTX" role="3F10Kt">
<property role="Vb096" value="pink" />
</node>
<node concept="VechU" id="1OShD0HUgTY" role="3F10Kt">
<property role="Vb096" value="red" />
</node>
<node concept="11L4FC" id="1pt0VTMzax5" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
@ -525,6 +550,9 @@
<ref role="1NtTu8" to="5j4j:6$jH9oLmYL8" />
<ref role="1ERwB7" node="38jpnomVCZ5" resolve="ValueRole_INSERT" />
<node concept="l2Vlx" id="1pt0VTMw7$e" role="2czzBx" />
<node concept="3F0ifn" id="dfChU1DR3X" role="2czzBI">
<property role="3F0ifm" value="" />
</node>
</node>
<node concept="3F0ifn" id="1pt0VTMw7ue" role="3EZMnx">
<property role="3F0ifm" value="&quot;" />
@ -1665,12 +1693,6 @@
<node concept="36be1Y" id="38jpnomX7Sd" role="2pJxcZ">
<node concept="2pJPED" id="38jpnomX7Ty" role="36be1Z">
<ref role="2pJxaS" to="5j4j:6$jH9oLmYJ_" resolve="ValueHolder" />
<node concept="2pIpSj" id="5iubxWjiLbD" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5lJXKB2m4" />
<node concept="2pJPED" id="5iubxWjiLcT" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
</node>
</node>
</node>
@ -1774,12 +1796,6 @@
<node concept="36be1Y" id="3qvzBqW$Fv_" role="2pJxcZ">
<node concept="2pJPED" id="3qvzBqW$FvA" role="36be1Z">
<ref role="2pJxaS" to="5j4j:6$jH9oLmYJ_" resolve="ValueHolder" />
<node concept="2pIpSj" id="5iubxWjiGuQ" role="2pJxcM">
<ref role="2pIpSl" to="5j4j:5lJXKB2m4" />
<node concept="2pJPED" id="5iubxWjiKEz" role="2pJxcZ">
<ref role="2pJxaS" to="5j4j:6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
</node>
</node>
</node>
@ -2135,5 +2151,339 @@
<node concept="l2Vlx" id="2q_78a9c7Q_" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="7E86$tKsqua">
<property role="3GE5qa" value="logical" />
<ref role="1XX52x" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
<node concept="3EZMnI" id="6p0DfM0hL7k" role="2wV5jI">
<node concept="3EZMnI" id="6p0DfM0hLg3" role="3EZMnx">
<node concept="VPM3Z" id="6p0DfM0hLg4" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3vyZuw" id="6p0DfM0hLg7" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="VLuvy" id="6p0DfM0hLg8" role="3F10Kt">
<node concept="1iSF2X" id="6p0DfM0hLg9" role="VblUZ">
<property role="1iTho6" value="9999FF" />
</node>
</node>
<node concept="1Bsynf" id="6p0DfM0hLga" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="1Bt7hp" id="6p0DfM0hLgb" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3F0ifn" id="6p0DfM0hLgc" role="3EZMnx">
<node concept="VPM3Z" id="6p0DfM0oSne" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
</node>
<node concept="3F1sOY" id="6p0DfM0hLgd" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:7E86$tKsqnr" />
</node>
<node concept="3F0ifn" id="6p0DfM0hLge" role="3EZMnx">
<node concept="VPM3Z" id="6p0DfM0oSd3" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
</node>
<node concept="l2Vlx" id="6p0DfM0hLgf" role="2iSdaV" />
</node>
<node concept="l2Vlx" id="6p0DfM0hL7n" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="7E86$tKt5HF">
<property role="3GE5qa" value="logical" />
<ref role="1XX52x" to="5j4j:7E86$tKt5sV" resolve="ExpressionLogicalVariable" />
<node concept="3EZMnI" id="7E86$tKt68D" role="2wV5jI">
<node concept="3F0ifn" id="6Ng87FPWMwT" role="3EZMnx">
<property role="3F0ifm" value="$" />
<ref role="1k5W1q" to="tpen:hgVS8CF" resolve="KeyWord" />
<node concept="11LMrY" id="6Ng87FPWMAV" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F1sOY" id="7E86$tKt6my" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:7E86$tKt5BI" />
</node>
<node concept="l2Vlx" id="7E86$tKt68G" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="7E86$tKtiJM">
<property role="3GE5qa" value="logical" />
<ref role="1XX52x" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
<node concept="3EZMnI" id="2E5lcNn2Yfo" role="2wV5jI">
<node concept="l2Vlx" id="2E5lcNn2Yfr" role="2iSdaV" />
<node concept="3F0A7n" id="2E5lcNn2YOJ" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3EZMnI" id="2E5lcNndMdC" role="3EZMnx">
<node concept="VPM3Z" id="2E5lcNndMdD" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="2E5lcNndMdE" role="2iSdaV" />
<node concept="3F0ifn" id="2E5lcNndMdF" role="3EZMnx">
<property role="3F0ifm" value=":" />
<ref role="1k5W1q" to="tpen:hFD0yD_" resolve="VariableName" />
<node concept="11L4FC" id="2E5lcNndMdG" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="11LMrY" id="2E5lcNndMdH" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F1sOY" id="2E5lcNndMdI" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:7E86$tKtioV" />
</node>
<node concept="pkWqt" id="2E5lcNndN30" role="pqm2j">
<node concept="3clFbS" id="2E5lcNndN31" role="2VODD2">
<node concept="3clFbF" id="2E5lcNndNe5" role="3cqZAp">
<node concept="2OqwBi" id="2E5lcNndNUm" role="3clFbG">
<node concept="2OqwBi" id="2E5lcNndNiC" role="2Oq$k0">
<node concept="pncrf" id="2E5lcNndNe4" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tKtjDd" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKtioV" />
</node>
</node>
<node concept="3x8VRR" id="2E5lcNndOan" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="7E86$tK_Puj">
<property role="3GE5qa" value="logical" />
<ref role="1XX52x" to="5j4j:7E86$tK_OxQ" resolve="LogicalVariableReference" />
<node concept="3EZMnI" id="6p0DfM0eyCR" role="2wV5jI">
<node concept="1iCGBv" id="2E5lcNn53QK" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:7E86$tK_PaH" />
<node concept="1sVBvm" id="2E5lcNn53QM" role="1sWHZn">
<node concept="3F0A7n" id="2E5lcNn54qR" role="2wV5jI">
<property role="1Intyy" value="true" />
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
<node concept="3EZMnI" id="6p0DfM0nJrG" role="3EZMnx">
<node concept="VPM3Z" id="6p0DfM0nJrI" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3F0ifn" id="6p0DfM0nL2R" role="3EZMnx">
<property role="3F0ifm" value="_" />
<ref role="1k5W1q" to="tpen:hFD0yD_" resolve="VariableName" />
<node concept="11L4FC" id="6p0DfM0nLwd" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="11LMrY" id="6p0DfM0nLyK" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F1sOY" id="6p0DfM0nLOu" role="3EZMnx">
<ref role="1NtTu8" to="5j4j:7E86$tKsJfa" />
</node>
<node concept="l2Vlx" id="6p0DfM0nJrL" role="2iSdaV" />
<node concept="pkWqt" id="6p0DfM0nJuq" role="pqm2j">
<node concept="3clFbS" id="6p0DfM0nJur" role="2VODD2">
<node concept="3clFbF" id="6p0DfM0nJDv" role="3cqZAp">
<node concept="2OqwBi" id="6p0DfM0nK$g" role="3clFbG">
<node concept="2OqwBi" id="6p0DfM0nJIt" role="2Oq$k0">
<node concept="pncrf" id="6p0DfM0nJDu" role="2Oq$k0" />
<node concept="3TrEf2" id="7E86$tK_Qy4" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:7E86$tKsJfa" />
</node>
</node>
<node concept="3x8VRR" id="6p0DfM0nKNr" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="l2Vlx" id="6p0DfM0eyCU" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1mP5b6jNJde">
<property role="3GE5qa" value="logical" />
<ref role="1XX52x" to="5j4j:1mP5b6jNC0S" resolve="LogicalType" />
<node concept="3EZMnI" id="6Ng87FPVAz_" role="2wV5jI">
<node concept="PMmxH" id="6Ng87FPVA_o" role="3EZMnx">
<ref role="PMmxG" to="tpco:2wZex4PafBj" resolve="alias" />
<ref role="1k5W1q" to="tpen:hgVS8CF" resolve="KeyWord" />
</node>
<node concept="l2Vlx" id="6Ng87FPVAzC" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="dfChU1yT1c">
<property role="3GE5qa" value="role" />
<ref role="1XX52x" to="5j4j:dfChU1ySVl" resolve="ExpressionRole" />
<node concept="3EZMnI" id="dfChU1yTlH" role="2wV5jI">
<node concept="3F0ifn" id="dfChU1yTlI" role="3EZMnx">
<property role="3F0ifm" value="`" />
<ref role="1k5W1q" to="tpen:75A9veqzBnk" resolve="AnyBracket" />
<node concept="11LMrY" id="dfChU1yTlJ" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3Xmtl4" id="dfChU1yTlK" role="3F10Kt">
<node concept="1wgc9g" id="dfChU1yTlL" role="3XvnJa">
<ref role="1wgcnl" node="5lJXKGbEg" resolve="NodeVariableExpression" />
</node>
</node>
</node>
<node concept="3F1sOY" id="dfChU1yTlM" role="3EZMnx">
<ref role="1k5W1q" node="5lJXKGbEg" resolve="NodeVariableExpression" />
<ref role="1NtTu8" to="5j4j:dfChU1yT6L" />
</node>
<node concept="3F0ifn" id="dfChU1yTlN" role="3EZMnx">
<property role="3F0ifm" value="`" />
<ref role="1k5W1q" to="tpen:75A9veqzBnk" resolve="AnyBracket" />
<node concept="11L4FC" id="dfChU1yTlO" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3Xmtl4" id="dfChU1yTlP" role="3F10Kt">
<node concept="1wgc9g" id="dfChU1yTlQ" role="3XvnJa">
<ref role="1wgcnl" node="5lJXKGbEg" resolve="NodeVariableExpression" />
</node>
</node>
</node>
<node concept="l2Vlx" id="dfChU1yTlR" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="dfChU1zo92">
<ref role="1XX52x" to="5j4j:dfChU1zo4B" resolve="NodeSubstitution" />
<node concept="3EZMnI" id="dfChU1zop0" role="2wV5jI">
<node concept="3F0ifn" id="dfChU1zop1" role="3EZMnx">
<property role="3F0ifm" value="`" />
<ref role="1k5W1q" to="tpen:75A9veqzBnk" resolve="AnyBracket" />
<node concept="11LMrY" id="dfChU1zop2" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3Xmtl4" id="dfChU1zop3" role="3F10Kt">
<node concept="1wgc9g" id="dfChU1zop4" role="3XvnJa">
<ref role="1wgcnl" node="5lJXKGbEg" resolve="NodeVariableExpression" />
</node>
</node>
</node>
<node concept="3F1sOY" id="dfChU1zop5" role="3EZMnx">
<ref role="1k5W1q" node="5lJXKGbEg" resolve="NodeVariableExpression" />
<ref role="1NtTu8" to="5j4j:dfChU1zo4I" />
</node>
<node concept="3F0ifn" id="dfChU1zop6" role="3EZMnx">
<property role="3F0ifm" value="`" />
<ref role="1k5W1q" to="tpen:75A9veqzBnk" resolve="AnyBracket" />
<ref role="1ERwB7" node="dfChU1_gaJ" resolve="NodeSubstitution_DELETE" />
<node concept="11L4FC" id="dfChU1zop7" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3Xmtl4" id="dfChU1zop8" role="3F10Kt">
<node concept="1wgc9g" id="dfChU1zop9" role="3XvnJa">
<ref role="1wgcnl" node="5lJXKGbEg" resolve="NodeVariableExpression" />
</node>
</node>
</node>
<node concept="3EZMnI" id="1OShD0HxxT1" role="3EZMnx">
<node concept="VPM3Z" id="1OShD0HxxT3" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="3vyZuw" id="1OShD0HxE17" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="VLuvy" id="1OShD0HzMyo" role="3F10Kt">
<property role="Vb096" value="gray" />
</node>
<node concept="Veino" id="1OShD0HxE2W" role="3F10Kt">
<property role="Vb096" value="lightGray" />
</node>
<node concept="2SsqMj" id="dfChU1$j5q" role="3EZMnx">
<ref role="1k5W1q" to="tpen:1zA_DOMARqB" resolve="BlockComment" />
</node>
<node concept="l2Vlx" id="1OShD0HxxT6" role="2iSdaV" />
</node>
<node concept="l2Vlx" id="dfChU1zopa" role="2iSdaV" />
</node>
</node>
<node concept="1h_SRR" id="dfChU1_gaJ">
<property role="TrG5h" value="NodeSubstitution_DELETE" />
<ref role="1h_SK9" to="5j4j:dfChU1zo4B" resolve="NodeSubstitution" />
<node concept="1hA7zw" id="dfChU1_gaK" role="1h_SK8">
<property role="1hAc7j" value="delete_action_id" />
<node concept="1hAIg9" id="dfChU1_gaL" role="1hA7z_">
<node concept="3clFbS" id="dfChU1_gaM" role="2VODD2">
<node concept="3clFbF" id="dfChU1_gf2" role="3cqZAp">
<node concept="2OqwBi" id="dfChU1_ggR" role="3clFbG">
<node concept="0IXxy" id="dfChU1_gf1" role="2Oq$k0" />
<node concept="1PgB_6" id="dfChU1_gta" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="1OShD0HAZ4h">
<property role="3GE5qa" value="node" />
<ref role="1XX52x" to="5j4j:1OShD0HAY6y" resolve="ListNode" />
<node concept="3EZMnI" id="1OShD0HAZmx" role="2wV5jI">
<node concept="VPM3Z" id="1OShD0HAZmy" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="l2Vlx" id="1OShD0HAZmz" role="2iSdaV" />
<node concept="3F0ifn" id="1OShD0HAZm$" role="3EZMnx">
<property role="3F0ifm" value="[" />
<ref role="1k5W1q" to="tpen:hXb$RYA" resolve="LeftBracket" />
<node concept="11L4FC" id="1OShD0HAZm_" role="3F10Kt">
<property role="VOm3f" value="false" />
</node>
<node concept="11LMrY" id="1OShD0HAZmA" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="ljvvj" id="1OShD0HAZmB" role="3F10Kt">
<property role="VOm3f" value="true" />
<node concept="3nzxsE" id="1OShD0HAZmC" role="3n$kyP">
<node concept="3clFbS" id="1OShD0HAZmD" role="2VODD2">
<node concept="3clFbF" id="1OShD0HAZmE" role="3cqZAp">
<node concept="3eOSWO" id="1OShD0HAZmF" role="3clFbG">
<node concept="3cmrfG" id="1OShD0HAZmG" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="2OqwBi" id="1OShD0HAZmH" role="3uHU7B">
<node concept="2OqwBi" id="1OShD0HAZmI" role="2Oq$k0">
<node concept="pncrf" id="1OShD0HAZmJ" role="2Oq$k0" />
<node concept="3Tsc0h" id="1OShD0HB0L4" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:1OShD0HAZ38" />
</node>
</node>
<node concept="34oBXx" id="1OShD0HAZmL" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3F2HdR" id="1OShD0HAZmM" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="5j4j:1OShD0HAZ38" />
<node concept="l2Vlx" id="1OShD0HAZmN" role="2czzBx" />
<node concept="lj46D" id="1OShD0HAZmO" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="tppnM" id="1OShD0HAZmP" role="sWeuL">
<node concept="ljvvj" id="1OShD0HAZmQ" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F0ifn" id="1OShD0HAZmR" role="2czzBI">
<property role="3F0ifm" value="" />
<property role="ilYzB" value="empty" />
</node>
</node>
<node concept="3F0ifn" id="1OShD0HAZmS" role="3EZMnx">
<property role="3F0ifm" value="]" />
<ref role="1k5W1q" to="tpen:hXb$V4T" resolve="RightBracket" />
<node concept="11L4FC" id="1OShD0HAZmT" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
</node>
</node>
</model>

View File

@ -68,11 +68,16 @@
</concept>
</language>
<language id="d7a92d38-f7db-40d0-8431-763b0c3c9f20" name="jetbrains.mps.lang.intentions">
<concept id="1192794744107" name="jetbrains.mps.lang.intentions.structure.IntentionDeclaration" flags="ig" index="2S6QgY" />
<concept id="1192794782375" name="jetbrains.mps.lang.intentions.structure.DescriptionBlock" flags="in" index="2S6ZIM" />
<concept id="1192795771125" name="jetbrains.mps.lang.intentions.structure.IsApplicableBlock" flags="in" index="2SaL7w" />
<concept id="1192795911897" name="jetbrains.mps.lang.intentions.structure.ExecuteBlock" flags="in" index="2Sbjvc" />
<concept id="1192796902958" name="jetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_node" flags="nn" index="2Sf5sV" />
<concept id="2522969319638091381" name="jetbrains.mps.lang.intentions.structure.BaseIntentionDeclaration" flags="ig" index="2ZfUlf">
<property id="2522969319638091386" name="isAvailableInChildNodes" index="2ZfUl0" />
<reference id="2522969319638198290" name="forConcept" index="2ZfgGC" />
<child id="2522969319638198291" name="executeFunction" index="2ZfgGD" />
<child id="2522969319638093995" name="isApplicableFunction" index="2ZfVeh" />
<child id="2522969319638093993" name="descriptionFunction" index="2ZfVej" />
</concept>
<concept id="1240316299033" name="jetbrains.mps.lang.intentions.structure.QueryBlock" flags="in" index="38BcoT">
@ -89,7 +94,17 @@
<concept id="1138661924179" name="jetbrains.mps.lang.smodel.structure.Property_SetOperation" flags="nn" index="tyxLq">
<child id="1138662048170" name="value" index="tz02z" />
</concept>
<concept id="1138757581985" name="jetbrains.mps.lang.smodel.structure.Link_SetNewChildOperation" flags="nn" index="zfrQC">
<reference id="1139880128956" name="concept" index="1A9B2P" />
</concept>
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS" />
<concept id="1171999116870" name="jetbrains.mps.lang.smodel.structure.Node_IsNullOperation" flags="nn" index="3w_OXm" />
<concept id="6407023681583036853" name="jetbrains.mps.lang.smodel.structure.NodeAttributeQualifier" flags="ng" index="3CFYIy">
<reference id="6407023681583036854" name="attributeConcept" index="3CFYIx" />
</concept>
<concept id="6407023681583031218" name="jetbrains.mps.lang.smodel.structure.AttributeAccess" flags="nn" index="3CFZ6_">
<child id="6407023681583036852" name="qualifier" index="3CFYIz" />
</concept>
<concept id="1240930118027" name="jetbrains.mps.lang.smodel.structure.SEnumOperationInvocation" flags="nn" index="3HcIyF">
<reference id="1240930118028" name="enumDeclaration" index="3HcIyG" />
<child id="1240930317927" name="operation" index="3Hdvt7" />
@ -216,5 +231,54 @@
<node concept="3Tqbb2" id="5A$IBX$dMZy" role="3ddBve" />
</node>
</node>
<node concept="2S6QgY" id="dfChU1zYxv">
<property role="TrG5h" value="add_substitution" />
<ref role="2ZfgGC" to="5j4j:5lJXKARS0" resolve="AbstractNode" />
<node concept="2Sbjvc" id="dfChU1zYxw" role="2ZfgGD">
<node concept="3clFbS" id="dfChU1zYxx" role="2VODD2">
<node concept="3clFbF" id="dfChU1$1h1" role="3cqZAp">
<node concept="2OqwBi" id="dfChU1$1xb" role="3clFbG">
<node concept="2OqwBi" id="dfChU1$1ie" role="2Oq$k0">
<node concept="2Sf5sV" id="dfChU1$1h0" role="2Oq$k0" />
<node concept="3CFZ6_" id="dfChU1$1q8" role="2OqNvi">
<node concept="3CFYIy" id="dfChU1$1sk" role="3CFYIz">
<ref role="3CFYIx" to="5j4j:dfChU1zo4B" resolve="NodeSubstitution" />
</node>
</node>
</node>
<node concept="zfrQC" id="dfChU1$1Tr" role="2OqNvi">
<ref role="1A9B2P" to="5j4j:dfChU1zo4B" resolve="NodeSubstitution" />
</node>
</node>
</node>
</node>
</node>
<node concept="2S6ZIM" id="dfChU1zYxy" role="2ZfVej">
<node concept="3clFbS" id="dfChU1zYxz" role="2VODD2">
<node concept="3clFbF" id="dfChU1zZ7B" role="3cqZAp">
<node concept="Xl_RD" id="dfChU1zZ7A" role="3clFbG">
<property role="Xl_RC" value="Substitute node" />
</node>
</node>
</node>
</node>
<node concept="2SaL7w" id="dfChU1zZHR" role="2ZfVeh">
<node concept="3clFbS" id="dfChU1zZHS" role="2VODD2">
<node concept="3clFbF" id="dfChU1zZXc" role="3cqZAp">
<node concept="2OqwBi" id="dfChU1$0CR" role="3clFbG">
<node concept="2OqwBi" id="dfChU1$01n" role="2Oq$k0">
<node concept="2Sf5sV" id="dfChU1zZXb" role="2Oq$k0" />
<node concept="3CFZ6_" id="dfChU1$0jk" role="2OqNvi">
<node concept="3CFYIy" id="dfChU1$0w0" role="3CFYIz">
<ref role="3CFYIx" to="5j4j:dfChU1zo4B" resolve="NodeSubstitution" />
</node>
</node>
</node>
<node concept="3w_OXm" id="dfChU1$13Z" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -12,6 +12,12 @@
<registry>
<language id="c72da2b9-7cce-4447-8389-f407dc1158b7" name="jetbrains.mps.lang.structure">
<concept id="1224240836180" name="jetbrains.mps.lang.structure.structure.DeprecatedNodeAnnotation" flags="ig" index="asaX9" />
<concept id="6054523464626862044" name="jetbrains.mps.lang.structure.structure.AttributeInfo_IsMultiple" flags="ng" index="tn0Fv">
<property id="6054523464626875854" name="value" index="tnX3d" />
</concept>
<concept id="6054523464627964745" name="jetbrains.mps.lang.structure.structure.AttributeInfo_AttributedConcept" flags="ng" index="trNpa">
<reference id="6054523464627965081" name="concept" index="trN6q" />
</concept>
<concept id="1082978164219" name="jetbrains.mps.lang.structure.structure.EnumerationDataTypeDeclaration" flags="ng" index="AxPO7">
<property id="1197591154882" name="memberIdentifierPolicy" index="3lZH7k" />
<reference id="1083171729157" name="memberDataType" index="M4eZT" />
@ -21,6 +27,11 @@
<property id="1083923523172" name="externalValue" index="1uS6qo" />
<property id="1083923523171" name="internalValue" index="1uS6qv" />
</concept>
<concept id="2992811758677295509" name="jetbrains.mps.lang.structure.structure.AttributeInfo" flags="ng" index="M6xJ_">
<property id="7588428831955550663" name="role" index="Hh88m" />
<child id="7588428831947959310" name="attributed" index="EQaZv" />
<child id="7588428831955550186" name="multiple" index="HhnKV" />
</concept>
<concept id="1169125787135" name="jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration" flags="ig" index="PkWjJ">
<property id="4628067390765956807" name="final" index="R5$K2" />
<property id="4628067390765956802" name="abstract" index="R5$K7" />
@ -28,6 +39,7 @@
<child id="1071489727083" name="linkDeclaration" index="1TKVEi" />
<child id="1071489727084" name="propertyDeclaration" index="1TKVEl" />
</concept>
<concept id="1169125989551" name="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" flags="ig" index="PlHQZ" />
<concept id="1169127622168" name="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" flags="ig" index="PrWs8">
<reference id="1169127628841" name="intfc" index="PrY4T" />
</concept>
@ -85,7 +97,7 @@
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<property role="3GE5qa" value="role" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<ref role="1TJDcQ" node="5lJXKARS0" resolve="AbstractNode" />
<node concept="1TJgyi" id="6$jH9oLmYHk" role="1TKVEl">
<property role="TrG5h" value="cardinality" />
<ref role="AX2Wp" node="6$jH9oLmYG0" resolve="Cardinality" />
@ -224,12 +236,6 @@
<property role="R5$K2" value="false" />
<property role="3GE5qa" value="node" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="5lJXKB2m4" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="symbol" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="6$jH9oLnyB1" resolve="Symbol" />
</node>
</node>
<node concept="1TIwiD" id="3JgCwkq$VNb">
<property role="TrG5h" value="ExpressionNode" />
@ -259,5 +265,125 @@
<property role="34LRSv" value="_" />
<ref role="1TJDcQ" node="6SkxsM$4k7r" resolve="AbstractVariable" />
</node>
<node concept="1TIwiD" id="7E86$tKskWj">
<property role="TrG5h" value="LogicalValue" />
<property role="3GE5qa" value="logical" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalExpression" />
<node concept="1TJgyj" id="7E86$tKsqnr" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="code" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
</node>
<node concept="1TIwiD" id="7E86$tKsl45">
<property role="TrG5h" value="LogicalExpression" />
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<property role="3GE5qa" value="logical" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
</node>
<node concept="1TIwiD" id="7E86$tKsHeX">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="AbstractLogicalVariable" />
<property role="R5$K7" value="true" />
<property role="R5$K2" value="false" />
<ref role="1TJDcQ" node="7E86$tKsl45" resolve="LogicalExpression" />
<node concept="1TJgyj" id="7E86$tKsJfa" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="index" />
<ref role="20lvS9" node="7E86$tKskWj" resolve="LogicalValue" />
</node>
</node>
<node concept="1TIwiD" id="7E86$tKt5sV">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="ExpressionLogicalVariable" />
<ref role="1TJDcQ" node="7E86$tKsHeX" resolve="AbstractLogicalVariable" />
<node concept="1TJgyj" id="7E86$tKt5BI" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="expression" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
</node>
<node concept="1TIwiD" id="7E86$tKtfM3">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalVariableDeclaration" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="7E86$tKtioV" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="cardinality" />
<ref role="20lvS9" node="7E86$tKskWj" resolve="LogicalValue" />
</node>
<node concept="1TJgyi" id="7E86$tKtijQ" role="1TKVEl">
<property role="TrG5h" value="isMulti" />
<ref role="AX2Wp" to="tpck:fKAQMTB" resolve="boolean" />
</node>
<node concept="PrWs8" id="7E86$tKtid6" role="PzmwI">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
<node concept="PlHQZ" id="7E86$tK$Rgo">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalVariableScope" />
</node>
<node concept="1TIwiD" id="7E86$tK_OxQ">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalVariableReference" />
<ref role="1TJDcQ" node="7E86$tKsHeX" resolve="AbstractLogicalVariable" />
<node concept="1TJgyj" id="7E86$tK_PaH" role="1TKVEi">
<property role="20lmBu" value="reference" />
<property role="20kJfa" value="declaration" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
<node concept="1TIwiD" id="1mP5b6jNC0S">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="LogicalType" />
<property role="34LRSv" value="logical" />
<ref role="1TJDcQ" to="tpee:fz3vP1H" resolve="Type" />
</node>
<node concept="1TIwiD" id="dfChU1ySVl">
<property role="3GE5qa" value="role" />
<property role="TrG5h" value="ExpressionRole" />
<ref role="1TJDcQ" node="6$jH9oLmYD_" resolve="Role" />
<node concept="1TJgyj" id="dfChU1yT6L" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="expression" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
</node>
<node concept="1TIwiD" id="dfChU1zo4B">
<property role="TrG5h" value="NodeSubstitution" />
<ref role="1TJDcQ" to="tpck:2ULFgo8_XDk" resolve="NodeAttribute" />
<node concept="1TJgyj" id="dfChU1zo4I" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="expression" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="M6xJ_" id="dfChU1zo4C" role="lGtFl">
<property role="Hh88m" value="substitute" />
<node concept="trNpa" id="dfChU1zo4E" role="EQaZv">
<ref role="trN6q" node="5lJXKARS0" resolve="AbstractNode" />
</node>
<node concept="tn0Fv" id="dfChU1zo4G" role="HhnKV">
<property role="tnX3d" value="false" />
</node>
</node>
</node>
<node concept="1TIwiD" id="1OShD0HAY6y">
<property role="3GE5qa" value="node" />
<property role="TrG5h" value="ListNode" />
<ref role="1TJDcQ" node="5lJXKARS0" resolve="AbstractNode" />
<node concept="1TJgyj" id="1OShD0HAZ38" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="contents" />
<property role="20lbJX" value="0..n" />
<ref role="20lvS9" node="5lJXKARS0" resolve="AbstractNode" />
</node>
</node>
</model>

View File

@ -7,32 +7,88 @@
</languages>
<imports>
<import index="ie8e" ref="r:ab2605ab-b4bc-4e80-a8ca-19a4a8465c01(jetbrains.mps.unification.tree)" />
<import index="xq5w" ref="r:729bada4-05fa-458f-8bf8-28b9cb978726(jetbrains.mps.logic.builtin.variable)" />
<import index="tpee" ref="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" />
<import index="yg8f" ref="r:e213377a-f1a7-4ba7-9d08-96bcb97ed8ce(jetbrains.mps.logic.builtin)" />
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
<concept id="6329021646629104957" name="jetbrains.mps.baseLanguage.structure.TextCommentPart" flags="nn" index="3SKdUq">
<property id="6329021646629104958" name="text" index="3SKdUp" />
</concept>
<concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
<child id="6329021646629175155" name="commentPart" index="3SKWNk" />
</concept>
</language>
<language id="d4615e3b-d671-4ba9-af01-2b78369b0ba7" name="jetbrains.mps.lang.pattern">
<concept id="1136720037777" name="jetbrains.mps.lang.pattern.structure.PatternExpression" flags="in" index="2DMOqp">
<child id="1136720037778" name="patternNode" index="2DMOqq" />
</concept>
</language>
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" name="jetbrains.mps.lang.quotation">
<concept id="1196350785113" name="jetbrains.mps.lang.quotation.structure.Quotation" flags="nn" index="2c44tf">
<child id="1196350785114" name="quotedNode" index="2c44tc" />
</concept>
<concept id="5455284157994012186" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitLink" flags="ng" index="2pIpSj">
<reference id="5455284157994012188" name="link" index="2pIpSl" />
</concept>
<concept id="5455284157993911097" name="jetbrains.mps.lang.quotation.structure.NodeBuilderInitPart" flags="ng" index="2pJxcK">
<child id="5455284157993911094" name="expression" index="2pJxcZ" />
</concept>
<concept id="5455284157993863837" name="jetbrains.mps.lang.quotation.structure.NodeBuilder" flags="nn" index="2pJPEk">
<child id="5455284157993863838" name="quotedNode" index="2pJPEn" />
</concept>
<concept id="5455284157993863840" name="jetbrains.mps.lang.quotation.structure.NodeBuilderNode" flags="nn" index="2pJPED">
<reference id="5455284157993910961" name="concept" index="2pJxaS" />
<child id="5455284157993911099" name="values" index="2pJxcM" />
</concept>
<concept id="8182547171709614739" name="jetbrains.mps.lang.quotation.structure.NodeBuilderRef" flags="nn" index="36bGnv">
<reference id="8182547171709614741" name="target" index="36bGnp" />
</concept>
</language>
<language id="7a5dda62-9140-4668-ab76-d5ed1746f2b2" name="jetbrains.mps.lang.typesystem">
<concept id="1185788614172" name="jetbrains.mps.lang.typesystem.structure.NormalTypeClause" flags="ng" index="mw_s8">
<child id="1185788644032" name="normalType" index="mwGJk" />
</concept>
<concept id="1175147569072" name="jetbrains.mps.lang.typesystem.structure.AbstractSubtypingRule" flags="ig" index="2sgdUx">
<child id="1175147624276" name="body" index="2sgrp5" />
</concept>
<concept id="1175147670730" name="jetbrains.mps.lang.typesystem.structure.SubtypingRule" flags="ig" index="2sgARr" />
<concept id="1201607707634" name="jetbrains.mps.lang.typesystem.structure.InequationReplacementRule" flags="ig" index="35pCF_">
<child id="1201607798918" name="supertypeNode" index="35pZ6h" />
<child id="3592071576955708909" name="isApplicableClause" index="1xSnZW" />
</concept>
<concept id="1195213580585" name="jetbrains.mps.lang.typesystem.structure.AbstractCheckingRule" flags="ig" index="18hYwZ">
<child id="1195213635060" name="body" index="18ibNy" />
</concept>
<concept id="3592071576955708904" name="jetbrains.mps.lang.typesystem.structure.IsReplacementRuleApplicable_ConceptFunction" flags="in" index="1xSnZT" />
<concept id="1178870617262" name="jetbrains.mps.lang.typesystem.structure.CoerceExpression" flags="nn" index="1UaxmW">
<child id="1178870894644" name="pattern" index="1Ub_4A" />
<child id="1178870894645" name="nodeToCoerce" index="1Ub_4B" />
</concept>
<concept id="1174642788531" name="jetbrains.mps.lang.typesystem.structure.ConceptReference" flags="ig" index="1YaCAy">
<reference id="1174642800329" name="concept" index="1YaFvo" />
</concept>
<concept id="1174642900584" name="jetbrains.mps.lang.typesystem.structure.PatternCondition" flags="ig" index="1Yb3XT">
<child id="1174642936809" name="pattern" index="1YbcFS" />
</concept>
<concept id="1174643105530" name="jetbrains.mps.lang.typesystem.structure.InferenceRule" flags="ig" index="1YbPZF" />
<concept id="1174648085619" name="jetbrains.mps.lang.typesystem.structure.AbstractRule" flags="ng" index="1YuPPy">
<child id="1174648101952" name="applicableNode" index="1YuTPh" />
@ -49,7 +105,13 @@
<child id="1174660783414" name="rightExpression" index="1ZfhKB" />
</concept>
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
@ -80,5 +142,69 @@
<ref role="1YaFvo" to="5j4j:6$jH9oLmUCq" resolve="Ast" />
</node>
</node>
<node concept="2sgARr" id="1mP5b6jNJDj">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="supertypesOf_LogicalType" />
<node concept="3clFbS" id="1mP5b6jNJDk" role="2sgrp5">
<node concept="3clFbF" id="1mP5b6jNOOr" role="3cqZAp">
<node concept="2pJPEk" id="1mP5b6jNOOp" role="3clFbG">
<node concept="2pJPED" id="1mP5b6jOrlD" role="2pJPEn">
<ref role="2pJxaS" to="tpee:g7uibYu" resolve="ClassifierType" />
<node concept="2pIpSj" id="1mP5b6jOrp7" role="2pJxcM">
<ref role="2pIpSl" to="tpee:g7uigIF" />
<node concept="36bGnv" id="dfChU1uU1H" role="2pJxcZ">
<ref role="36bGnp" to="yg8f:dfChU1jXdE" resolve="ITreeLogical" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1YaCAy" id="1mP5b6jNJDm" role="1YuTPh">
<property role="TrG5h" value="lt" />
<ref role="1YaFvo" to="5j4j:1mP5b6jNC0S" resolve="LogicalType" />
</node>
</node>
<node concept="35pCF_" id="dfChU1jsd3">
<property role="3GE5qa" value="logical" />
<property role="TrG5h" value="ITreeLogical_subtypeOf_logical" />
<node concept="3clFbS" id="dfChU1jsd4" role="2sgrp5">
<node concept="3SKdUt" id="dfChU1jzdK" role="3cqZAp">
<node concept="3SKdUq" id="dfChU1jzqi" role="3SKWNk">
<property role="3SKdUp" value="yes" />
</node>
</node>
</node>
<node concept="1YaCAy" id="dfChU1jtEQ" role="35pZ6h">
<property role="TrG5h" value="logicalType" />
<ref role="1YaFvo" to="5j4j:1mP5b6jNC0S" resolve="LogicalType" />
</node>
<node concept="1YaCAy" id="dfChU1jtEr" role="1YuTPh">
<property role="TrG5h" value="ct" />
<ref role="1YaFvo" to="tpee:g7uibYu" resolve="ClassifierType" />
</node>
<node concept="1xSnZT" id="dfChU1jtFt" role="1xSnZW">
<node concept="3clFbS" id="dfChU1jtFu" role="2VODD2">
<node concept="3clFbF" id="dfChU1jx6v" role="3cqZAp">
<node concept="2OqwBi" id="dfChU1jylg" role="3clFbG">
<node concept="1UaxmW" id="dfChU1jx6s" role="2Oq$k0">
<node concept="1YBJjd" id="dfChU1jxh4" role="1Ub_4B">
<ref role="1YBMHb" node="dfChU1jtEr" resolve="ct" />
</node>
<node concept="1Yb3XT" id="dfChU1kdib" role="1Ub_4A">
<property role="TrG5h" value="treeLogical" />
<node concept="2DMOqp" id="dfChU1kl43" role="1YbcFS">
<node concept="3uibUv" id="dfChU1kmaS" role="2DMOqq">
<ref role="3uigEE" to="yg8f:dfChU1jXdE" resolve="ITreeLogical" />
</node>
</node>
</node>
</node>
<node concept="3x8VRR" id="dfChU1jz0$" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -127,6 +127,9 @@
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1171903607971" name="jetbrains.mps.baseLanguage.structure.WildCardType" flags="in" index="3qTvmN" />
<concept id="7812454656619025416" name="jetbrains.mps.baseLanguage.structure.MethodDeclaration" flags="ng" index="1rXfSm">
<property id="8355037393041754995" name="isNative" index="2aFKle" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
@ -147,7 +150,9 @@
<child id="1144231399730" name="condition" index="1Dwp0S" />
<child id="1144231408325" name="iteration" index="1Dwrff" />
</concept>
<concept id="1107796713796" name="jetbrains.mps.baseLanguage.structure.Interface" flags="ig" index="3HP615" />
<concept id="1107796713796" name="jetbrains.mps.baseLanguage.structure.Interface" flags="ig" index="3HP615">
<child id="1107797138135" name="extendedInterface" index="3HQHJm" />
</concept>
<concept id="1208890769693" name="jetbrains.mps.baseLanguage.structure.ArrayLengthOperation" flags="nn" index="1Rwk04" />
<concept id="2580416627845338977" name="jetbrains.mps.baseLanguage.structure.ImplicitAnnotationInstanceValue" flags="ng" index="1SXeKx" />
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
@ -815,5 +820,67 @@
<node concept="TZ5HA" id="2fk6$tOs4KM" role="TZ5H$" />
</node>
</node>
<node concept="3HP615" id="1mP5b6jQP$C">
<property role="TrG5h" value="ILogical" />
<node concept="2tJIrI" id="1mP5b6jQPCY" role="jymVt" />
<node concept="3clFb_" id="dfChU1eNVy" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="findRoot" />
<node concept="3uibUv" id="dfChU1eNWP" role="3clF45">
<ref role="3uigEE" node="1mP5b6jQP$C" resolve="ILogical" />
<node concept="16syzq" id="dfChU1eNXI" role="11_B2D">
<ref role="16sUi3" node="1mP5b6jQPCW" resolve="T" />
</node>
</node>
<node concept="3Tm1VV" id="dfChU1eNV_" role="1B3o_S" />
<node concept="3clFbS" id="dfChU1eNVA" role="3clF47" />
</node>
<node concept="2tJIrI" id="dfChU1eNUX" role="jymVt" />
<node concept="3clFb_" id="1mP5b6jQPMI" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="value" />
<node concept="3clFbS" id="1mP5b6jQPML" role="3clF47" />
<node concept="3Tm1VV" id="1mP5b6jQPMM" role="1B3o_S" />
<node concept="16syzq" id="1mP5b6jQPMn" role="3clF45">
<ref role="16sUi3" node="1mP5b6jQPCW" resolve="T" />
</node>
</node>
<node concept="2tJIrI" id="1mP5b6jQPM2" role="jymVt" />
<node concept="3clFb_" id="1mP5b6jQPKP" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="isBound" />
<node concept="10P_77" id="1mP5b6jQPLl" role="3clF45" />
<node concept="3Tm1VV" id="1mP5b6jQPKS" role="1B3o_S" />
<node concept="3clFbS" id="1mP5b6jQPKT" role="3clF47" />
</node>
<node concept="2tJIrI" id="1mP5b6jQPLC" role="jymVt" />
<node concept="3Tm1VV" id="1mP5b6jQP$D" role="1B3o_S" />
<node concept="16euLQ" id="1mP5b6jQPCW" role="16eVyc">
<property role="TrG5h" value="T" />
</node>
</node>
<node concept="3HP615" id="dfChU1jXdE">
<property role="TrG5h" value="ITreeLogical" />
<node concept="2tJIrI" id="dfChU1jXe_" role="jymVt" />
<node concept="3clFb_" id="dfChU1jXeL" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="asTreePart" />
<node concept="3uibUv" id="dfChU1jXf8" role="3clF45">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qTvmN" id="dfChU1jXfg" role="11_B2D" />
</node>
<node concept="3Tm1VV" id="dfChU1jXeO" role="1B3o_S" />
<node concept="3clFbS" id="dfChU1jXeP" role="3clF47" />
</node>
<node concept="2tJIrI" id="dfChU1jXeE" role="jymVt" />
<node concept="3Tm1VV" id="dfChU1jXdF" role="1B3o_S" />
<node concept="3uibUv" id="dfChU1jXdV" role="3HQHJm">
<ref role="3uigEE" node="1mP5b6jQP$C" resolve="ILogical" />
<node concept="3uibUv" id="dfChU1jXec" role="11_B2D">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
</node>
</node>
</model>

View File

@ -187,6 +187,9 @@
<concept id="1171903916106" name="jetbrains.mps.baseLanguage.structure.UpperBoundType" flags="in" index="3qUE_q">
<child id="1171903916107" name="bound" index="3qUE_r" />
</concept>
<concept id="7812454656619025416" name="jetbrains.mps.baseLanguage.structure.MethodDeclaration" flags="ng" index="1rXfSm">
<property id="8355037393041754995" name="isNative" index="2aFKle" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
@ -2890,6 +2893,25 @@
</node>
</node>
<node concept="2tJIrI" id="4U_yxogCsEV" role="jymVt" />
<node concept="3clFb_" id="dfChU1gcsX" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="findRoot" />
<node concept="3uibUv" id="dfChU1ks09" role="3clF45">
<ref role="3uigEE" to="yg8f:dfChU1jXdE" resolve="ITreeLogical" />
</node>
<node concept="3Tm1VV" id="dfChU1gct0" role="1B3o_S" />
<node concept="3clFbS" id="dfChU1gct6" role="3clF47">
<node concept="3clFbF" id="dfChU1ggsh" role="3cqZAp">
<node concept="1rXfSq" id="dfChU1ggsg" role="3clFbG">
<ref role="37wK5l" node="4U_yxogCtqr" resolve="findTree" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="dfChU1gf8K" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="dfChU1gdQ7" role="jymVt" />
<node concept="3clFb_" id="4U_yxogCtqr" role="jymVt">
<property role="TrG5h" value="findTree" />
<node concept="3uibUv" id="4U_yxogCtVF" role="3clF45">
@ -2916,7 +2938,7 @@
</node>
<node concept="2tJIrI" id="1Ns6gpY6S29" role="jymVt" />
<node concept="3clFb_" id="1Ns6gpY6DeD" role="jymVt">
<property role="TrG5h" value="toTreePart" />
<property role="TrG5h" value="asTreePart" />
<node concept="3uibUv" id="1Ns6gpY6FOz" role="3clF45">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="1Ns6gpY6GI4" role="11_B2D">
@ -2990,6 +3012,9 @@
</node>
</node>
</node>
<node concept="2AHcQZ" id="dfChU1ktNm" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="7d$oK1$sHHt" role="jymVt" />
<node concept="3clFb_" id="7d$oK1$sGde" role="jymVt">
@ -3084,6 +3109,9 @@
<node concept="3uibUv" id="4U_yxogCKH9" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="2AHcQZ" id="1mP5b6jR6Yr" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="1Ns6gpY6Ey_" role="jymVt" />
<node concept="3clFb_" id="1bm7a6ETW$4" role="jymVt">
@ -3121,6 +3149,23 @@
</node>
</node>
<node concept="2tJIrI" id="7d$oK1$CzQe" role="jymVt" />
<node concept="3clFb_" id="1mP5b6jR8dI" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="isBound" />
<node concept="10P_77" id="1mP5b6jR8dJ" role="3clF45" />
<node concept="3Tm1VV" id="1mP5b6jR8dK" role="1B3o_S" />
<node concept="3clFbS" id="1mP5b6jR8dP" role="3clF47">
<node concept="3clFbF" id="1mP5b6jRce3" role="3cqZAp">
<node concept="1rXfSq" id="1mP5b6jRce2" role="3clFbG">
<ref role="37wK5l" to="w2rx:~Logical.isNonVar():boolean" resolve="isNonVar" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="1mP5b6jRaWb" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="1mP5b6jR9_e" role="jymVt" />
<node concept="3clFb_" id="7d$oK1$qKLo" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="reactivateAndClearObservers" />
@ -3608,6 +3653,9 @@
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
</node>
<node concept="3uibUv" id="dfChU1k2Og" role="EKbjA">
<ref role="3uigEE" to="yg8f:dfChU1jXdE" resolve="ITreeLogical" />
</node>
</node>
<node concept="312cEu" id="1Ns6gpY6jYh">
<property role="TrG5h" value="TreeLogicalVar" />
@ -4123,7 +4171,66 @@
</node>
</node>
<node concept="2tJIrI" id="1H8E3iBdJUE" role="jymVt" />
<node concept="2tJIrI" id="1H8E3iBdJUZ" role="jymVt" />
<node concept="3clFb_" id="dfChU1gi$L" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="findRoot" />
<node concept="3uibUv" id="dfChU1gi$M" role="3clF45">
<ref role="3uigEE" to="yg8f:1mP5b6jQP$C" resolve="ILogical" />
<node concept="17QB3L" id="dfChU1gi$T" role="11_B2D" />
</node>
<node concept="3Tm1VV" id="dfChU1gi$O" role="1B3o_S" />
<node concept="3clFbS" id="dfChU1gi$U" role="3clF47">
<node concept="3clFbF" id="dfChU1gkqG" role="3cqZAp">
<node concept="10QFUN" id="dfChU1gl7$" role="3clFbG">
<node concept="1rXfSq" id="dfChU1gl7z" role="10QFUP">
<ref role="37wK5l" to="w2rx:~Logical.find():runtime.Logical" resolve="find" />
</node>
<node concept="3uibUv" id="dfChU1glDa" role="10QFUM">
<ref role="3uigEE" node="1H8E3iB85PX" resolve="StringLogical" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="dfChU1gjOV" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="dfChU1gjdF" role="jymVt" />
<node concept="3clFb_" id="1mP5b6jQWhb" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="value" />
<node concept="3Tm1VV" id="1mP5b6jQWhd" role="1B3o_S" />
<node concept="17QB3L" id="1mP5b6jQWhi" role="3clF45" />
<node concept="3clFbS" id="1mP5b6jQWhj" role="3clF47">
<node concept="3clFbF" id="1mP5b6jQXtl" role="3cqZAp">
<node concept="1rXfSq" id="1mP5b6jQXtj" role="3clFbG">
<ref role="37wK5l" to="w2rx:~Logical.getValue():java.lang.Object" resolve="getValue" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="1mP5b6jQZi$" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="1mP5b6jQX$l" role="jymVt" />
<node concept="3clFb_" id="1mP5b6jQWhk" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="isBound" />
<node concept="10P_77" id="1mP5b6jQWhl" role="3clF45" />
<node concept="3Tm1VV" id="1mP5b6jQWhm" role="1B3o_S" />
<node concept="3clFbS" id="1mP5b6jQWhr" role="3clF47">
<node concept="3clFbF" id="1mP5b6jQYKc" role="3cqZAp">
<node concept="1rXfSq" id="1mP5b6jQYKb" role="3clFbG">
<ref role="37wK5l" to="w2rx:~Logical.isNonVar():boolean" resolve="isNonVar" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="1mP5b6jQZOV" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="1mP5b6jQY9f" role="jymVt" />
<node concept="3clFb_" id="1H8E3iBdJX9" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="equals" />
@ -4364,6 +4471,10 @@
</node>
</node>
</node>
<node concept="3uibUv" id="1mP5b6jQTY7" role="EKbjA">
<ref role="3uigEE" to="yg8f:1mP5b6jQP$C" resolve="ILogical" />
<node concept="17QB3L" id="1mP5b6jQUWt" role="11_B2D" />
</node>
</node>
</model>

View File

@ -21,6 +21,7 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="1153417849900" name="jetbrains.mps.baseLanguage.structure.GreaterThanOrEqualsExpression" flags="nn" index="2d3UOw" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1173175405605" name="jetbrains.mps.baseLanguage.structure.ArrayAccessExpression" flags="nn" index="AH0OO">
@ -33,6 +34,9 @@
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</concept>
<concept id="1224848483129" name="jetbrains.mps.baseLanguage.structure.IBLDeprecatable" flags="ng" index="IEa8$">
<property id="1224848525476" name="isDeprecated" index="IEkAT" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
@ -45,21 +49,25 @@
</concept>
<concept id="1070462154015" name="jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" flags="ig" index="Wx3nA" />
<concept id="1070475354124" name="jetbrains.mps.baseLanguage.structure.ThisExpression" flags="nn" index="Xjq3P" />
<concept id="1070475587102" name="jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" flags="nn" index="XkiVB" />
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1182160077978" name="jetbrains.mps.baseLanguage.structure.AnonymousClassCreator" flags="nn" index="YeOm9">
<child id="1182160096073" name="cls" index="YeSDq" />
</concept>
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1164991038168" name="jetbrains.mps.baseLanguage.structure.ThrowStatement" flags="nn" index="YS8fn">
<child id="1164991057263" name="throwable" index="YScLw" />
</concept>
<concept id="1070534058343" name="jetbrains.mps.baseLanguage.structure.NullLiteral" flags="nn" index="10Nm6u" />
<concept id="1070534370425" name="jetbrains.mps.baseLanguage.structure.IntegerType" flags="in" index="10Oyi0" />
<concept id="1070534644030" name="jetbrains.mps.baseLanguage.structure.BooleanType" flags="in" index="10P_77" />
<concept id="1068390468200" name="jetbrains.mps.baseLanguage.structure.FieldDeclaration" flags="ig" index="312cEg" />
<concept id="1068390468198" name="jetbrains.mps.baseLanguage.structure.ClassConcept" flags="ig" index="312cEu">
<property id="1075300953594" name="abstractClass" index="1sVAO0" />
<child id="1095933932569" name="implementedInterface" index="EKbjA" />
<child id="1165602531693" name="superclass" index="1zkMxy" />
</concept>
<concept id="1068431474542" name="jetbrains.mps.baseLanguage.structure.VariableDeclaration" flags="ng" index="33uBYm">
<property id="1176718929932" name="isFinal" index="3TUv4t" />
@ -75,6 +83,8 @@
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
@ -82,6 +92,7 @@
<concept id="1068580123165" name="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" flags="ig" index="3clFb_">
<property id="1178608670077" name="isAbstract" index="1EzhhJ" />
</concept>
<concept id="1068580123152" name="jetbrains.mps.baseLanguage.structure.EqualsExpression" flags="nn" index="3clFbC" />
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
@ -96,7 +107,12 @@
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
</concept>
<concept id="1068581517677" name="jetbrains.mps.baseLanguage.structure.VoidType" flags="in" index="3cqZAl" />
<concept id="1081506773034" name="jetbrains.mps.baseLanguage.structure.LessThanExpression" flags="nn" index="3eOVzh" />
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
@ -107,6 +123,7 @@
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1171903607971" name="jetbrains.mps.baseLanguage.structure.WildCardType" flags="in" index="3qTvmN" />
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
@ -504,5 +521,267 @@
<node concept="17QB3L" id="5$WbtTOYtZv" role="1tU5fm" />
</node>
</node>
<node concept="312cEu" id="7E86$tKu5$t">
<property role="TrG5h" value="IndexedVar" />
<node concept="2tJIrI" id="7E86$tKujIh" role="jymVt" />
<node concept="2YIFZL" id="5k_shARN93B" role="jymVt">
<property role="TrG5h" value="withName" />
<node concept="37vLTG" id="5k_shARN99m" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="5k_shARN9ao" role="1tU5fm" />
</node>
<node concept="3uibUv" id="7E86$tKul$6" role="3clF45">
<ref role="3uigEE" node="7E86$tKu5$t" resolve="IndexedVar" />
</node>
<node concept="3Tm1VV" id="5k_shARN93E" role="1B3o_S" />
<node concept="3clFbS" id="5k_shARN93F" role="3clF47">
<node concept="3clFbJ" id="5k_shARO2Lw" role="3cqZAp">
<node concept="3clFbS" id="5k_shARO2Lx" role="3clFbx">
<node concept="YS8fn" id="5k_shARO2Xr" role="3cqZAp">
<node concept="2ShNRf" id="5k_shARO2ZW" role="YScLw">
<node concept="1pGfFk" id="5k_shAROcb3" role="2ShVmc">
<ref role="37wK5l" to="e2lb:~NullPointerException.&lt;init&gt;()" resolve="NullPointerException" />
</node>
</node>
</node>
</node>
<node concept="3clFbC" id="5k_shARO2Vo" role="3clFbw">
<node concept="10Nm6u" id="5k_shARO2VU" role="3uHU7w" />
<node concept="37vLTw" id="5k_shARO2MJ" role="3uHU7B">
<ref role="3cqZAo" node="5k_shARN99m" resolve="name" />
</node>
</node>
</node>
<node concept="3cpWs6" id="5k_shAROch4" role="3cqZAp">
<node concept="2ShNRf" id="5k_shAROcjf" role="3cqZAk">
<node concept="1pGfFk" id="5k_shAROcje" role="2ShVmc">
<ref role="37wK5l" node="5k_shARNZ68" resolve="IndexedVar" />
<node concept="37vLTw" id="5k_shAROclP" role="37wK5m">
<ref role="3cqZAo" node="5k_shARN99m" resolve="name" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5k_shARNY8w" role="jymVt" />
<node concept="2YIFZL" id="5k_shARNYdh" role="jymVt">
<property role="TrG5h" value="withNameAndIndex" />
<node concept="37vLTG" id="5k_shARNYf$" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="5k_shARNYgy" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5k_shARNYtF" role="3clF46">
<property role="TrG5h" value="idx" />
<node concept="10Oyi0" id="5k_shARNYuJ" role="1tU5fm" />
</node>
<node concept="3uibUv" id="7E86$tKulDN" role="3clF45">
<ref role="3uigEE" node="7E86$tKu5$t" resolve="IndexedVar" />
</node>
<node concept="3Tm1VV" id="5k_shARNYdk" role="1B3o_S" />
<node concept="3clFbS" id="5k_shARNYdl" role="3clF47">
<node concept="3clFbJ" id="5k_shAROdjJ" role="3cqZAp">
<node concept="3clFbS" id="5k_shAROdjK" role="3clFbx">
<node concept="YS8fn" id="5k_shAROdww" role="3cqZAp">
<node concept="2ShNRf" id="5k_shAROdxH" role="YScLw">
<node concept="1pGfFk" id="5k_shAROdLN" role="2ShVmc">
<ref role="37wK5l" to="e2lb:~NullPointerException.&lt;init&gt;()" resolve="NullPointerException" />
</node>
</node>
</node>
</node>
<node concept="3clFbC" id="5k_shAROdsL" role="3clFbw">
<node concept="10Nm6u" id="5k_shAROdtj" role="3uHU7w" />
<node concept="37vLTw" id="5k_shAROdk8" role="3uHU7B">
<ref role="3cqZAo" node="5k_shARNYf$" resolve="name" />
</node>
</node>
</node>
<node concept="3clFbJ" id="5k_shAROe6H" role="3cqZAp">
<node concept="3clFbS" id="5k_shAROe6K" role="3clFbx">
<node concept="YS8fn" id="5k_shAROeGr" role="3cqZAp">
<node concept="2ShNRf" id="5k_shAROeHC" role="YScLw">
<node concept="1pGfFk" id="5k_shAROeZ2" role="2ShVmc">
<ref role="37wK5l" to="e2lb:~IllegalArgumentException.&lt;init&gt;()" resolve="IllegalArgumentException" />
</node>
</node>
</node>
</node>
<node concept="3eOVzh" id="5k_shAROeAI" role="3clFbw">
<node concept="37vLTw" id="5k_shAROeAL" role="3uHU7B">
<ref role="3cqZAo" node="5k_shARNYtF" resolve="idx" />
</node>
<node concept="3cmrfG" id="5k_shAROeAK" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
</node>
</node>
<node concept="3cpWs6" id="5k_shAROffB" role="3cqZAp">
<node concept="2ShNRf" id="5k_shAROfkg" role="3cqZAk">
<node concept="1pGfFk" id="5k_shAROfjp" role="2ShVmc">
<ref role="37wK5l" node="5k_shARNZar" resolve="IndexedVar" />
<node concept="37vLTw" id="5k_shAROfoP" role="37wK5m">
<ref role="3cqZAo" node="5k_shARNYf$" resolve="name" />
</node>
<node concept="37vLTw" id="5k_shAROfvZ" role="37wK5m">
<ref role="3cqZAo" node="5k_shARNYtF" resolve="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5k_shARNZ4q" role="jymVt" />
<node concept="3clFbW" id="5k_shARNZ68" role="jymVt">
<node concept="37vLTG" id="5k_shARNZ7A" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="5k_shARNZ7I" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="5k_shARNZ6a" role="3clF45" />
<node concept="3Tm1VV" id="5k_shARNZ6b" role="1B3o_S" />
<node concept="3clFbS" id="5k_shARNZ6c" role="3clF47">
<node concept="XkiVB" id="104EUzFJTsl" role="3cqZAp">
<ref role="37wK5l" to="ie8e:uNmovXiEVu" resolve="Variable" />
<node concept="37vLTw" id="104EUzFJU4w" role="37wK5m">
<ref role="3cqZAo" node="5k_shARNZ7A" resolve="name" />
</node>
</node>
<node concept="3clFbF" id="5k_shAROgOv" role="3cqZAp">
<node concept="37vLTI" id="5k_shAROh_S" role="3clFbG">
<node concept="3cmrfG" id="5k_shAROhCn" role="37vLTx">
<property role="3cmrfH" value="-1" />
</node>
<node concept="2OqwBi" id="5k_shAROhj0" role="37vLTJ">
<node concept="Xjq3P" id="5k_shAROgOt" role="2Oq$k0" />
<node concept="2OwXpG" id="5k_shAROhl4" role="2OqNvi">
<ref role="2Oxat5" node="5k_shARO0vR" resolve="idx" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="5k_shARNZcd" role="jymVt" />
<node concept="3clFbW" id="5k_shARNZar" role="jymVt">
<node concept="37vLTG" id="5k_shARNZas" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="5k_shARNZat" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5k_shARNZd$" role="3clF46">
<property role="TrG5h" value="idx" />
<node concept="10Oyi0" id="5k_shARNZeJ" role="1tU5fm" />
</node>
<node concept="3cqZAl" id="5k_shARNZau" role="3clF45" />
<node concept="3Tm1VV" id="5k_shARNZav" role="1B3o_S" />
<node concept="3clFbS" id="5k_shARNZaw" role="3clF47">
<node concept="XkiVB" id="104EUzFJVh8" role="3cqZAp">
<ref role="37wK5l" to="ie8e:uNmovXiEVu" resolve="Variable" />
<node concept="37vLTw" id="104EUzFJVRA" role="37wK5m">
<ref role="3cqZAo" node="5k_shARNZas" resolve="name" />
</node>
</node>
<node concept="3clFbF" id="5k_shARO0vV" role="3cqZAp">
<node concept="37vLTI" id="5k_shARO0vX" role="3clFbG">
<node concept="2OqwBi" id="5k_shARO0w1" role="37vLTJ">
<node concept="Xjq3P" id="5k_shARO0w4" role="2Oq$k0" />
<node concept="2OwXpG" id="5k_shARO0w0" role="2OqNvi">
<ref role="2Oxat5" node="5k_shARO0vR" resolve="idx" />
</node>
</node>
<node concept="37vLTw" id="5k_shARO0w5" role="37vLTx">
<ref role="3cqZAo" node="5k_shARNZd$" resolve="idx" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6w6CYIReErb" role="jymVt" />
<node concept="3clFb_" id="6w6CYIReEWt" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="name" />
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<node concept="3Tm1VV" id="6w6CYIReEWu" role="1B3o_S" />
<node concept="17QB3L" id="2pvEdqukxHS" role="3clF45" />
<node concept="3clFbS" id="6w6CYIReEWx" role="3clF47">
<node concept="3clFbF" id="7d9KVSzUTiQ" role="3cqZAp">
<node concept="1rXfSq" id="7d9KVSzUTiP" role="3clFbG">
<ref role="37wK5l" node="7d9KVSzUO6L" resolve="nameWithIndex" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6w6CYIReT2K" role="jymVt" />
<node concept="3clFb_" id="5k_shARO1gZ" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="toString" />
<property role="DiZV1" value="false" />
<property role="IEkAT" value="false" />
<node concept="3Tm1VV" id="5k_shARO1h0" role="1B3o_S" />
<node concept="17QB3L" id="2pvEdqukxHT" role="3clF45" />
<node concept="3clFbS" id="5k_shARO1h3" role="3clF47">
<node concept="3cpWs6" id="7d9KVSzUO6P" role="3cqZAp">
<node concept="1rXfSq" id="7d9KVSzUO6O" role="3cqZAk">
<ref role="37wK5l" node="7d9KVSzUO6L" resolve="nameWithIndex" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="5k_shARO1h4" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="7d9KVSzUPIj" role="jymVt" />
<node concept="3clFb_" id="7d9KVSzUO6L" role="jymVt">
<property role="TrG5h" value="nameWithIndex" />
<node concept="3Tm6S6" id="7d9KVSzUO6M" role="1B3o_S" />
<node concept="17QB3L" id="7d9KVSzUO6N" role="3clF45" />
<node concept="3clFbS" id="7d9KVSzUO6x" role="3clF47">
<node concept="3clFbJ" id="7d9KVSzUO6y" role="3cqZAp">
<node concept="3clFbS" id="7d9KVSzUO6z" role="3clFbx">
<node concept="3cpWs6" id="7d9KVSzUO6$" role="3cqZAp">
<node concept="3cpWs3" id="7d9KVSzUO6_" role="3cqZAk">
<node concept="37vLTw" id="7d9KVSzUO6A" role="3uHU7w">
<ref role="3cqZAo" node="5k_shARO0vR" resolve="idx" />
</node>
<node concept="3cpWs3" id="7d9KVSzUO6B" role="3uHU7B">
<node concept="37vLTw" id="7d9KVSzUO6C" role="3uHU7B">
<ref role="3cqZAo" to="ie8e:uNmovXiF5Z" resolve="name" />
</node>
<node concept="Xl_RD" id="7d9KVSzUO6D" role="3uHU7w">
<property role="Xl_RC" value="_" />
</node>
</node>
</node>
</node>
</node>
<node concept="2d3UOw" id="7d9KVSzUO6E" role="3clFbw">
<node concept="3cmrfG" id="7d9KVSzUO6F" role="3uHU7w">
<property role="3cmrfH" value="0" />
</node>
<node concept="37vLTw" id="7d9KVSzUO6G" role="3uHU7B">
<ref role="3cqZAo" node="5k_shARO0vR" resolve="idx" />
</node>
</node>
</node>
<node concept="3cpWs6" id="7d9KVSzUO6H" role="3cqZAp">
<node concept="37vLTw" id="7d9KVSzUO6I" role="3cqZAk">
<ref role="3cqZAo" to="ie8e:uNmovXiF5Z" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="104EUzFJWVQ" role="jymVt" />
<node concept="312cEg" id="5k_shARO0vR" role="jymVt">
<property role="TrG5h" value="idx" />
<property role="3TUv4t" value="true" />
<node concept="3Tm6S6" id="5k_shARO0vS" role="1B3o_S" />
<node concept="10Oyi0" id="5k_shARO0vU" role="1tU5fm" />
</node>
<node concept="2tJIrI" id="7E86$tKujIj" role="jymVt" />
<node concept="3Tm1VV" id="7E86$tKu5$u" role="1B3o_S" />
<node concept="3uibUv" id="7E86$tKu5YS" role="1zkMxy">
<ref role="3uigEE" to="ie8e:uNmovXiEd4" resolve="Variable" />
</node>
</node>
</model>

View File

@ -22,11 +22,21 @@
<usedLanguage>f61473f9-130f-42f6-b98d-6c438812c2f6(jetbrains.mps.baseLanguage.unitTest)</usedLanguage>
<usedLanguage>35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)</usedLanguage>
</usedLanguages>
<usedDevKits>
<usedDevKit>fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)</usedDevKit>
</usedDevKits>
<languageVersions>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" fqName="jetbrains.mps.baseLanguage" version="1" />
<language id="ed6d7656-532c-4bc2-81d1-af945aeb8280" fqName="jetbrains.mps.baseLanguage.blTypes" version="0" />
<language id="fd392034-7849-419d-9071-12563d152375" fqName="jetbrains.mps.baseLanguage.closures" version="0" />
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" fqName="jetbrains.mps.baseLanguage.collections" version="0" />
<language id="f2801650-65d5-424e-bb1b-463a8781b786" fqName="jetbrains.mps.baseLanguage.javadoc" version="1" />
<language id="760a0a8c-eabb-4521-8bfd-65db761a9ba3" fqName="jetbrains.mps.baseLanguage.logging" version="0" />
<language id="a247e09e-2435-45ba-b8d2-07e93feba96a" fqName="jetbrains.mps.baseLanguage.tuples" version="0" />
<language id="f61473f9-130f-42f6-b98d-6c438812c2f6" fqName="jetbrains.mps.baseLanguage.unitTest" version="0" />
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" fqName="jetbrains.mps.lang.core" version="1" />
<language id="3a13115c-633c-4c5c-bbcc-75c4219e9555" fqName="jetbrains.mps.lang.quotation" version="0" />
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" fqName="jetbrains.mps.lang.smodel" version="0" />
<language id="9ded098b-ad6a-4657-bfd9-48636cfe8bc3" fqName="jetbrains.mps.lang.traceable" version="0" />
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" fqName="jetbrains.mps.logic" version="0" />
</languageVersions>

File diff suppressed because it is too large Load Diff

View File

@ -3401,7 +3401,7 @@
<property role="TrG5h" value="children" />
<node concept="10Q1$e" id="4sVJFklM5Pv" role="1tU5fm">
<node concept="3uibUv" id="4sVJFklM5Pw" role="10Q1$1">
<ref role="3uigEE" to="ie8e:1msb0mq9ID4" resolve="Branch" />
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qTvmN" id="4sVJFklM5Px" role="11_B2D" />
</node>
</node>