Transforming rules to other kinds keeping the internal structure

This commit is contained in:
Fedor Isakov 2014-08-04 19:32:35 +02:00
parent ca4450c905
commit fe3ebd0660
3 changed files with 635 additions and 1 deletions

View File

@ -7,13 +7,17 @@
<import index="vgt0" modelUID="r:f36c95e5-e428-4945-91ae-1005e20c7971(jetbrains.mps.jchr.structure)" version="-1" />
<import index="1f2y" modelUID="r:c2e9552f-aeab-4773-af70-c663afdf96a5(jetbrains.mps.jchr.behavior)" version="-1" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="msyo" modelUID="f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#jetbrains.mps.util(MPS.Core/jetbrains.mps.util@java_stub)" version="-1" />
<import index="k7g3" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.util(JDK/java.util@java_stub)" version="-1" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" />
<import index="tp25" modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" implicit="yes" />
<import index="tp2q" modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" implicit="yes" />
<import index="tpdg" modelUID="r:00000000-0000-4000-0000-011c895902a8(jetbrains.mps.lang.actions.structure)" version="23" implicit="yes" />
<import index="tp2c" modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" implicit="yes" />
<import index="tp3r" modelUID="r:00000000-0000-4000-0000-011c8959034b(jetbrains.mps.lang.quotation.structure)" version="0" implicit="yes" />
<import index="cx9y" modelUID="r:309aeee7-bee8-445c-b31d-35928d1da75f(jetbrains.mps.baseLanguage.tuples.structure)" version="2" implicit="yes" />
<import index="tpce" modelUID="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" version="0" implicit="yes" />
<root type="tpdg.SideTransformHintSubstituteActions" typeId="tpdg.1138079416598" id="10398748702816268" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="Constraint_addArguments" />
<node role="actionsBuilder" roleId="tpdg.1138079416599" type="tpdg.SideTransformHintSubstituteActionsBuilder" typeId="tpdg.1138079221458" id="10398748702816320" nodeInfo="ng">
@ -1331,5 +1335,605 @@
</node>
</node>
</root>
<root type="tpdg.SideTransformHintSubstituteActions" typeId="tpdg.1138079416598" id="1503029979295675" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="Rule_transform" />
<node role="actionsBuilder" roleId="tpdg.1138079416599" type="tpdg.SideTransformHintSubstituteActionsBuilder" typeId="tpdg.1138079221458" id="1503029979296665" nodeInfo="ng">
<property name="transformTag" nameId="tpdg.1140829165817" value="ext_1_RTransform" />
<property name="side" nameId="tpdg.1215605257730" value="left" />
<link role="applicableConcept" roleId="tpdg.1138079221462" targetNodeId="vgt0.456733934405447580" resolveInfo="Rule" />
<node role="part" roleId="tpdg.1177442283389" type="tpdg.AddMenuPart" typeId="tpdg.1177323996388" id="1503029979298703" nodeInfo="ng">
<link role="concept" roleId="tpdg.1177333551023" targetNodeId="vgt0.456733934405447580" resolveInfo="Rule" />
<node role="part" roleId="tpdg.1177333559040" type="tpdg.ParameterizedSideTransformMenuPart" typeId="tpdg.1177508764419" id="1503029979313244" nodeInfo="ng">
<node role="query" roleId="tpdg.1177508922313" type="tpdg.QueryFunction_ParameterizedSideTransform_Query" typeId="tpdg.1177508842676" id="1503029979313246" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029979313247" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029979345469" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029979362427" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029980777403" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029979354301" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.GenericNewExpression" typeId="tpee.1145552977093" id="1503029979345467" nodeInfo="nn">
<node role="creator" roleId="tpee.1145553007750" type="tpee.ArrayCreatorWithInitializer" typeId="tpee.1154542696413" id="1503029979347334" nodeInfo="nn">
<node role="initValue" roleId="tpee.1154542803372" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029979418136" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
</node>
<node role="initValue" roleId="tpee.1154542803372" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029979429650" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
</node>
<node role="initValue" roleId="tpee.1154542803372" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029979441280" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
</node>
<node role="componentType" roleId="tpee.1154542793668" type="tp25.SNodeType" typeId="tp25.1138055754698" id="1503029979348990" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="tpce.1071489090640" resolveInfo="ConceptDeclaration" />
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.AsSequenceOperation" typeId="tp2q.1240325842691" id="1503029979358613" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.WhereOperation" typeId="tp2q.1202120902084" id="1503029980783935" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="1503029980783937" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029980783938" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029980788707" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.NotEqualsExpression" typeId="tpee.1073239437375" id="1503029980790305" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029980797825" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029980795051" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetConceptOperation" typeId="tp25.1172323065820" id="1503029980803499" nodeInfo="nn" />
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029980788706" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029980783939" resolveInfo="it" />
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="1503029980783939" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="1503029980783940" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ToListOperation" typeId="tp2q.1151702311717" id="1503029979365791" nodeInfo="nn" />
</node>
</node>
</node>
</node>
<node role="handler" roleId="tpdg.1177508966300" type="tpdg.QueryFunction_ParameterizedSideTransform_Handler" typeId="tpdg.1177509289232" id="1503029979313248" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029979313249" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tp25.ConceptSwitchStatement" typeId="tp25.5944356402132808749" id="1503029980809814" nodeInfo="nn">
<node role="expression" roleId="tp25.5944356402132808752" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029980948696" nodeInfo="nn" />
<node role="case" roleId="tp25.5944356402132808753" type="tp25.ConceptSwitchStatementCase" typeId="tp25.5944356402132808754" id="1503029980810899" nodeInfo="ng">
<node role="concept" roleId="tp25.1163670677455" type="tp25.ConceptReference" typeId="tp25.1154546950173" id="1503029980811594" nodeInfo="ng">
<link role="concept" roleId="tp25.1154546997487" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
</node>
<node role="body" roleId="tp25.1163670683720" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029980810901" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="1503029981021506" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="1503029981021507" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="rule" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="1503029981021504" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp25.SNodeTypeCastExpression" typeId="tp25.1140137987495" id="1503029981021508" nodeInfo="nn">
<link role="concept" roleId="tp25.1140138128738" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
<node role="leftExpression" roleId="tp25.1140138123956" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981021509" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981045210" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981011959" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981011960" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981110265" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981112260" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981112261" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981112262" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981112263" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981112264" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981112265" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733078" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981112266" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981112267" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981112268" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733017" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981112269" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981112270" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733080" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981112271" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405724502" resolveInfo="Head" />
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981112272" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981112273" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981112274" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981112275" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981112276" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981112277" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981112278" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981112279" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981112280" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981112281" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981012968" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981013145" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981012221" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981044624" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981043970" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981043971" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981115040" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981116933" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981116934" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981116935" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981116936" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981116937" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981116938" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405724614" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981116939" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981116940" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981116941" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733017" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981116942" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981116943" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981116944" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981116945" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981116946" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981116947" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981116948" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981116949" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981116950" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981116951" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981021507" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981116952" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981043995" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981043996" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981043997" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981042637" nodeInfo="nn" />
</node>
</node>
<node role="case" roleId="tp25.5944356402132808753" type="tp25.ConceptSwitchStatementCase" typeId="tp25.5944356402132808754" id="1503029980811395" nodeInfo="ng">
<node role="concept" roleId="tp25.1163670677455" type="tp25.ConceptReference" typeId="tp25.1154546950173" id="1503029980811396" nodeInfo="ng">
<link role="concept" roleId="tp25.1154546997487" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
</node>
<node role="body" roleId="tp25.1163670683720" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029980811397" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="1503029981051599" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="1503029981051600" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="rule" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="1503029981051601" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp25.SNodeTypeCastExpression" typeId="tp25.1140137987495" id="1503029981051602" nodeInfo="nn">
<link role="concept" roleId="tp25.1140138128738" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
<node role="leftExpression" roleId="tp25.1140138123956" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981051603" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981051604" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981051605" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981051606" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981121290" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123370" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981123371" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981123372" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981123373" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981123374" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981123375" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733017" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981123376" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405724502" resolveInfo="Head" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981123377" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405724503" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981123378" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123379" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123380" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123381" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981123382" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981123383" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733078" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029981123384" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="vgt0.456733934405724503" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ConcatOperation" typeId="tp2q.1180964022718" id="1503029981123385" nodeInfo="nn">
<node role="rightExpression" roleId="tp2q.1176906787974" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123386" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123387" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981123388" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981123389" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733080" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029981123390" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="vgt0.456733934405724503" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981123391" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981123392" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123393" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981123394" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981123395" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981123396" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981123397" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981123398" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981123399" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981123400" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981051630" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981051631" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981051632" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981051633" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981051634" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981051635" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981127356" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981129360" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981129361" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981129362" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981129363" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981129364" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981129365" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405724614" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981132786" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405724502" resolveInfo="Head" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981132787" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405724503" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981132788" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981132789" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981132790" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981132791" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981132792" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981132793" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733078" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029981132794" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="vgt0.456733934405724503" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ConcatOperation" typeId="tp2q.1180964022718" id="1503029981132795" nodeInfo="nn">
<node role="rightExpression" roleId="tp2q.1176906787974" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981132796" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981132797" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981132798" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981132799" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405733080" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029981132800" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="vgt0.456733934405724503" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981129370" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981129371" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981129372" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981129373" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981129374" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981129375" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981129376" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981129377" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981129378" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981051600" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981129379" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981051657" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981051658" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981051659" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981051660" nodeInfo="nn" />
</node>
</node>
<node role="case" roleId="tp25.5944356402132808753" type="tp25.ConceptSwitchStatementCase" typeId="tp25.5944356402132808754" id="1503029980811840" nodeInfo="ng">
<node role="concept" roleId="tp25.1163670677455" type="tp25.ConceptReference" typeId="tp25.1154546950173" id="1503029980812150" nodeInfo="ng">
<link role="concept" roleId="tp25.1154546997487" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
</node>
<node role="body" roleId="tp25.1163670683720" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029980811842" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.LocalVariableDeclarationStatement" typeId="tpee.1068581242864" id="1503029981140285" nodeInfo="nn">
<node role="localVariableDeclaration" roleId="tpee.1068581242865" type="tpee.LocalVariableDeclaration" typeId="tpee.1068581242863" id="1503029981140286" nodeInfo="nr">
<property name="name" nameId="tpck.1169194664001" value="rule" />
<node role="type" roleId="tpee.5680397130376446158" type="tp25.SNodeType" typeId="tp25.1138055754698" id="1503029981140287" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
</node>
<node role="initializer" roleId="tpee.1068431790190" type="tp25.SNodeTypeCastExpression" typeId="tp25.1140137987495" id="1503029981140288" nodeInfo="nn">
<link role="concept" roleId="tp25.1140138128738" targetNodeId="vgt0.456733934405449659" resolveInfo="PropagationRule" />
<node role="leftExpression" roleId="tp25.1140138123956" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981140289" nodeInfo="nn" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981139096" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981135493" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981135494" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981135495" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135496" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981135497" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981135498" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981135499" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981135500" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135501" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733078" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135502" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135503" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981162754" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405724614" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135505" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135506" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733080" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981135507" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405724502" resolveInfo="Head" />
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135508" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135509" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135510" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135511" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981135512" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135513" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135514" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135515" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135516" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981135517" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981135518" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981135519" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981135520" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449678" resolveInfo="SimpagationRule" />
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.Statement" typeId="tpee.1068580123157" id="1503029981135521" nodeInfo="nn" />
<node role="statement" roleId="tpee.1068581517665" type="tpee.IfStatement" typeId="tpee.1068580123159" id="1503029981135522" nodeInfo="nn">
<node role="ifTrue" roleId="tpee.1068580123161" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029981135523" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ReturnStatement" typeId="tpee.1068581242878" id="1503029981135524" nodeInfo="nn">
<node role="expression" roleId="tpee.1068581517676" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135525" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981135526" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_ReplaceWithAnotherOperation" typeId="tp25.1140131837776" id="1503029981135527" nodeInfo="nn">
<node role="replacementNode" roleId="tp25.1140131861877" type="tp3r.NodeBuilder" typeId="tp3r.5455284157993863837" id="1503029981135528" nodeInfo="nn">
<node role="quotedNode" roleId="tp3r.5455284157993863838" type="tp3r.NodeBuilderNode" typeId="tp3r.5455284157993863840" id="1503029981135529" nodeInfo="nn">
<link role="concept" roleId="tp3r.5455284157993910961" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135530" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405733017" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135531" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135532" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981167998" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405724614" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135534" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135535" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732988" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135536" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135537" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135538" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981135539" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732988" />
</node>
</node>
</node>
</node>
<node role="values" roleId="tp3r.5455284157993911099" type="tp3r.NodeBuilderInitLink" typeId="tp3r.5455284157994012186" id="1503029981135540" nodeInfo="ng">
<link role="link" roleId="tp3r.5455284157994012188" targetNodeId="vgt0.456733934405732990" />
<node role="expression" roleId="tp3r.5455284157993911094" type="tp3r.NodeBuilderExpression" typeId="tp3r.8182547171709752110" id="1503029981135541" nodeInfo="nn">
<node role="expression" roleId="tp3r.8182547171709752112" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029981135542" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="1503029981135543" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="1503029981140286" resolveInfo="rule" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="1503029981135544" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="vgt0.456733934405732990" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="condition" roleId="tpee.1068580123160" type="tpee.EqualsExpression" typeId="tpee.1068580123152" id="1503029981135545" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029981135546" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tp25.ConceptRefExpression" typeId="tp25.1172424058054" id="1503029981135547" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1172424100906" targetNodeId="vgt0.456733934405449669" resolveInfo="SimplificationRule" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029981174204" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpdg.ConceptFunctionParameter_sourceNode" typeId="tpdg.1177497140107" id="1503029981174202" nodeInfo="nn" />
</node>
</node>
</node>
<node role="type" roleId="tpdg.1177508914797" type="tp25.SNodeType" typeId="tp25.1138055754698" id="1503029979378015" nodeInfo="in">
<link role="concept" roleId="tp25.1138405853777" targetNodeId="tpce.1071489090640" resolveInfo="ConceptDeclaration" />
</node>
<node role="matchingText" roleId="tpdg.1177508933220" type="tpdg.QueryFunction_SideTransform_String" typeId="tpdg.1177498071304" id="1503029979460490" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029979460492" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029979465775" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029979466416" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029979465774" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029979529269" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpce.5092175715804935370" resolveInfo="conceptAlias" />
</node>
</node>
</node>
</node>
</node>
<node role="descriptionText" roleId="tpdg.1177508955159" type="tpdg.QueryFunction_SideTransform_String" typeId="tpdg.1177498071304" id="1503029980143119" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029980143120" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029980563792" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029980564487" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpdg.ConceptFunctionParameter_parameterObject" typeId="tpdg.1177337833147" id="1503029980563791" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029980571140" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpce.4628067390765907488" resolveInfo="conceptShortDescription" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</root>
</model>

