gitlab.rlp.net will be temporarily unavailable for maintenance reasons on 2021-01-15 21:00 - 23:00

gitlab.rlp.net will be temporarily unavailable for maintenance reasons on 2021-01-15 21:00 - 23:00

Commit b7d03e0f authored by André Pacak's avatar André Pacak

untested implementation of fo recursive type checker in IncA

parent 345377ca
......@@ -7,6 +7,7 @@
<modulePath path="$PROJECT_DIR$/languages/ProductTypes/ProductTypes.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/RecordTypes/RecordTypes.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/VariantTypes/VariantTypes.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/FORecursiveTypes_Checker/FORecursiveTypes_Checker.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/RecordTypes_Checker/RecordTypes_Checker.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/SumTypes_Checker/SumTypes_Checker.msd" folder="." />
<modulePath path="$PROJECT_DIR$/solutions/VariantTypes_Checker/VariantTypes_Checker.msd" folder="" />
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -15,7 +15,7 @@
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1153952380246:jetbrains.mps.baseLanguage.structure.TryStatement" />
<root>
<file name="EditorAspectDescriptorImpl.java">
<unit at="18,0,158,0" name="FORecursiveTypes.editor.EditorAspectDescriptorImpl" />
<unit at="18,0,162,0" name="FORecursiveTypes.editor.EditorAspectDescriptorImpl" />
</file>
<file name="GrammarActionsDescriptor.java">
<unit at="858,51,862,5" name="FORecursiveTypes.editor.GrammarActionsDescriptor$12" />
......@@ -159,6 +159,10 @@
<unit at="45,0,55,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_TypeVar$GrammarCellsSubstituteMenuPart_nasubc_a" />
<unit at="20,0,56,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_TypeVar" />
</file>
<file name="GrammarCellsSubstituteMenu_UnitTerm.java">
<unit at="45,0,55,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_UnitTerm$GrammarCellsSubstituteMenuPart_f5wgwm_a" />
<unit at="20,0,56,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_UnitTerm" />
</file>
<file name="GrammarCellsSubstituteMenu_UnitType.java">
<unit at="45,0,55,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_UnitType$GrammarCellsSubstituteMenuPart_f5woal_a" />
<unit at="20,0,56,0" name="FORecursiveTypes.editor.GrammarCellsSubstituteMenu_UnitType" />
......@@ -8000,5 +8004,48 @@
<unit id="8032141838602455031" at="48,0,544,0" name="FORecursiveTypes.editor.LetType_EditorBuilder_a" />
</file>
</root>
<root nodeRef="r:e04d5d3a-ed4c-4c4e-9fd2-08a19036ac61(FORecursiveTypes.editor)/8032141838602814370">
<file name="UnitTerm_Editor.java">
<node id="8032141838602814370" at="11,79,12,74" concept="8" />
<node id="8032141838602814370" at="11,0,14,0" concept="6" trace="createEditorCell#(Ljetbrains/mps/openapi/editor/EditorContext;Lorg/jetbrains/mps/openapi/model/SNode;)Ljetbrains/mps/openapi/editor/cells/EditorCell;" />
<scope id="8032141838602814370" at="11,79,12,74" />
<scope id="8032141838602814370" at="11,0,14,0">
<var name="editorContext" id="8032141838602814370" />
<var name="node" id="8032141838602814370" />
</scope>
<unit id="8032141838602814370" at="10,0,15,0" name="FORecursiveTypes.editor.UnitTerm_Editor" />
</file>
<file name="UnitTerm_EditorBuilder_a.java">
<node id="8032141838602814370" at="16,88,17,19" concept="11" />
<node id="8032141838602814370" at="17,19,18,18" concept="2" />
<node id="8032141838602814370" at="23,26,24,18" concept="8" />
<node id="8032141838602814370" at="27,39,28,30" concept="8" />
<node id="8032141838602814372" at="31,41,32,97" concept="7" />
<node id="8032141838602814372" at="32,97,33,46" concept="2" />
<node id="8032141838602814372" at="33,46,34,28" concept="2" />
<node id="8032141838602814372" at="34,28,35,31" concept="2" />
<node id="8032141838602814372" at="35,31,36,34" concept="2" />
<node id="8032141838602814372" at="36,34,37,22" concept="8" />
<node id="8032141838602814370" at="13,0,15,0" concept="3" trace="myNode" />
<node id="8032141838602814370" at="27,0,30,0" concept="6" trace="createCell#()Ljetbrains/mps/openapi/editor/cells/EditorCell;" />
<node id="8032141838602814370" at="16,0,20,0" concept="1" trace="UnitTerm_EditorBuilder_a#(Ljetbrains/mps/openapi/editor/EditorContext;Lorg/jetbrains/mps/openapi/model/SNode;)V" />
<node id="8032141838602814370" at="21,0,26,0" concept="6" trace="getNode#()Lorg/jetbrains/mps/openapi/model/SNode;" />
<node id="8032141838602814372" at="31,0,39,0" concept="6" trace="createConstant_0#()Ljetbrains/mps/openapi/editor/cells/EditorCell;" />
<scope id="8032141838602814370" at="23,26,24,18" />
<scope id="8032141838602814370" at="27,39,28,30" />
<scope id="8032141838602814370" at="16,88,18,18" />
<scope id="8032141838602814370" at="27,0,30,0" />
<scope id="8032141838602814370" at="16,0,20,0">
<var name="context" id="8032141838602814370" />
<var name="node" id="8032141838602814370" />
</scope>
<scope id="8032141838602814370" at="21,0,26,0" />
<scope id="8032141838602814372" at="31,41,37,22">
<var name="editorCell" id="8032141838602814372" />
</scope>
<scope id="8032141838602814372" at="31,0,39,0" />
<unit id="8032141838602814370" at="12,0,40,0" name="FORecursiveTypes.editor.UnitTerm_EditorBuilder_a" />
</file>
</root>
</debug-info>
......@@ -9,1006 +9,1040 @@
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1081236700938:jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
<root>
<file name="ConceptPresentationAspectImpl.java">
<unit at="11,0,243,0" name="FORecursiveTypes.structure.ConceptPresentationAspectImpl" />
<unit at="11,0,251,0" name="FORecursiveTypes.structure.ConceptPresentationAspectImpl" />
</file>
<file name="LanguageConceptSwitch.java">
<unit at="10,0,82,0" name="FORecursiveTypes.structure.LanguageConceptSwitch" />
<unit at="10,0,84,0" name="FORecursiveTypes.structure.LanguageConceptSwitch" />
</file>
<file name="StructureAspectDescriptor.java">
<unit at="16,0,399,0" name="FORecursiveTypes.structure.StructureAspectDescriptor" />
<unit at="16,0,410,0" name="FORecursiveTypes.structure.StructureAspectDescriptor" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272849">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272849" at="32,0,33,0" concept="1" trace="props_Term" />
<node id="1894367444356272849" at="186,33,187,76" concept="3" />
<node id="1894367444356272849" at="187,76,188,36" concept="0" />
<node id="1894367444356272849" at="189,9,190,26" concept="4" />
<node id="1894367444356272849" at="185,38,189,9" concept="2" />
<scope id="1894367444356272849" at="186,33,188,36">
<node id="1894367444356272849" at="187,33,188,76" concept="3" />
<node id="1894367444356272849" at="188,76,189,36" concept="0" />
<node id="1894367444356272849" at="190,9,191,26" concept="4" />
<node id="1894367444356272849" at="186,38,190,9" concept="2" />
<scope id="1894367444356272849" at="187,33,189,36">
<var name="cpb" id="1894367444356272849" />
</scope>
<scope id="1894367444356272849" at="185,38,190,26" />
<scope id="1894367444356272849" at="186,38,191,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272849" at="32,0,33,0" concept="5" trace="Term" />
<node id="1894367444356272849" at="62,41,63,43" concept="0" />
<node id="1894367444356272849" at="63,41,64,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272849" at="37,0,38,0" concept="1" trace="myConceptTerm" />
<node id="1894367444356272849" at="100,38,101,29" concept="4" />
<node id="1894367444356272849" at="132,34,133,76" concept="0" />
<node id="1894367444356272849" at="143,34,144,76" concept="0" />
<node id="1894367444356272849" at="154,34,155,76" concept="0" />
<node id="1894367444356272849" at="193,71,194,76" concept="0" />
<node id="1894367444356272849" at="204,71,205,76" concept="0" />
<node id="1894367444356272849" at="216,71,217,76" concept="0" />
<node id="1894367444356272849" at="226,34,227,76" concept="0" />
<node id="1894367444356272849" at="273,34,274,76" concept="0" />
<node id="1894367444356272849" at="293,34,294,76" concept="0" />
<node id="1894367444356272849" at="311,34,312,76" concept="0" />
<node id="1894367444356272849" at="321,34,322,76" concept="0" />
<node id="1894367444356272849" at="330,62,331,155" concept="3" />
<node id="1894367444356272849" at="331,155,332,19" concept="0" />
<node id="1894367444356272849" at="332,19,333,103" concept="0" />
<node id="1894367444356272849" at="333,103,334,17" concept="0" />
<node id="1894367444356272849" at="334,17,335,22" concept="4" />
<node id="1894367444356272849" at="365,71,366,76" concept="0" />
<node id="1894367444356272849" at="391,34,392,76" concept="0" />
<node id="1894367444356272849" at="330,0,337,0" concept="6" trace="createDescriptorForTerm#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272849" at="100,38,101,29" />
<scope id="1894367444356272849" at="330,62,335,22">
<node id="1894367444356272849" at="101,38,102,29" concept="4" />
<node id="1894367444356272849" at="135,34,136,76" concept="0" />
<node id="1894367444356272849" at="146,34,147,76" concept="0" />
<node id="1894367444356272849" at="157,34,158,76" concept="0" />
<node id="1894367444356272849" at="196,71,197,76" concept="0" />
<node id="1894367444356272849" at="207,71,208,76" concept="0" />
<node id="1894367444356272849" at="219,71,220,76" concept="0" />
<node id="1894367444356272849" at="229,34,230,76" concept="0" />
<node id="1894367444356272849" at="276,34,277,76" concept="0" />
<node id="1894367444356272849" at="296,34,297,76" concept="0" />
<node id="1894367444356272849" at="314,34,315,76" concept="0" />
<node id="1894367444356272849" at="324,34,325,76" concept="0" />
<node id="1894367444356272849" at="333,62,334,155" concept="3" />
<node id="1894367444356272849" at="334,155,335,19" concept="0" />
<node id="1894367444356272849" at="335,19,336,103" concept="0" />
<node id="1894367444356272849" at="336,103,337,17" concept="0" />
<node id="1894367444356272849" at="337,17,338,22" concept="4" />
<node id="1894367444356272849" at="358,34,359,76" concept="0" />
<node id="1894367444356272849" at="376,71,377,76" concept="0" />
<node id="1894367444356272849" at="402,34,403,76" concept="0" />
<node id="1894367444356272849" at="333,0,340,0" concept="6" trace="createDescriptorForTerm#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272849" at="101,38,102,29" />
<scope id="1894367444356272849" at="333,62,338,22">
<var name="b" id="1894367444356272849" />
</scope>
<scope id="1894367444356272849" at="330,0,337,0" />
<scope id="1894367444356272849" at="333,0,340,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272850">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272850" at="39,0,40,0" concept="1" trace="props_Zero" />
<node id="1894367444356272850" at="233,33,234,76" concept="3" />
<node id="1894367444356272850" at="234,76,235,35" concept="0" />
<node id="1894367444356272850" at="235,35,236,36" concept="0" />
<node id="1894367444356272850" at="237,9,238,26" concept="4" />
<node id="1894367444356272850" at="232,38,237,9" concept="2" />
<scope id="1894367444356272850" at="233,33,236,36">
<node id="1894367444356272850" at="40,0,41,0" concept="1" trace="props_Zero" />
<node id="1894367444356272850" at="241,33,242,76" concept="3" />
<node id="1894367444356272850" at="242,76,243,35" concept="0" />
<node id="1894367444356272850" at="243,35,244,36" concept="0" />
<node id="1894367444356272850" at="245,9,246,26" concept="4" />
<node id="1894367444356272850" at="240,38,245,9" concept="2" />
<scope id="1894367444356272850" at="241,33,244,36">
<var name="cpb" id="1894367444356272850" />
</scope>
<scope id="1894367444356272850" at="232,38,238,26" />
<scope id="1894367444356272850" at="240,38,246,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272850" at="39,0,40,0" concept="5" trace="Zero" />
<node id="1894367444356272850" at="69,55,70,43" concept="0" />
<node id="1894367444356272850" at="40,0,41,0" concept="5" trace="Zero" />
<node id="1894367444356272850" at="71,55,72,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272850" at="44,0,45,0" concept="1" trace="myConceptZero" />
<node id="1894367444356272850" at="114,38,115,29" concept="4" />
<node id="1894367444356272850" at="389,62,390,155" concept="3" />
<node id="1894367444356272850" at="390,155,391,34" concept="0" />
<node id="1894367444356272850" at="392,76,393,103" concept="0" />
<node id="1894367444356272850" at="393,103,394,17" concept="0" />
<node id="1894367444356272850" at="394,17,395,17" concept="0" />
<node id="1894367444356272850" at="395,17,396,22" concept="4" />
<node id="1894367444356272850" at="389,0,398,0" concept="6" trace="createDescriptorForZero#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272850" at="114,38,115,29" />
<scope id="1894367444356272850" at="389,62,396,22">
<node id="1894367444356272850" at="45,0,46,0" concept="1" trace="myConceptZero" />
<node id="1894367444356272850" at="117,38,118,29" concept="4" />
<node id="1894367444356272850" at="400,62,401,155" concept="3" />
<node id="1894367444356272850" at="401,155,402,34" concept="0" />
<node id="1894367444356272850" at="403,76,404,103" concept="0" />
<node id="1894367444356272850" at="404,103,405,17" concept="0" />
<node id="1894367444356272850" at="405,17,406,17" concept="0" />
<node id="1894367444356272850" at="406,17,407,22" concept="4" />
<node id="1894367444356272850" at="400,0,409,0" concept="6" trace="createDescriptorForZero#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272850" at="117,38,118,29" />
<scope id="1894367444356272850" at="400,62,407,22">
<var name="b" id="1894367444356272850" />
</scope>
<scope id="1894367444356272850" at="389,0,398,0" />
<scope id="1894367444356272850" at="400,0,409,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272855">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272855" at="30,0,31,0" concept="1" trace="props_Succ" />
<node id="1894367444356272855" at="172,33,173,76" concept="3" />
<node id="1894367444356272855" at="173,76,174,38" concept="0" />
<node id="1894367444356272855" at="174,38,175,36" concept="0" />
<node id="1894367444356272855" at="176,9,177,26" concept="4" />
<node id="1894367444356272855" at="171,38,176,9" concept="2" />
<scope id="1894367444356272855" at="172,33,175,36">
<node id="1894367444356272855" at="173,33,174,76" concept="3" />
<node id="1894367444356272855" at="174,76,175,38" concept="0" />
<node id="1894367444356272855" at="175,38,176,36" concept="0" />
<node id="1894367444356272855" at="177,9,178,26" concept="4" />
<node id="1894367444356272855" at="172,38,177,9" concept="2" />
<scope id="1894367444356272855" at="173,33,176,36">
<var name="cpb" id="1894367444356272855" />
</scope>
<scope id="1894367444356272855" at="171,38,177,26" />
<scope id="1894367444356272855" at="172,38,178,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272855" at="30,0,31,0" concept="5" trace="Succ" />
<node id="1894367444356272855" at="60,49,61,43" concept="0" />
<node id="1894367444356272855" at="61,49,62,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272855" at="35,0,36,0" concept="1" trace="myConceptSucc" />
<node id="1894367444356272855" at="96,38,97,29" concept="4" />
<node id="1894367444356272855" at="309,62,310,155" concept="3" />
<node id="1894367444356272855" at="310,155,311,34" concept="0" />
<node id="1894367444356272855" at="312,76,313,103" concept="0" />
<node id="1894367444356272855" at="313,103,314,17" concept="0" />
<node id="1894367444356272860" at="314,17,315,195" concept="0" />
<node id="1894367444356272855" at="315,195,316,20" concept="0" />
<node id="1894367444356272855" at="316,20,317,22" concept="4" />
<node id="1894367444356272855" at="309,0,319,0" concept="6" trace="createDescriptorForSucc#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272855" at="96,38,97,29" />
<scope id="1894367444356272855" at="309,62,317,22">
<node id="1894367444356272855" at="97,38,98,29" concept="4" />
<node id="1894367444356272855" at="312,62,313,155" concept="3" />
<node id="1894367444356272855" at="313,155,314,34" concept="0" />
<node id="1894367444356272855" at="315,76,316,103" concept="0" />
<node id="1894367444356272855" at="316,103,317,17" concept="0" />
<node id="1894367444356272860" at="317,17,318,195" concept="0" />
<node id="1894367444356272855" at="318,195,319,20" concept="0" />
<node id="1894367444356272855" at="319,20,320,22" concept="4" />
<node id="1894367444356272855" at="312,0,322,0" concept="6" trace="createDescriptorForSucc#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272855" at="97,38,98,29" />
<scope id="1894367444356272855" at="312,62,320,22">
<var name="b" id="1894367444356272855" />
</scope>
<scope id="1894367444356272855" at="309,0,319,0" />
<scope id="1894367444356272855" at="312,0,322,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272864">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272864" at="36,0,37,0" concept="1" trace="props_Var" />
<node id="1894367444356272864" at="212,32,213,76" concept="3" />
<node id="1894367444356272864" at="213,76,214,35" concept="0" />
<node id="1894367444356272864" at="214,35,215,35" concept="0" />
<node id="1894367444356272864" at="216,9,217,25" concept="4" />
<node id="1894367444356272864" at="211,37,216,9" concept="2" />
<scope id="1894367444356272864" at="212,32,215,35">
<node id="1894367444356272864" at="37,0,38,0" concept="1" trace="props_Var" />
<node id="1894367444356272864" at="220,32,221,76" concept="3" />
<node id="1894367444356272864" at="221,76,222,35" concept="0" />
<node id="1894367444356272864" at="222,35,223,35" concept="0" />
<node id="1894367444356272864" at="224,9,225,25" concept="4" />
<node id="1894367444356272864" at="219,37,224,9" concept="2" />
<scope id="1894367444356272864" at="220,32,223,35">
<var name="cpb" id="1894367444356272864" />
</scope>
<scope id="1894367444356272864" at="211,37,217,25" />
<scope id="1894367444356272864" at="219,37,225,25" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272864" at="36,0,37,0" concept="5" trace="Var" />
<node id="1894367444356272864" at="66,47,67,42" concept="0" />
<node id="1894367444356272864" at="37,0,38,0" concept="5" trace="Var" />
<node id="1894367444356272864" at="68,47,69,42" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272864" at="41,0,42,0" concept="1" trace="myConceptVar" />
<node id="1894367444356272864" at="108,37,109,28" concept="4" />
<node id="1894367444356272864" at="362,61,363,154" concept="3" />
<node id="1894367444356272864" at="363,154,364,34" concept="0" />
<node id="1894367444356272864" at="364,34,365,71" concept="0" />
<node id="1894367444356272864" at="366,76,367,103" concept="0" />
<node id="1894367444356272864" at="367,103,368,17" concept="0" />
<node id="1894367444356272864" at="368,17,369,22" concept="4" />
<node id="1894367444356272864" at="362,0,371,0" concept="6" trace="createDescriptorForVar#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272864" at="108,37,109,28" />
<scope id="1894367444356272864" at="362,61,369,22">
<node id="1894367444356272864" at="42,0,43,0" concept="1" trace="myConceptVar" />
<node id="1894367444356272864" at="111,37,112,28" concept="4" />
<node id="1894367444356272864" at="373,61,374,154" concept="3" />
<node id="1894367444356272864" at="374,154,375,34" concept="0" />
<node id="1894367444356272864" at="375,34,376,71" concept="0" />
<node id="1894367444356272864" at="377,76,378,103" concept="0" />
<node id="1894367444356272864" at="378,103,379,17" concept="0" />
<node id="1894367444356272864" at="379,17,380,22" concept="4" />
<node id="1894367444356272864" at="373,0,382,0" concept="6" trace="createDescriptorForVar#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272864" at="111,37,112,28" />
<scope id="1894367444356272864" at="373,61,380,22">
<var name="b" id="1894367444356272864" />
</scope>
<scope id="1894367444356272864" at="362,0,371,0" />
<scope id="1894367444356272864" at="373,0,382,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272898">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272898" at="12,0,13,0" concept="1" trace="props_Add" />
<node id="1894367444356272898" at="47,32,48,76" concept="3" />
<node id="1894367444356272898" at="48,76,49,35" concept="0" />
<node id="1894367444356272898" at="49,35,50,35" concept="0" />
<node id="1894367444356272898" at="51,9,52,25" concept="4" />
<node id="1894367444356272898" at="46,37,51,9" concept="2" />
<scope id="1894367444356272898" at="47,32,50,35">
<node id="1894367444356272898" at="48,32,49,76" concept="3" />
<node id="1894367444356272898" at="49,76,50,35" concept="0" />
<node id="1894367444356272898" at="50,35,51,35" concept="0" />
<node id="1894367444356272898" at="52,9,53,25" concept="4" />
<node id="1894367444356272898" at="47,37,52,9" concept="2" />
<scope id="1894367444356272898" at="48,32,51,35">
<var name="cpb" id="1894367444356272898" />
</scope>
<scope id="1894367444356272898" at="46,37,52,25" />
<scope id="1894367444356272898" at="47,37,53,25" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272898" at="12,0,13,0" concept="5" trace="Add" />
<node id="1894367444356272898" at="42,116,43,42" concept="0" />
<node id="1894367444356272898" at="43,116,44,42" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272898" at="17,0,18,0" concept="1" trace="myConceptAdd" />
<node id="1894367444356272898" at="60,37,61,28" concept="4" />
<node id="1894367444356272898" at="130,61,131,154" concept="3" />
<node id="1894367444356272898" at="131,154,132,34" concept="0" />
<node id="1894367444356272898" at="133,76,134,103" concept="0" />
<node id="1894367444356272898" at="134,103,135,17" concept="0" />
<node id="1894367444356272903" at="135,17,136,196" concept="0" />
<node id="1894367444356272907" at="136,196,137,196" concept="0" />
<node id="1894367444356272898" at="137,196,138,17" concept="0" />
<node id="1894367444356272898" at="138,17,139,22" concept="4" />
<node id="1894367444356272898" at="130,0,141,0" concept="6" trace="createDescriptorForAdd#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272898" at="60,37,61,28" />
<scope id="1894367444356272898" at="130,61,139,22">
<node id="1894367444356272898" at="61,37,62,28" concept="4" />
<node id="1894367444356272898" at="133,61,134,154" concept="3" />
<node id="1894367444356272898" at="134,154,135,34" concept="0" />
<node id="1894367444356272898" at="136,76,137,103" concept="0" />
<node id="1894367444356272898" at="137,103,138,17" concept="0" />
<node id="1894367444356272903" at="138,17,139,196" concept="0" />
<node id="1894367444356272907" at="139,196,140,196" concept="0" />
<node id="1894367444356272898" at="140,196,141,17" concept="0" />
<node id="1894367444356272898" at="141,17,142,22" concept="4" />
<node id="1894367444356272898" at="133,0,144,0" concept="6" trace="createDescriptorForAdd#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272898" at="61,37,62,28" />
<scope id="1894367444356272898" at="133,61,142,22">
<var name="b" id="1894367444356272898" />
</scope>
<scope id="1894367444356272898" at="130,0,141,0" />
<scope id="1894367444356272898" at="133,0,144,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272914">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272914" at="26,0,27,0" concept="1" trace="props_Mult" />
<node id="1894367444356272914" at="144,33,145,76" concept="3" />
<node id="1894367444356272914" at="145,76,146,35" concept="0" />
<node id="1894367444356272914" at="146,35,147,36" concept="0" />
<node id="1894367444356272914" at="148,9,149,26" concept="4" />
<node id="1894367444356272914" at="143,38,148,9" concept="2" />
<scope id="1894367444356272914" at="144,33,147,36">
<node id="1894367444356272914" at="145,33,146,76" concept="3" />
<node id="1894367444356272914" at="146,76,147,35" concept="0" />
<node id="1894367444356272914" at="147,35,148,36" concept="0" />
<node id="1894367444356272914" at="149,9,150,26" concept="4" />
<node id="1894367444356272914" at="144,38,149,9" concept="2" />
<scope id="1894367444356272914" at="145,33,148,36">
<var name="cpb" id="1894367444356272914" />
</scope>
<scope id="1894367444356272914" at="143,38,149,26" />
<scope id="1894367444356272914" at="144,38,150,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272914" at="26,0,27,0" concept="5" trace="Mult" />
<node id="1894367444356272914" at="56,51,57,43" concept="0" />
<node id="1894367444356272914" at="57,51,58,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272914" at="31,0,32,0" concept="1" trace="myConceptMult" />
<node id="1894367444356272914" at="88,38,89,29" concept="4" />
<node id="1894367444356272914" at="271,62,272,155" concept="3" />
<node id="1894367444356272914" at="272,155,273,34" concept="0" />
<node id="1894367444356272914" at="274,76,275,103" concept="0" />
<node id="1894367444356272914" at="275,103,276,17" concept="0" />
<node id="1894367444356272919" at="276,17,277,196" concept="0" />
<node id="1894367444356272923" at="277,196,278,196" concept="0" />
<node id="1894367444356272914" at="278,196,279,17" concept="0" />
<node id="1894367444356272914" at="279,17,280,22" concept="4" />
<node id="1894367444356272914" at="271,0,282,0" concept="6" trace="createDescriptorForMult#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272914" at="88,38,89,29" />
<scope id="1894367444356272914" at="271,62,280,22">
<node id="1894367444356272914" at="89,38,90,29" concept="4" />
<node id="1894367444356272914" at="274,62,275,155" concept="3" />
<node id="1894367444356272914" at="275,155,276,34" concept="0" />
<node id="1894367444356272914" at="277,76,278,103" concept="0" />
<node id="1894367444356272914" at="278,103,279,17" concept="0" />
<node id="1894367444356272919" at="279,17,280,196" concept="0" />
<node id="1894367444356272923" at="280,196,281,196" concept="0" />
<node id="1894367444356272914" at="281,196,282,17" concept="0" />
<node id="1894367444356272914" at="282,17,283,22" concept="4" />
<node id="1894367444356272914" at="274,0,285,0" concept="6" trace="createDescriptorForMult#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272914" at="89,38,90,29" />
<scope id="1894367444356272914" at="274,62,283,22">
<var name="b" id="1894367444356272914" />
</scope>
<scope id="1894367444356272914" at="271,0,282,0" />
<scope id="1894367444356272914" at="274,0,285,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272930">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272930" at="18,0,19,0" concept="1" trace="props_Lam" />
<node id="1894367444356272930" at="88,32,89,76" concept="3" />
<node id="1894367444356272930" at="89,76,90,35" concept="0" />
<node id="1894367444356272930" at="90,35,91,35" concept="0" />
<node id="1894367444356272930" at="92,9,93,25" concept="4" />
<node id="1894367444356272930" at="87,37,92,9" concept="2" />
<scope id="1894367444356272930" at="88,32,91,35">
<node id="1894367444356272930" at="89,32,90,76" concept="3" />
<node id="1894367444356272930" at="90,76,91,35" concept="0" />
<node id="1894367444356272930" at="91,35,92,35" concept="0" />
<node id="1894367444356272930" at="93,9,94,25" concept="4" />
<node id="1894367444356272930" at="88,37,93,9" concept="2" />
<scope id="1894367444356272930" at="89,32,92,35">
<var name="cpb" id="1894367444356272930" />
</scope>
<scope id="1894367444356272930" at="87,37,93,25" />
<scope id="1894367444356272930" at="88,37,94,25" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272930" at="18,0,19,0" concept="5" trace="Lam" />
<node id="1894367444356272930" at="48,50,49,42" concept="0" />
<node id="1894367444356272930" at="49,50,50,42" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272930" at="23,0,24,0" concept="1" trace="myConceptLam" />
<node id="1894367444356272930" at="72,37,73,28" concept="4" />
<node id="1894367444356272930" at="190,61,191,154" concept="3" />
<node id="1894367444356272930" at="191,154,192,34" concept="0" />
<node id="1894367444356272930" at="192,34,193,71" concept="0" />
<node id="1894367444356272930" at="194,76,195,103" concept="0" />
<node id="1894367444356272930" at="195,103,196,17" concept="0" />
<node id="1894367444356272950" at="196,17,197,195" concept="0" />
<node id="1894367444356272930" at="197,195,198,19" concept="0" />
<node id="1894367444356272930" at="198,19,199,22" concept="4" />
<node id="1894367444356272930" at="190,0,201,0" concept="6" trace="createDescriptorForLam#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272930" at="72,37,73,28" />
<scope id="1894367444356272930" at="190,61,199,22">
<node id="1894367444356272930" at="73,37,74,28" concept="4" />
<node id="1894367444356272930" at="193,61,194,154" concept="3" />
<node id="1894367444356272930" at="194,154,195,34" concept="0" />
<node id="1894367444356272930" at="195,34,196,71" concept="0" />
<node id="1894367444356272930" at="197,76,198,103" concept="0" />
<node id="1894367444356272930" at="198,103,199,17" concept="0" />
<node id="1894367444356272950" at="199,17,200,195" concept="0" />
<node id="1894367444356272930" at="200,195,201,19" concept="0" />
<node id="1894367444356272930" at="201,19,202,22" concept="4" />
<node id="1894367444356272930" at="193,0,204,0" concept="6" trace="createDescriptorForLam#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272930" at="73,37,74,28" />
<scope id="1894367444356272930" at="193,61,202,22">
<var name="b" id="1894367444356272930" />
</scope>
<scope id="1894367444356272930" at="190,0,201,0" />
<scope id="1894367444356272930" at="193,0,204,0" />
</file>
</root>
<root nodeRef="r:dbbc3a30-e198-4dc0-ba2b-f425856d088c(FORecursiveTypes.structure)/1894367444356272954">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272954" at="19,0,20,0" concept="1" trace="props_Let" />
<node id="1894367444356272954" at="95,32,96,76" concept="3" />
<node id="1894367444356272954" at="96,76,97,35" concept="0" />
<node id="1894367444356272954" at="97,35,98,35" concept="0" />
<node id="1894367444356272954" at="99,9,100,25" concept="4" />
<node id="1894367444356272954" at="94,37,99,9" concept="2" />
<scope id="1894367444356272954" at="95,32,98,35">
<node id="1894367444356272954" at="96,32,97,76" concept="3" />
<node id="1894367444356272954" at="97,76,98,35" concept="0" />
<node id="1894367444356272954" at="98,35,99,35" concept="0" />
<node id="1894367444356272954" at="100,9,101,25" concept="4" />
<node id="1894367444356272954" at="95,37,100,9" concept="2" />
<scope id="1894367444356272954" at="96,32,99,35">
<var name="cpb" id="1894367444356272954" />
</scope>
<scope id="1894367444356272954" at="94,37,100,25" />
<scope id="1894367444356272954" at="95,37,101,25" />
</file>
<file name="LanguageConceptSwitch.java">