Refactoring in typesystem2: merge let value and the logical variables declared as exported into single Context type.

Updated the runtime and the generator to support extending prototype's context.
Some minor fixes in the language.
This commit is contained in:
Fedor Isakov 2015-09-23 17:13:15 +02:00
parent 4d2b955721
commit 8af807b78f
8 changed files with 3668 additions and 2238 deletions

View File

@ -3,6 +3,7 @@
<persistence version="9" />
<languages>
<use id="af65afd8-f0dd-4942-87d9-63a55f2a9db1" name="jetbrains.mps.lang.behavior" version="-1" />
<use id="774bf8a0-62e5-41e1-af63-f4812e60e48b" name="jetbrains.mps.baseLanguage.checkedDots" version="0" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports>
@ -35,12 +36,19 @@
<concept id="1225194691553" name="jetbrains.mps.lang.behavior.structure.ThisNodeExpression" flags="nn" index="13iPFW" />
</language>
<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="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<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>
@ -60,6 +68,7 @@
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<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" />
@ -72,6 +81,10 @@
<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" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
@ -128,6 +141,7 @@
<reference id="1154546997487" name="concept" index="3gnhBz" />
</concept>
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1172008320231" name="jetbrains.mps.lang.smodel.structure.Node_IsNotNullOperation" flags="nn" index="3x8VRR" />
<concept id="5944356402132808749" name="jetbrains.mps.lang.smodel.structure.ConceptSwitchStatement" flags="nn" index="1_3QMa">
<child id="5944356402132808753" name="case" index="1_3QMm" />
<child id="5944356402132808752" name="expression" index="1_3QMn" />
@ -172,6 +186,10 @@
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1235573135402" name="jetbrains.mps.baseLanguage.collections.structure.SingletonSequenceCreator" flags="nn" index="2HTt$P">
<child id="1235573175711" name="elementType" index="2HTBi0" />
<child id="1235573187520" name="singletonValue" index="2HTEbv" />
</concept>
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1201792049884" name="jetbrains.mps.baseLanguage.collections.structure.TranslateOperation" flags="nn" index="3goQfb" />
<concept id="1180964022718" name="jetbrains.mps.baseLanguage.collections.structure.ConcatOperation" flags="nn" index="3QWeyG" />
@ -543,6 +561,118 @@
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674fOK7" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="false" />
<property role="TrG5h" value="availableLogicalVariable" />
<ref role="13i0hy" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
<node concept="3Tm1VV" id="6YKq674fOK8" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674fOKe" role="3clF47">
<node concept="3clFbF" id="5nh5pPE0Ahs" role="3cqZAp">
<node concept="2OqwBi" id="5nh5pPE0Aka" role="3clFbG">
<node concept="13iPFW" id="5nh5pPE0Ahr" role="2Oq$k0" />
<node concept="2qgKlT" id="5nh5pPE0AD1" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="6YKq674fOKf" role="3clF45">
<node concept="3Tqbb2" id="6YKq674fOKg" role="A3Ik2">
<ref role="ehGHo" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674xSjI" role="13h7CS">
<property role="TrG5h" value="localContextNames" />
<property role="13i0it" value="true" />
<node concept="3Tm1VV" id="6YKq674xSjJ" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674xSjK" role="3clF47">
<node concept="3cpWs8" id="6YKq674Dv1$" role="3cqZAp">
<node concept="3cpWsn" id="6YKq674Dv1_" role="3cpWs9">
<property role="TrG5h" value="letSingle" />
<node concept="A3Dl8" id="6YKq674Dv1r" role="1tU5fm">
<node concept="3Tqbb2" id="6YKq674Dv1u" role="A3Ik2">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
<node concept="10Nm6u" id="6YKq674Dvrx" role="33vP2m" />
</node>
</node>
<node concept="3clFbJ" id="6YKq674Dv$v" role="3cqZAp">
<node concept="3clFbS" id="6YKq674Dv$x" role="3clFbx">
<node concept="3clFbF" id="6YKq674DvjU" role="3cqZAp">
<node concept="37vLTI" id="6YKq674DvjW" role="3clFbG">
<node concept="2ShNRf" id="6YKq674Dv1A" role="37vLTx">
<node concept="2HTt$P" id="6YKq674Dv1B" role="2ShVmc">
<node concept="3Tqbb2" id="6YKq674Dv1C" role="2HTBi0">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="2OqwBi" id="6YKq674Dv1D" role="2HTEbv">
<node concept="2OqwBi" id="6YKq674Dv1E" role="2Oq$k0">
<node concept="13iPFW" id="6YKq674Dv1F" role="2Oq$k0" />
<node concept="3TrEf2" id="6YKq674Dv1G" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCHGnY" />
</node>
</node>
<node concept="3TrEf2" id="6YKq674Dv1H" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5MHpiylFI5Z" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="6YKq674Dvk0" role="37vLTJ">
<ref role="3cqZAo" node="6YKq674Dv1_" resolve="letSingle" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="6YKq674DvXU" role="3clFbw">
<node concept="2OqwBi" id="6YKq674DvDj" role="2Oq$k0">
<node concept="2OqwBi" id="6YKq674DvDk" role="2Oq$k0">
<node concept="13iPFW" id="6YKq674DvDl" role="2Oq$k0" />
<node concept="3TrEf2" id="6YKq674DvDm" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCHGnY" />
</node>
</node>
<node concept="3TrEf2" id="6YKq674DvDn" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:5MHpiylFI5Z" />
</node>
</node>
<node concept="3x8VRR" id="6YKq674DwoC" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="6YKq674xWeH" role="3cqZAp">
<node concept="2OqwBi" id="6YKq674xWeI" role="3clFbG">
<node concept="37vLTw" id="6YKq674Dv1I" role="2Oq$k0">
<ref role="3cqZAo" node="6YKq674Dv1_" resolve="letSingle" />
</node>
<node concept="3QWeyG" id="6YKq674xWeR" role="2OqNvi">
<node concept="BsUDl" id="6YKq674xWiM" role="576Qk">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="6YKq674xSRs" role="3clF45">
<node concept="3Tqbb2" id="6YKq674xSRx" role="A3Ik2">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674xm7G" role="13h7CS">
<property role="TrG5h" value="availableContextNames" />
<property role="13i0it" value="true" />
<property role="13i0iv" value="true" />
<node concept="3Tm1VV" id="6YKq674xm7H" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674xm7I" role="3clF47" />
<node concept="A3Dl8" id="6YKq674xmjI" role="3clF45">
<node concept="3Tqbb2" id="6YKq674xmjN" role="A3Ik2">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
</node>
<node concept="13i0hz" id="75vUFrSKg9q" role="13h7CS">
<property role="TrG5h" value="allComponents" />
<node concept="3Tm1VV" id="75vUFrSKg9r" role="1B3o_S" />
@ -629,47 +759,10 @@
<node concept="3Tm1VV" id="3PWU9gi_qhh" role="1B3o_S" />
<node concept="3clFbS" id="3PWU9gi_qhM" role="3clF47">
<node concept="3clFbF" id="3PWU9gi_qhS" role="3cqZAp">
<node concept="2OqwBi" id="3PWU9gi_qro" role="3clFbG">
<node concept="2OqwBi" id="3PWU9gi_qhP" role="2Oq$k0">
<node concept="13iAh5" id="3PWU9gi_qhQ" role="2Oq$k0" />
<node concept="2qgKlT" id="3PWU9gi_qhR" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
<node concept="3QWeyG" id="3PWU9gi_qKp" role="2OqNvi">
<node concept="2OqwBi" id="3PWU9gi_s7q" role="576Qk">
<node concept="2OqwBi" id="3PWU9gi_qRn" role="2Oq$k0">
<node concept="13iPFW" id="3PWU9gi_qMT" role="2Oq$k0" />
<node concept="3Tsc0h" id="3PWU9gi_rkL" role="2OqNvi">
<ref role="3TtcxE" to="wq2x:6wQEDbCLoaZ" />
</node>
</node>
<node concept="3goQfb" id="3PWU9gi_uoW" role="2OqNvi">
<node concept="1bVj0M" id="3PWU9gi_uoY" role="23t8la">
<node concept="3clFbS" id="3PWU9gi_uoZ" role="1bW5cS">
<node concept="3clFbF" id="3PWU9gi_uyT" role="3cqZAp">
<node concept="2OqwBi" id="3PWU9gi_uYc" role="3clFbG">
<node concept="2OqwBi" id="3PWU9gi_uBu" role="2Oq$k0">
<node concept="37vLTw" id="3PWU9gi_uyS" role="2Oq$k0">
<ref role="3cqZAo" node="3PWU9gi_up0" resolve="inc" />
</node>
<node concept="3TrEf2" id="3PWU9gi_uLR" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCL4Fj" />
</node>
</node>
<node concept="2qgKlT" id="3PWU9gi_vfw" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="3PWU9gi_up0" role="1bW2Oz">
<property role="TrG5h" value="inc" />
<node concept="2jxLKc" id="3PWU9gi_up1" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="3PWU9gi_qhP" role="3clFbG">
<node concept="13iAh5" id="3PWU9gi_qhQ" role="2Oq$k0" />
<node concept="2qgKlT" id="3PWU9gi_qhR" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
</node>
@ -680,6 +773,90 @@
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674fPzF" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="false" />
<property role="TrG5h" value="availableLogicalVariable" />
<ref role="13i0hy" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
<node concept="3Tm1VV" id="6YKq674fPzG" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674fPzO" role="3clF47">
<node concept="3clFbF" id="5nh5pPE0PC6" role="3cqZAp">
<node concept="2OqwBi" id="6YKq6749jmu" role="3clFbG">
<node concept="2OqwBi" id="5nh5pPE0Ume" role="2Oq$k0">
<node concept="2OqwBi" id="5nh5pPE0QND" role="2Oq$k0">
<node concept="2OqwBi" id="5nh5pPE0PGe" role="2Oq$k0">
<node concept="13iPFW" id="5nh5pPE0PC4" role="2Oq$k0" />
<node concept="3TrEf2" id="5nh5pPE1fOL" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCLoaZ" />
</node>
</node>
<node concept="3TrEf2" id="5nh5pPE1g6e" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCL4Fj" />
</node>
</node>
<node concept="2qgKlT" id="5nh5pPE1gjN" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
<node concept="3QWeyG" id="6YKq6749jH9" role="2OqNvi">
<node concept="2OqwBi" id="6YKq6749jRu" role="576Qk">
<node concept="13iPFW" id="6YKq6749jRv" role="2Oq$k0" />
<node concept="2qgKlT" id="6YKq6749jRw" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="6YKq674fPzP" role="3clF45">
<node concept="3Tqbb2" id="6YKq674fPzQ" role="A3Ik2">
<ref role="ehGHo" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674xWFw" role="13h7CS">
<property role="TrG5h" value="availableContextNames" />
<property role="13i0it" value="false" />
<property role="13i0iv" value="false" />
<ref role="13i0hy" node="6YKq674xm7G" resolve="availableContextNames" />
<node concept="3Tm1VV" id="6YKq674xWFx" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674xWFL" role="3clF47">
<node concept="3clFbF" id="6YKq674xWPb" role="3cqZAp">
<node concept="2OqwBi" id="6YKq674xYze" role="3clFbG">
<node concept="2OqwBi" id="6YKq674xXXf" role="2Oq$k0">
<node concept="2OqwBi" id="6YKq674xX$Z" role="2Oq$k0">
<node concept="2OqwBi" id="6YKq674xWSB" role="2Oq$k0">
<node concept="13iPFW" id="6YKq674xWP9" role="2Oq$k0" />
<node concept="3TrEf2" id="6YKq674xXk9" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCLoaZ" />
</node>
</node>
<node concept="3TrEf2" id="6YKq674xXNq" role="2OqNvi">
<ref role="3Tt5mk" to="wq2x:6wQEDbCL4Fj" />
</node>
</node>
<node concept="2qgKlT" id="6YKq674xYoD" role="2OqNvi">
<ref role="37wK5l" node="6YKq674xm7G" resolve="availableContextNames" />
</node>
</node>
<node concept="3QWeyG" id="6YKq674xYSc" role="2OqNvi">
<node concept="2OqwBi" id="6YKq674xZSr" role="576Qk">
<node concept="13iPFW" id="6YKq674xZNR" role="2Oq$k0" />
<node concept="2qgKlT" id="6YKq674y0kF" role="2OqNvi">
<ref role="37wK5l" node="6YKq674xSjI" resolve="localContextNames" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="A3Dl8" id="6YKq674xWFM" role="3clF45">
<node concept="3Tqbb2" id="6YKq674xWFN" role="A3Ik2">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
</node>
</node>
<node concept="13h7C7" id="75vUFrSKpqp">
<property role="3GE5qa" value="rule.component" />
@ -745,5 +922,31 @@
<node concept="3clFbS" id="75vUFrSKpqr" role="2VODD2" />
</node>
</node>
<node concept="13h7C7" id="6YKq674y1_h">
<property role="3GE5qa" value="rule" />
<ref role="13h7C2" to="wq2x:6wQEDbCHt15" resolve="Fragment" />
<node concept="13hLZK" id="6YKq674y1_i" role="13h7CW">
<node concept="3clFbS" id="6YKq674y1_j" role="2VODD2" />
</node>
<node concept="13i0hz" id="6YKq674y1PR" role="13h7CS">
<property role="TrG5h" value="availableContextNames" />
<property role="13i0it" value="false" />
<property role="13i0iv" value="false" />
<ref role="13i0hy" node="6YKq674xm7G" resolve="availableContextNames" />
<node concept="3Tm1VV" id="6YKq674y1PS" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674y1PW" role="3clF47">
<node concept="3clFbF" id="6YKq674y1YP" role="3cqZAp">
<node concept="BsUDl" id="6YKq674y1YO" role="3clFbG">
<ref role="37wK5l" node="6YKq674xSjI" resolve="localContextNames" />
</node>
</node>
</node>
<node concept="A3Dl8" id="6YKq674y1PX" role="3clF45">
<node concept="3Tqbb2" id="6YKq674y1PY" role="A3Ik2">
<ref role="ehGHo" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
</node>
</node>
</model>