View File

@ -130,6 +130,14 @@
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Constant" typeId="tpc2.1073389577006" id="456733934405733127" nodeInfo="nn">
<property name="text" nameId="tpc2.1073389577007" value="==&gt;" />
<link role="parentStyleClass" roleId="tpc2.1381004262292426837" targetNodeId="tpen.1215010940130" resolveInfo="Operator" />
<node role="menuDescriptor" roleId="tpc2.1164826688380" type="tpc2.CellMenuDescriptor" typeId="tpc2.1164824717996" id="1503029980686689" nodeInfo="ng">
<node role="cellMenuPart" roleId="tpc2.1164824815888" type="tpc2.CellMenuPart_ApplySideTransforms" typeId="tpc2.8233876857994246075" id="1503029980686745" nodeInfo="ng">
<property name="side" nameId="tpc2.8233876857994286197" value="left" />
</node>
</node>
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SideTransformAnchorTagStyleClassItem" typeId="tpc2.1214320119173" id="1503029980721653" nodeInfo="nn">
<property name="tag" nameId="tpc2.1214320119174" value="ext_1_RTransform" />
</node>
</node>
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Collection" typeId="tpc2.1073389446423" id="456733934405733144" nodeInfo="nn">
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SelectableStyleSheetItem" typeId="tpc2.1186414928363" id="456733934405733146" nodeInfo="nn">
@ -178,6 +186,14 @@
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Constant" typeId="tpc2.1073389577006" id="456733934405751172" nodeInfo="nn">
<property name="text" nameId="tpc2.1073389577007" value="&lt;=&gt;" />
<link role="parentStyleClass" roleId="tpc2.1381004262292426837" targetNodeId="tpen.1215010940130" resolveInfo="Operator" />
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SideTransformAnchorTagStyleClassItem" typeId="tpc2.1214320119173" id="1503029979294329" nodeInfo="nn">
<property name="tag" nameId="tpc2.1214320119174" value="ext_1_RTransform" />
</node>
<node role="menuDescriptor" roleId="tpc2.1164826688380" type="tpc2.CellMenuDescriptor" typeId="tpc2.1164824717996" id="1503029980685268" nodeInfo="ng">
<node role="cellMenuPart" roleId="tpc2.1164824815888" type="tpc2.CellMenuPart_ApplySideTransforms" typeId="tpc2.8233876857994246075" id="1503029980685270" nodeInfo="ng">
<property name="side" nameId="tpc2.8233876857994286197" value="left" />
</node>
</node>
</node>
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Collection" typeId="tpc2.1073389446423" id="456733934405751173" nodeInfo="nn">
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SelectableStyleSheetItem" typeId="tpc2.1186414928363" id="456733934405751174" nodeInfo="nn">
@ -232,6 +248,14 @@
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Constant" typeId="tpc2.1073389577006" id="456733934405753515" nodeInfo="nn">
<property name="text" nameId="tpc2.1073389577007" value="&lt;=&gt;" />
<link role="parentStyleClass" roleId="tpc2.1381004262292426837" targetNodeId="tpen.1215010940130" resolveInfo="Operator" />
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SideTransformAnchorTagStyleClassItem" typeId="tpc2.1214320119173" id="1503029980726825" nodeInfo="nn">
<property name="tag" nameId="tpc2.1214320119174" value="ext_1_RTransform" />
</node>
<node role="menuDescriptor" roleId="tpc2.1164826688380" type="tpc2.CellMenuDescriptor" typeId="tpc2.1164824717996" id="1503029980650724" nodeInfo="ng">
<node role="cellMenuPart" roleId="tpc2.1164824815888" type="tpc2.CellMenuPart_ApplySideTransforms" typeId="tpc2.8233876857994246075" id="1503029980650834" nodeInfo="ng">
<property name="side" nameId="tpc2.8233876857994286197" value="left" />
</node>
</node>
</node>
<node role="childCellModel" roleId="tpc2.1073389446424" type="tpc2.CellModel_Collection" typeId="tpc2.1073389446423" id="456733934405753516" nodeInfo="nn">
<node role="styleItem" roleId="tpc2.1219418656006" type="tpc2.SelectableStyleSheetItem" typeId="tpc2.1186414928363" id="456733934405753517" nodeInfo="nn">