View File

@ -229,14 +229,14 @@
<node concept="3cpWsn" id="5MHpiylEu47" role="3cpWs9">
<property role="TrG5h" value="rule" />
<node concept="3Tqbb2" id="5MHpiylEu48" role="1tU5fm">
<ref role="ehGHo" to="wq2x:7eGEHDlgPU4" resolve="Rule" />
<ref role="ehGHo" to="wq2x:4EfgX2ET3GH" resolve="AbstractRule" />
</node>
<node concept="2OqwBi" id="5MHpiylEu49" role="33vP2m">
<node concept="2rP1CM" id="5MHpiylEu4a" role="2Oq$k0" />
<node concept="2Xjw5R" id="5MHpiylEu4b" role="2OqNvi">
<node concept="1xMEDy" id="5MHpiylEu4c" role="1xVPHs">
<node concept="chp4Y" id="5MHpiylEu4d" role="ri$Ld">
<ref role="cht4Q" to="wq2x:7eGEHDlgPU4" resolve="Rule" />
<node concept="chp4Y" id="5nh5pPDwZW6" role="ri$Ld">
<ref role="cht4Q" to="wq2x:4EfgX2ET3GH" resolve="AbstractRule" />
</node>
</node>
<node concept="1xIGOp" id="5MHpiylEu4e" role="1xVPHs" />

View File

@ -2448,17 +2448,6 @@
</node>
</node>
</node>
<node concept="3F0ifn" id="6wQEDbCL4Gf" role="3EZMnx">
<property role="3F0ifm" value="(" />
<ref role="1k5W1q" to="tpen:hY9fg1G" resolve="LeftParenAfterName" />
</node>
<node concept="3F1sOY" id="6wQEDbCL4GT" role="3EZMnx">
<ref role="1NtTu8" to="wq2x:6wQEDbCL4Fp" />
</node>
<node concept="3F0ifn" id="6wQEDbCL4GD" role="3EZMnx">
<property role="3F0ifm" value=")" />
<ref role="1k5W1q" to="tpen:hFCSUmN" resolve="RightParen" />
</node>
<node concept="l2Vlx" id="6wQEDbCL4FA" role="2iSdaV" />
</node>
</node>

View File

@ -152,7 +152,7 @@
</node>
<node concept="1TJgyj" id="6wQEDbCLoaZ" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20lbJX" value="0..n" />
<property role="20lbJX" value="0..1" />
<property role="20kJfa" value="includeClause" />
<ref role="20lvS9" node="6wQEDbCL4Fi" resolve="IncludeFragmentClause" />
</node>
@ -562,7 +562,7 @@
<node concept="1TJgyj" id="1ffsG7bCfL5" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="head" />
<property role="20lbJX" value="1..n" />
<property role="20lbJX" value="0..n" />
<ref role="20lvS9" node="6p0DfM0a3gA" resolve="Head" />
</node>
<node concept="1TJgyj" id="1ffsG7bFM2v" role="1TKVEi">
@ -574,7 +574,7 @@
<node concept="1TJgyj" id="1ffsG7bIxDv" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="body" />
<property role="20lbJX" value="1..n" />
<property role="20lbJX" value="0..n" />
<ref role="20lvS9" node="6p0DfM0a3TO" resolve="Body" />
</node>
<node concept="PrWs8" id="3NRKQ2BIeUB" role="PzmwI">
@ -720,12 +720,6 @@
<property role="TrG5h" value="IncludeFragmentClause" />
<property role="34LRSv" value="include" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="6wQEDbCL4Fp" role="1TKVEi">
<property role="20lmBu" value="aggregation" />
<property role="20lbJX" value="1" />
<property role="20kJfa" value="argument" />
<ref role="20lvS9" to="tpee:fz3vP1J" resolve="Expression" />
</node>
<node concept="1TJgyj" id="6wQEDbCL4Fj" role="1TKVEi">
<property role="20lmBu" value="reference" />
<property role="20kJfa" value="fragment" />