View File

@ -83,6 +83,8 @@
</root>
<root type="tpce.ConceptDeclaration" typeId="tpce.1071489090640" id="456733934405449659" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="PropagationRule" />
<property name="conceptAlias" nameId="tpce.5092175715804935370" value="==&gt;" />
<property name="conceptShortDescription" nameId="tpce.4628067390765907488" value="propagation rule" />
<link role="extends" roleId="tpce.1071489389519" targetNodeId="456733934405447580" resolveInfo="Rule" />
<node role="linkDeclaration" roleId="tpce.1071489727083" type="tpce.LinkDeclaration" typeId="tpce.1071489288298" id="456733934405724614" nodeInfo="ig">
<property name="metaClass" nameId="tpce.1071599937831" value="aggregation" />
@ -93,6 +95,8 @@
</root>
<root type="tpce.ConceptDeclaration" typeId="tpce.1071489090640" id="456733934405449669" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="SimplificationRule" />
<property name="conceptAlias" nameId="tpce.5092175715804935370" value="&lt;=&gt;" />
<property name="conceptShortDescription" nameId="tpce.4628067390765907488" value="simplification rule" />
<link role="extends" roleId="tpce.1071489389519" targetNodeId="456733934405447580" resolveInfo="Rule" />
<node role="linkDeclaration" roleId="tpce.1071489727083" type="tpce.LinkDeclaration" typeId="tpce.1071489288298" id="456733934405733017" nodeInfo="ig">
<property name="metaClass" nameId="tpce.1071599937831" value="aggregation" />
@ -103,6 +107,8 @@
</root>
<root type="tpce.ConceptDeclaration" typeId="tpce.1071489090640" id="456733934405449678" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="SimpagationRule" />
<property name="conceptAlias" nameId="tpce.5092175715804935370" value="&lt;=&gt;" />
<property name="conceptShortDescription" nameId="tpce.4628067390765907488" value="simpagation rule" />
<link role="extends" roleId="tpce.1071489389519" targetNodeId="456733934405447580" resolveInfo="Rule" />
<node role="linkDeclaration" roleId="tpce.1071489727083" type="tpce.LinkDeclaration" typeId="tpce.1071489288298" id="456733934405733078" nodeInfo="ig">
<property name="metaClass" nameId="tpce.1071599937831" value="aggregation" />