View File

@ -356,13 +356,13 @@
</node>
<node concept="2tJIrI" id="3x8pcoFtf2t" role="jymVt" />
<node concept="3clFb_" id="1ffsG7bXs66" role="jymVt">
<property role="TrG5h" value="letValue" />
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="1ffsG7bXs67" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="1ffsG7bXs68" role="1tU5fm" />
</node>
<node concept="16syzq" id="1ffsG7bXs69" role="3clF45">
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Context" />
</node>
<node concept="3Tm1VV" id="1ffsG7bXs6a" role="1B3o_S" />
<node concept="3clFbS" id="1ffsG7bXs6b" role="3clF47">
@ -408,9 +408,9 @@
</node>
</node>
<node concept="37vLTG" id="1ffsG7cgVrL" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7cgVrM" role="1tU5fm">
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Context" />
</node>
</node>
<node concept="3uibUv" id="1ffsG7cgQ0y" role="3clF45">
@ -458,24 +458,18 @@
<node concept="3uibUv" id="4OKkcnfu_vE" role="1zkMxy">
<ref role="3uigEE" node="1ffsG7bX1MS" resolve="BaseIteratingRuleTemplate" />
<node concept="16syzq" id="4OKkcnfu_vF" role="11_B2D">
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_vG" resolve="Context" />
</node>
<node concept="16syzq" id="1ffsG7bXqav" role="11_B2D">
<ref role="16sUi3" node="4OKkcnfu_vH" resolve="Iter" />
</node>
<node concept="16syzq" id="PB1R3YelJy" role="11_B2D">
<ref role="16sUi3" node="PB1R3YekIA" resolve="Logical" />
</node>
</node>
<node concept="16euLQ" id="4OKkcnfu_vG" role="16eVyc">
<property role="TrG5h" value="Let" />
<property role="TrG5h" value="Context" />
</node>
<node concept="16euLQ" id="4OKkcnfu_vH" role="16eVyc">
<property role="TrG5h" value="Iter" />
</node>
<node concept="16euLQ" id="PB1R3YekIA" role="16eVyc">
<property role="TrG5h" value="Logical" />
</node>
<node concept="3uibUv" id="67SsWaEn6P_" role="EKbjA">
<ref role="3uigEE" node="1ffsG7bV945" resolve="Iterating" />
<node concept="16syzq" id="67SsWaEn7S7" role="11_B2D">
@ -534,13 +528,13 @@
</node>
<node concept="2tJIrI" id="3x8pcoFtje6" role="jymVt" />
<node concept="3clFb_" id="4OKkcnfu_wz" role="jymVt">
<property role="TrG5h" value="letValue" />
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="4OKkcnfu_w$" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="4OKkcnfu_w_" role="1tU5fm" />
</node>
<node concept="16syzq" id="4OKkcnfu_wA" role="3clF45">
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Context" />
</node>
<node concept="3Tm1VV" id="4OKkcnfu_wB" role="1B3o_S" />
<node concept="3clFbS" id="4OKkcnfu_wC" role="3clF47">
@ -555,19 +549,19 @@
<node concept="2tJIrI" id="1ffsG7chRVv" role="jymVt" />
<node concept="3clFb_" id="PB1R3YsDCl" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="logicalVar" />
<property role="TrG5h" value="initContext" />
<node concept="37vLTG" id="PB1R3YsDCm" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="PB1R3YsDCn" role="1tU5fm" />
</node>
<node concept="37vLTG" id="PB1R3YsDCo" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="PB1R3YsDCy" role="1tU5fm">
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Context" />
</node>
</node>
<node concept="16syzq" id="PB1R3YsDCz" role="3clF45">
<ref role="16sUi3" node="PB1R3Yejeo" resolve="Logical" />
<node concept="16syzq" id="6YKq674vGMI" role="3clF45">
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Context" />
</node>
<node concept="3Tm1VV" id="PB1R3YsDCr" role="1B3o_S" />
<node concept="3clFbS" id="PB1R3YsDC$" role="3clF47">
@ -588,9 +582,9 @@
<node concept="3Tqbb2" id="1ffsG7chQbA" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1ffsG7chQbD" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7chQbE" role="1tU5fm">
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Let" />
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Context" />
</node>
</node>
<node concept="3uibUv" id="1ffsG7chQbF" role="3clF45">
@ -637,18 +631,12 @@
<node concept="2tJIrI" id="1ffsG7cfHgp" role="jymVt" />
<node concept="3Tm1VV" id="4OKkcnfu_x9" role="1B3o_S" />
<node concept="16euLQ" id="4OKkcnfu_xd" role="16eVyc">
<property role="TrG5h" value="Let" />
</node>
<node concept="16euLQ" id="PB1R3Yejeo" role="16eVyc">
<property role="TrG5h" value="Logical" />
<property role="TrG5h" value="Context" />
</node>
<node concept="3uibUv" id="1ffsG7bUchI" role="1zkMxy">
<ref role="3uigEE" node="1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<node concept="16syzq" id="1ffsG7bUsVy" role="11_B2D">
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Let" />
</node>
<node concept="16syzq" id="PB1R3Yejsu" role="11_B2D">
<ref role="16sUi3" node="PB1R3Yejeo" resolve="Logical" />
<ref role="16sUi3" node="4OKkcnfu_xd" resolve="Context" />
</node>
</node>
</node>
@ -1894,7 +1882,6 @@
<node concept="3uibUv" id="1ffsG7c3Xt2" role="1tU5fm">
<ref role="3uigEE" node="1ffsG7bW_V4" resolve="RuleTemplate" />
<node concept="3qTvmN" id="1ffsG7c3XtK" role="11_B2D" />
<node concept="3qTvmN" id="PB1R3YeEbl" role="11_B2D" />
</node>
</node>
<node concept="3cqZAl" id="4OKkcnfu_Ab" role="3clF45" />
@ -2008,9 +1995,9 @@
<node concept="3Tqbb2" id="1ffsG7bUm$D" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1ffsG7bUm$E" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7bUnik" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Context" />
</node>
</node>
<node concept="10P_77" id="1ffsG7bUm$G" role="3clF45" />
@ -2034,9 +2021,9 @@
<node concept="3Tqbb2" id="1ffsG7bUnFp" role="1tU5fm" />
</node>
<node concept="37vLTG" id="2q0gzCFOCXd" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="2q0gzCFOD8v" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Context" />
</node>
</node>
<node concept="A3Dl8" id="1ffsG7bUnFq" role="3clF45">
@ -2055,19 +2042,19 @@
<node concept="2tJIrI" id="1ffsG7bUnZW" role="jymVt" />
<node concept="3clFb_" id="75vUFrSIQhr" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="logicalVar" />
<property role="TrG5h" value="initContext" />
<node concept="37vLTG" id="75vUFrSIQhs" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="75vUFrSIQht" role="1tU5fm" />
</node>
<node concept="37vLTG" id="75vUFrSIQhu" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="75vUFrSIQhz" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Context" />
</node>
</node>
<node concept="16syzq" id="75vUFrSIQh$" role="3clF45">
<ref role="16sUi3" node="PB1R3Yeimy" resolve="Logical" />
<node concept="16syzq" id="6YKq674vGah" role="3clF45">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Context" />
</node>
<node concept="3Tm1VV" id="75vUFrSIQhx" role="1B3o_S" />
<node concept="3clFbS" id="75vUFrSIQh_" role="3clF47">
@ -2135,18 +2122,12 @@
<node concept="17QB3L" id="1ffsG7bUbIO" role="1tU5fm" />
</node>
<node concept="16euLQ" id="1ffsG7bUbY4" role="16eVyc">
<property role="TrG5h" value="Let" />
</node>
<node concept="16euLQ" id="PB1R3Yeimy" role="16eVyc">
<property role="TrG5h" value="Logical" />
<property role="TrG5h" value="Context" />
</node>
<node concept="3uibUv" id="1ffsG7bWFot" role="EKbjA">
<ref role="3uigEE" node="1ffsG7bW_V4" resolve="RuleTemplate" />
<node concept="16syzq" id="1ffsG7bWGME" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Let" />
</node>
<node concept="16syzq" id="PB1R3YeiLp" role="11_B2D">
<ref role="16sUi3" node="PB1R3Yeimy" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Context" />
</node>
</node>
</node>
@ -2217,13 +2198,13 @@
<node concept="2tJIrI" id="1ffsG7bWA39" role="jymVt" />
<node concept="3clFb_" id="1ffsG7bW$2q" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="letValue" />
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="1ffsG7bW_ia" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="1ffsG7bW_q1" role="1tU5fm" />
</node>
<node concept="16syzq" id="1ffsG7bW$av" role="3clF45">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
<node concept="3Tm1VV" id="1ffsG7bW$2t" role="1B3o_S" />
<node concept="3clFbS" id="1ffsG7bW$2u" role="3clF47" />
@ -2237,9 +2218,9 @@
<node concept="3Tqbb2" id="1ffsG7bWBtT" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1ffsG7bWB_$" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7bWBHn" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
</node>
<node concept="10P_77" id="1ffsG7bWAbc" role="3clF45" />
@ -2260,28 +2241,28 @@
<node concept="3Tqbb2" id="2q0gzCFLe4r" role="1tU5fm" />
</node>
<node concept="37vLTG" id="2q0gzCFLeij" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="2q0gzCFLezl" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
</node>
</node>
<node concept="2tJIrI" id="1ffsG7bWCTe" role="jymVt" />
<node concept="3clFb_" id="PB1R3YsCm9" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="logicalVar" />
<property role="TrG5h" value="initContext" />
<node concept="37vLTG" id="PB1R3YsCma" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="PB1R3YsCmb" role="1tU5fm" />
</node>
<node concept="37vLTG" id="PB1R3YsD6L" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="PB1R3YsDiE" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
</node>
<node concept="16syzq" id="PB1R3YsDuK" role="3clF45">
<ref role="16sUi3" node="PB1R3YehXt" resolve="Logical" />
<node concept="16syzq" id="6YKq674vCNf" role="3clF45">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
<node concept="3Tm1VV" id="PB1R3YsCmd" role="1B3o_S" />
<node concept="3clFbS" id="PB1R3YsCme" role="3clF47" />
@ -2300,15 +2281,9 @@
<node concept="3Tqbb2" id="1ffsG7bWDP4" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1ffsG7bWDXM" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7bWE6B" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Let" />
</node>
</node>
<node concept="37vLTG" id="PB1R3Yihc0" role="3clF46">
<property role="TrG5h" value="logicVal" />
<node concept="16syzq" id="PB1R3Yihwl" role="1tU5fm">
<ref role="16sUi3" node="PB1R3YehXt" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Context" />
</node>
</node>
<node concept="3Tm1VV" id="1ffsG7bWCVt" role="1B3o_S" />
@ -2317,10 +2292,7 @@
<node concept="2tJIrI" id="PB1R3Yh6WC" role="jymVt" />
<node concept="3Tm1VV" id="1ffsG7bW_V5" role="1B3o_S" />
<node concept="16euLQ" id="1ffsG7bWA35" role="16eVyc">
<property role="TrG5h" value="Let" />
</node>
<node concept="16euLQ" id="PB1R3YehXt" role="16eVyc">
<property role="TrG5h" value="Logical" />
<property role="TrG5h" value="Context" />
</node>
</node>
<node concept="312cEu" id="1ffsG7bX1MS">
@ -2353,9 +2325,9 @@
<node concept="3Tqbb2" id="1ffsG7bX6rg" role="1tU5fm" />
</node>
<node concept="37vLTG" id="2q0gzCFLfF$" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="2q0gzCFLggJ" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
</node>
<node concept="A3Dl8" id="1ffsG7bX6rh" role="3clF45">
@ -2391,7 +2363,7 @@
<ref role="3cqZAo" node="1ffsG7bX6rA" resolve="it" />
</node>
<node concept="37vLTw" id="2q0gzCFMpJA" role="37wK5m">
<ref role="3cqZAo" node="2q0gzCFLfF$" resolve="letVal" />
<ref role="3cqZAo" node="2q0gzCFLfF$" resolve="context" />
</node>
</node>
</node>
@ -2445,9 +2417,9 @@
</node>
</node>
<node concept="37vLTG" id="2q0gzCFLZia" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="2q0gzCFLZLQ" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
</node>
<node concept="A3Dl8" id="1ffsG7bX6rQ" role="3clF45">
@ -2464,9 +2436,36 @@
</node>
</node>
<node concept="2tJIrI" id="1ffsG7bX6rW" role="jymVt" />
<node concept="3clFb_" id="6YKq674vX7w" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="6YKq674vX7x" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="6YKq674vX7y" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6YKq674vX7z" role="3clF46">
<property role="TrG5h" value="iterateOver" />
<node concept="16syzq" id="6YKq674vX7F" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bX2$8" resolve="Iter" />
</node>
</node>
<node concept="16syzq" id="6YKq674vX7G" role="3clF45">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
<node concept="3Tm1VV" id="6YKq674vX7A" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674vX7H" role="3clF47">
<node concept="3clFbF" id="6YKq674vYKh" role="3cqZAp">
<node concept="10Nm6u" id="6YKq674vYKg" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="6YKq674vYhJ" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="6YKq674vXNc" role="jymVt" />
<node concept="3clFb_" id="PB1R3YsKTE" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="logicalVar" />
<property role="TrG5h" value="initContext" />
<node concept="37vLTG" id="PB1R3YsKTF" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="PB1R3YsKTG" role="1tU5fm" />
@ -2478,13 +2477,13 @@
</node>
</node>
<node concept="37vLTG" id="PB1R3YsKTJ" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="PB1R3YsKTU" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
</node>
<node concept="16syzq" id="PB1R3YsKTV" role="3clF45">
<ref role="16sUi3" node="PB1R3Yeoc6" resolve="Logical" />
<node concept="16syzq" id="6YKq674vL_5" role="3clF45">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
<node concept="3Tm1VV" id="PB1R3YsKTM" role="1B3o_S" />
<node concept="3clFbS" id="PB1R3YsKTW" role="3clF47">
@ -2538,10 +2537,7 @@
<ref role="3cqZAo" node="1ffsG7bX6sk" resolve="p" />
</node>
<node concept="37vLTw" id="1ffsG7bX6si" role="37wK5m">
<ref role="3cqZAo" node="1ffsG7bX6sv" resolve="letVal" />
</node>
<node concept="37vLTw" id="PB1R3YijIb" role="37wK5m">
<ref role="3cqZAo" node="PB1R3Yhg58" resolve="logicVal" />
<ref role="3cqZAo" node="1ffsG7bX6sv" resolve="context" />
</node>
</node>
</node>
@ -2582,15 +2578,9 @@
<node concept="3Tqbb2" id="1ffsG7bX6su" role="1tU5fm" />
</node>
<node concept="37vLTG" id="1ffsG7bX6sv" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7bX6sw" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
</node>
</node>
<node concept="37vLTG" id="PB1R3Yhg58" role="3clF46">
<property role="TrG5h" value="logicVal" />
<node concept="16syzq" id="PB1R3Yhgzc" role="1tU5fm">
<ref role="16sUi3" node="PB1R3Yeoc6" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
</node>
<node concept="2AHcQZ" id="1ffsG7bX6sx" role="2AJF6D">
@ -2602,32 +2592,23 @@
<node concept="3uibUv" id="1ffsG7bX2a9" role="1zkMxy">
<ref role="3uigEE" node="1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<node concept="16syzq" id="1ffsG7bX2$t" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
</node>
<node concept="16syzq" id="PB1R3YepTQ" role="11_B2D">
<ref role="16sUi3" node="PB1R3Yeoc6" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
</node>
<node concept="16euLQ" id="1ffsG7bX2zU" role="16eVyc">
<property role="TrG5h" value="Let" />
<property role="TrG5h" value="Context" />
</node>
<node concept="16euLQ" id="1ffsG7bX2$8" role="16eVyc">
<property role="TrG5h" value="Iter" />
</node>
<node concept="16euLQ" id="PB1R3Yeoc6" role="16eVyc">
<property role="TrG5h" value="Logical" />
</node>
<node concept="3uibUv" id="1ffsG7bXiAl" role="EKbjA">
<ref role="3uigEE" node="1ffsG7bXcuq" resolve="IteratingRuleTemplate" />
<node concept="16syzq" id="1ffsG7bXj_H" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bX2zU" resolve="Context" />
</node>
<node concept="16syzq" id="1ffsG7bXklu" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bX2$8" resolve="Iter" />
</node>
<node concept="16syzq" id="PB1R3YesMz" role="11_B2D">
<ref role="16sUi3" node="PB1R3Yeoc6" resolve="Logical" />
</node>
</node>
</node>
<node concept="3HP615" id="1ffsG7bXcuq">
@ -2661,9 +2642,9 @@
</node>
</node>
<node concept="37vLTG" id="2q0gzCFLiOj" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="2q0gzCFLj1D" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Let" />
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
</node>
<node concept="A3Dl8" id="2q0gzCFLipY" role="3clF45">
@ -2675,7 +2656,7 @@
<node concept="2tJIrI" id="PB1R3YsH4i" role="jymVt" />
<node concept="3clFb_" id="PB1R3YsGQb" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="logicalVar" />
<property role="TrG5h" value="context" />
<node concept="37vLTG" id="PB1R3YsGQc" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="PB1R3YsGQd" role="1tU5fm" />
@ -2686,18 +2667,38 @@
<ref role="16sUi3" node="1ffsG7bXcDZ" resolve="Iter" />
</node>
</node>
<node concept="37vLTG" id="PB1R3YsGQe" role="3clF46">
<property role="TrG5h" value="letVal" />
<node concept="16syzq" id="PB1R3YsGQf" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Let" />
</node>
</node>
<node concept="16syzq" id="PB1R3YsGQg" role="3clF45">
<ref role="16sUi3" node="PB1R3Yes1w" resolve="Logical" />
<node concept="16syzq" id="6YKq674vKAr" role="3clF45">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
<node concept="3Tm1VV" id="PB1R3YsGQh" role="1B3o_S" />
<node concept="3clFbS" id="PB1R3YsGQi" role="3clF47" />
</node>
<node concept="2tJIrI" id="6YKq674vW28" role="jymVt" />
<node concept="3clFb_" id="6YKq674vVKf" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="initContext" />
<node concept="37vLTG" id="6YKq674vVKg" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="6YKq674vVKh" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6YKq674vVKi" role="3clF46">
<property role="TrG5h" value="iterateOver" />
<node concept="16syzq" id="6YKq674vVKj" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bXcDZ" resolve="Iter" />
</node>
</node>
<node concept="37vLTG" id="6YKq674vVKk" role="3clF46">
<property role="TrG5h" value="context" />
<node concept="16syzq" id="6YKq674vVKl" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
</node>
<node concept="16syzq" id="6YKq674vVKm" role="3clF45">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
<node concept="3Tm1VV" id="6YKq674vVKn" role="1B3o_S" />
<node concept="3clFbS" id="6YKq674vVKo" role="3clF47" />
</node>
<node concept="2tJIrI" id="1ffsG7bXfbD" role="jymVt" />
<node concept="3clFb_" id="1ffsG7bXfck" role="jymVt">
<property role="1EzhhJ" value="true" />
@ -2718,15 +2719,9 @@
</node>
</node>
<node concept="37vLTG" id="1ffsG7bXgUJ" role="3clF46">
<property role="TrG5h" value="letVal" />
<property role="TrG5h" value="context" />
<node concept="16syzq" id="1ffsG7bXh86" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Let" />
</node>
</node>
<node concept="37vLTG" id="PB1R3YiiBz" role="3clF46">
<property role="TrG5h" value="logicVal" />
<node concept="16syzq" id="PB1R3YiiHS" role="1tU5fm">
<ref role="16sUi3" node="PB1R3Yes1w" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
</node>
<node concept="3Tm1VV" id="1ffsG7bXfcn" role="1B3o_S" />
@ -2735,21 +2730,15 @@
<node concept="2tJIrI" id="1ffsG7bXdrD" role="jymVt" />
<node concept="3Tm1VV" id="1ffsG7bXcur" role="1B3o_S" />
<node concept="16euLQ" id="1ffsG7bXcDV" role="16eVyc">
<property role="TrG5h" value="Let" />
<property role="TrG5h" value="Context" />
</node>
<node concept="16euLQ" id="1ffsG7bXcDZ" role="16eVyc">
<property role="TrG5h" value="Iter" />
</node>
<node concept="16euLQ" id="PB1R3Yes1w" role="16eVyc">
<property role="TrG5h" value="Logical" />
</node>
<node concept="3uibUv" id="1ffsG7bXcPu" role="3HQHJm">
<ref role="3uigEE" node="1ffsG7bW_V4" resolve="RuleTemplate" />
<node concept="16syzq" id="1ffsG7bXdfH" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Let" />
</node>
<node concept="16syzq" id="PB1R3Yes1D" role="11_B2D">
<ref role="16sUi3" node="PB1R3Yes1w" resolve="Logical" />
<ref role="16sUi3" node="1ffsG7bXcDV" resolve="Context" />
</node>
</node>
</node>

View File

@ -130,6 +130,22 @@
</node>
</node>
</node>
<node concept="13i0hz" id="6YKq674fNYS" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="true" />
<property role="TrG5h" value="availableLogicalVariable" />
<node concept="3Tm1VV" id="6YKq674fNYT" role="1B3o_S" />
<node concept="A3Dl8" id="6YKq674fNYU" role="3clF45">
<node concept="3Tqbb2" id="6YKq674fNYV" role="A3Ik2">
<ref role="ehGHo" to="5j4j:7E86$tKtfM3" resolve="LogicalVariableDeclaration" />
</node>
</node>
<node concept="3clFbS" id="6YKq674fNYW" role="3clF47">
<node concept="3clFbF" id="6YKq674fNYX" role="3cqZAp">
<node concept="10Nm6u" id="6YKq674fNYY" role="3clFbG" />
</node>
</node>
</node>
<node concept="13hLZK" id="7E86$tKAuhJ" role="13h7CW">
<node concept="3clFbS" id="7E86$tKAuhK" role="2VODD2" />
</node>

View File

@ -651,8 +651,8 @@
<ref role="3cqZAo" node="6Ng87FPZcve" resolve="container" />
</node>
</node>
<node concept="2qgKlT" id="3PWU9gi_g4H" role="2OqNvi">
<ref role="37wK5l" to="ha02:7E86$tKAujJ" resolve="exportedLogicalVariable" />
<node concept="2qgKlT" id="6YKq674hz7i" role="2OqNvi">
<ref role="37wK5l" to="ha02:6YKq674fNYS" resolve="availableLogicalVariable" />
</node>
</node>
<node concept="ANE8D" id="3PWU9gi_g4I" role="2OqNvi" />