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

introduction of languages for Products and Records and type checker for...

introduction of languages for Products and Records and type checker for Records including test (not all test cases succeed)
parent f04ae367
......@@ -3,7 +3,10 @@
<component name="MPSProject">
<projectModules>
<modulePath path="$PROJECT_DIR$/languages/NewLanguage/SumTypes.mpl" folder="" />
<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/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="" />
</projectModules>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<language namespace="ProductTypes" uuid="85035970-2cea-4190-979b-40e09340050d" languageVersion="0" moduleVersion="0">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<accessoryModels />
<generators>
<generator alias="main" namespace="ProductTypes#3192721931267750511" uuid="3ccd3fc1-dcd8-4ebe-b078-b09cf06ee011">
<models>
<modelRoot contentPath="${module}/generator/template" type="default">
<sourceRoot location="." />
</modelRoot>
</models>
<external-templates />
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="8" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="1" />
<language slang="l:b401a680-8325-4110-8fd3-84331ff25bef:jetbrains.mps.lang.generator" version="2" />
<language slang="l:d7706f63-9be2-479c-a3da-ae92af1e64d5:jetbrains.mps.lang.generator.generationContext" version="0" />
<language slang="l:289fcc83-6543-41e8-a5ca-768235715ce4:jetbrains.mps.lang.generator.generationParameters" version="0" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:3a13115c-633c-4c5c-bbcc-75c4219e9555:jetbrains.mps.lang.quotation" version="0" />
<language slang="l:13744753-c81f-424a-9c1b-cf8943bf4e86:jetbrains.mps.lang.sharedConcepts" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="13" />
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
</languageVersions>
<dependencyVersions>
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="85035970-2cea-4190-979b-40e09340050d(ProductTypes)" version="0" />
<module reference="3ccd3fc1-dcd8-4ebe-b078-b09cf06ee011(ProductTypes#3192721931267750511)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
</dependencyVersions>
<mapping-priorities />
</generator>
</generators>
<sourcePath />
<dependencies>
<dependency reexport="false">b802a056-92a2-4fbc-902e-f8e5004c331f(org.inca.core)</dependency>
</dependencies>
<languageVersions>
<language slang="l:9d69e719-78c8-4286-90db-fb19c107d049:com.mbeddr.mpsutil.grammarcells" version="0" />
<language slang="l:b4f35ed8-45af-4efa-abe4-00ac26956e69:com.mbeddr.mpsutil.grammarcells.runtimelang" version="0" />
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="8" />
<language slang="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" version="0" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
<language slang="l:af65afd8-f0dd-4942-87d9-63a55f2a9db1:jetbrains.mps.lang.behavior" version="2" />
<language slang="l:3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1:jetbrains.mps.lang.constraints" version="4" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="1" />
<language slang="l:f4ad079d-bc71-4ffb-9600-9328705cf998:jetbrains.mps.lang.descriptor" version="0" />
<language slang="l:18bc6592-03a6-4e29-a83a-7ff23bde13ba:jetbrains.mps.lang.editor" version="12" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:d4615e3b-d671-4ba9-af01-2b78369b0ba7:jetbrains.mps.lang.pattern" version="1" />
<language slang="l:3a13115c-633c-4c5c-bbcc-75c4219e9555:jetbrains.mps.lang.quotation" version="0" />
<language slang="l:982eb8df-2c96-4bd7-9963-11712ea622e5:jetbrains.mps.lang.resources" version="2" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="13" />
<language slang="l:c72da2b9-7cce-4447-8389-f407dc1158b7:jetbrains.mps.lang.structure" version="7" />
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:7a5dda62-9140-4668-ab76-d5ed1746f2b2:jetbrains.mps.lang.typesystem" version="1" />
</languageVersions>
<dependencyVersions>
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)" version="0" />
<module reference="498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)" version="0" />
<module reference="85035970-2cea-4190-979b-40e09340050d(ProductTypes)" version="0" />
<module reference="f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)" version="0" />
<module reference="fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures)" version="0" />
<module reference="83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)" version="0" />
<module reference="f2801650-65d5-424e-bb1b-463a8781b786(jetbrains.mps.baseLanguage.javadoc)" version="0" />
<module reference="e39e4a59-8cb6-498e-860e-8fa8361c0d90(jetbrains.mps.baseLanguage.scopes)" version="0" />
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" version="0" />
<module reference="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
<module reference="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" />
<module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" />
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
<module reference="9ded098b-ad6a-4657-bfd9-48636cfe8bc3(jetbrains.mps.lang.traceable)" version="0" />
<module reference="b802a056-92a2-4fbc-902e-f8e5004c331f(org.inca.core)" version="0" />
<module reference="bc791f96-4749-4311-a6e4-241e47ca97f9(org.inca.core.util)" version="0" />
</dependencyVersions>
<extendedLanguages />
</language>
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<root>
<file name="BehaviorAspectDescriptor.java">
<unit at="11,0,22,0" name="ProductTypes.behavior.BehaviorAspectDescriptor" />
</file>
</root>
</debug-info>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<checkpoints>
<plan id="AspectCPS">
<checkpoint id="DescriptorClasses" file="aspectcps-descriptorclasses.mps" />
</plan>
</checkpoints>
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123140:jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123165:jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070475587102:jetbrains.mps.baseLanguage.structure.SuperConstructorInvocation" />
<root>
<file name="ConstraintsAspectDescriptor.java">
<unit at="13,0,33,0" name="ProductTypes.constraints.ConstraintsAspectDescriptor" />
</file>
</root>
<root nodeRef="r:df0809dc-3a89-45ff-8535-f76f378580da(ProductTypes.constraints)/2951477311799558508">
<file name="Var_Constraints.java">
<node id="2951477311799558508" at="17,28,18,134" concept="5" />
<node id="2951477311799558508" at="22,84,23,119" concept="3" />
<node id="2951477311799558586" at="26,40,27,20" concept="4" />
<node id="2951477311799558586" at="30,70,31,37" concept="3" />
<node id="2951477311799559064" at="31,37,32,233" concept="4" />
<node id="2951477311799558508" at="34,7,35,22" concept="4" />
<node id="2951477311799558508" at="17,0,20,0" concept="0" trace="Var_Constraints#()V" />
<node id="2951477311799558586" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="2951477311799558586" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="2951477311799558586" at="23,119,34,7" concept="1" />
<node id="2951477311799558508" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="2951477311799558508" at="17,28,18,134" />
<scope id="2951477311799558586" at="26,40,27,20" />
<scope id="2951477311799558586" at="30,70,32,233">
<var name="propertyName" id="2951477311799558586" />
</scope>
<scope id="2951477311799558508" at="17,0,20,0" />
<scope id="2951477311799558586" at="25,0,29,0" />
<scope id="2951477311799558586" at="29,0,34,0">
<var name="node" id="2951477311799558586" />
<var name="propertyValue" id="2951477311799558586" />
</scope>
<scope id="2951477311799558508" at="22,84,35,22">
<var name="properties" id="2951477311799558508" />
</scope>
<scope id="2951477311799558508" at="21,0,37,0" />
<unit id="2951477311799558586" at="24,137,34,5" name="ProductTypes.constraints.Var_Constraints$1" />
<unit id="2951477311799558508" at="16,0,38,0" name="ProductTypes.constraints.Var_Constraints" />
</file>
</root>
<root nodeRef="r:df0809dc-3a89-45ff-8535-f76f378580da(ProductTypes.constraints)/2951477311799627903">
<file name="Let_Constraints.java">
<node id="2951477311799627903" at="17,28,18,134" concept="5" />
<node id="2951477311799627903" at="22,84,23,119" concept="3" />
<node id="2951477311799628656" at="26,40,27,20" concept="4" />
<node id="2951477311799628656" at="30,70,31,37" concept="3" />
<node id="5790571747118569642" at="31,37,32,149" concept="4" />
<node id="2951477311799627903" at="34,7,35,22" concept="4" />
<node id="2951477311799627903" at="17,0,20,0" concept="0" trace="Let_Constraints#()V" />
<node id="2951477311799628656" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="2951477311799628656" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="2951477311799628656" at="23,119,34,7" concept="1" />
<node id="2951477311799627903" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="2951477311799627903" at="17,28,18,134" />
<scope id="2951477311799628656" at="26,40,27,20" />
<scope id="2951477311799628656" at="30,70,32,149">
<var name="propertyName" id="2951477311799628656" />
</scope>
<scope id="2951477311799627903" at="17,0,20,0" />
<scope id="2951477311799628656" at="25,0,29,0" />
<scope id="2951477311799628656" at="29,0,34,0">
<var name="node" id="2951477311799628656" />
<var name="propertyValue" id="2951477311799628656" />
</scope>
<scope id="2951477311799627903" at="22,84,35,22">
<var name="properties" id="2951477311799627903" />
</scope>
<scope id="2951477311799627903" at="21,0,37,0" />
<unit id="2951477311799628656" at="24,137,34,5" name="ProductTypes.constraints.Let_Constraints$1" />
<unit id="2951477311799627903" at="16,0,38,0" name="ProductTypes.constraints.Let_Constraints" />
</file>
</root>
<root nodeRef="r:df0809dc-3a89-45ff-8535-f76f378580da(ProductTypes.constraints)/7618853173233427716">
<file name="Lam_Constraints.java">
<node id="7618853173233427716" at="17,28,18,134" concept="5" />
<node id="7618853173233427716" at="22,84,23,119" concept="3" />
<node id="7618853173233427717" at="26,40,27,20" concept="4" />
<node id="7618853173233427717" at="30,70,31,37" concept="3" />
<node id="7618853173233428196" at="31,37,32,149" concept="4" />
<node id="7618853173233427716" at="34,7,35,22" concept="4" />
<node id="7618853173233427716" at="17,0,20,0" concept="0" trace="Lam_Constraints#()V" />
<node id="7618853173233427717" at="25,0,29,0" concept="2" trace="hasOwnValidator#()Z" />
<node id="7618853173233427717" at="29,0,34,0" concept="2" trace="validateValue#(Lorg/jetbrains/mps/openapi/model/SNode;Ljava/lang/String;)Z" />
<node id="7618853173233427717" at="23,119,34,7" concept="1" />
<node id="7618853173233427716" at="21,0,37,0" concept="2" trace="getSpecifiedProperties#()Ljava/util/Map;" />
<scope id="7618853173233427716" at="17,28,18,134" />
<scope id="7618853173233427717" at="26,40,27,20" />
<scope id="7618853173233427717" at="30,70,32,149">
<var name="propertyName" id="7618853173233427717" />
</scope>
<scope id="7618853173233427716" at="17,0,20,0" />
<scope id="7618853173233427717" at="25,0,29,0" />
<scope id="7618853173233427717" at="29,0,34,0">
<var name="node" id="7618853173233427717" />
<var name="propertyValue" id="7618853173233427717" />
</scope>
<scope id="7618853173233427716" at="22,84,35,22">
<var name="properties" id="7618853173233427716" />
</scope>
<scope id="7618853173233427716" at="21,0,37,0" />
<unit id="7618853173233427717" at="24,137,34,5" name="ProductTypes.constraints.Lam_Constraints$1" />
<unit id="7618853173233427716" at="16,0,38,0" name="ProductTypes.constraints.Lam_Constraints" />
</file>
</root>
</debug-info>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<checkpoints>
<plan id="AspectCPS">
<checkpoint id="DescriptorClasses" file="aspectcps-descriptorclasses.mps" />
</plan>
</checkpoints>
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123155:jetbrains.mps.baseLanguage.structure.ExpressionStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068390468200:jetbrains.mps.baseLanguage.structure.FieldDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123159:jetbrains.mps.baseLanguage.structure.IfStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242864:jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1068581242878:jetbrains.mps.baseLanguage.structure.ReturnStatement" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1070462154015:jetbrains.mps.baseLanguage.structure.StaticFieldDeclaration" />
<concept fqn="c:f3061a53-9226-4cc5-a443-f952ceaf5816/1081236700938:jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" />
<root>
<file name="ConceptPresentationAspectImpl.java">
<unit at="11,0,211,0" name="ProductTypes.structure.ConceptPresentationAspectImpl" />
</file>
<file name="LanguageConceptSwitch.java">
<unit at="10,0,74,0" name="ProductTypes.structure.LanguageConceptSwitch" />
</file>
<file name="StructureAspectDescriptor.java">
<unit at="15,0,347,0" name="ProductTypes.structure.StructureAspectDescriptor" />
</file>
</root>
<root nodeRef="r:1cdf8eaf-e647-4a13-8197-687b30de7253(ProductTypes.structure)/1894367444356272849">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272849" at="32,0,33,0" concept="1" trace="props_Term" />
<node id="1894367444356272849" at="182,33,183,76" concept="3" />
<node id="1894367444356272849" at="183,76,184,36" concept="0" />
<node id="1894367444356272849" at="185,9,186,26" concept="4" />
<node id="1894367444356272849" at="181,38,185,9" concept="2" />
<scope id="1894367444356272849" at="182,33,184,36">
<var name="cpb" id="1894367444356272849" />
</scope>
<scope id="1894367444356272849" at="181,38,186,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272849" at="32,0,33,0" concept="5" trace="Term" />
<node id="1894367444356272849" at="58,43,59,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272849" at="36,0,37,0" concept="1" trace="myConceptTerm" />
<node id="1894367444356272849" at="95,38,96,29" concept="4" />
<node id="1894367444356272849" at="119,34,120,76" concept="0" />
<node id="1894367444356272849" at="130,34,131,76" concept="0" />
<node id="1894367444356272849" at="141,34,142,76" concept="0" />
<node id="1894367444356272849" at="151,34,152,76" concept="0" />
<node id="1894367444356272849" at="179,71,180,76" concept="0" />
<node id="1894367444356272849" at="190,71,191,76" concept="0" />
<node id="1894367444356272849" at="238,34,239,76" concept="0" />
<node id="1894367444356272849" at="258,34,259,76" concept="0" />
<node id="1894367444356272849" at="268,34,269,76" concept="0" />
<node id="1894367444356272849" at="297,34,298,76" concept="0" />
<node id="1894367444356272849" at="306,34,307,76" concept="0" />
<node id="1894367444356272849" at="314,62,315,151" concept="3" />
<node id="1894367444356272849" at="315,151,316,19" concept="0" />
<node id="1894367444356272849" at="316,19,317,99" concept="0" />
<node id="1894367444356272849" at="317,99,318,17" concept="0" />
<node id="1894367444356272849" at="318,17,319,22" concept="4" />
<node id="1894367444356272849" at="331,71,332,76" concept="0" />
<node id="1894367444356272849" at="339,34,340,76" concept="0" />
<node id="1894367444356272849" at="314,0,321,0" concept="6" trace="createDescriptorForTerm#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272849" at="95,38,96,29" />
<scope id="1894367444356272849" at="314,62,319,22">
<var name="b" id="1894367444356272849" />
</scope>
<scope id="1894367444356272849" at="314,0,321,0" />
</file>
</root>
<root nodeRef="r:1cdf8eaf-e647-4a13-8197-687b30de7253(ProductTypes.structure)/1894367444356272850">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272850" at="35,0,36,0" concept="1" trace="props_Zero" />
<node id="1894367444356272850" at="201,33,202,76" concept="3" />
<node id="1894367444356272850" at="202,76,203,35" concept="0" />
<node id="1894367444356272850" at="203,35,204,36" concept="0" />
<node id="1894367444356272850" at="205,9,206,26" concept="4" />
<node id="1894367444356272850" at="200,38,205,9" concept="2" />
<scope id="1894367444356272850" at="201,33,204,36">
<var name="cpb" id="1894367444356272850" />
</scope>
<scope id="1894367444356272850" at="200,38,206,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272850" at="35,0,36,0" concept="5" trace="Zero" />
<node id="1894367444356272850" at="61,42,62,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272850" at="39,0,40,0" concept="1" trace="myConceptZero" />
<node id="1894367444356272850" at="101,38,102,29" concept="4" />
<node id="1894367444356272850" at="337,62,338,151" concept="3" />
<node id="1894367444356272850" at="338,151,339,34" concept="0" />
<node id="1894367444356272850" at="340,76,341,99" concept="0" />
<node id="1894367444356272850" at="341,99,342,17" concept="0" />
<node id="1894367444356272850" at="342,17,343,17" concept="0" />
<node id="1894367444356272850" at="343,17,344,22" concept="4" />
<node id="1894367444356272850" at="337,0,346,0" concept="6" trace="createDescriptorForZero#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272850" at="101,38,102,29" />
<scope id="1894367444356272850" at="337,62,344,22">
<var name="b" id="1894367444356272850" />
</scope>
<scope id="1894367444356272850" at="337,0,346,0" />
</file>
</root>
<root nodeRef="r:1cdf8eaf-e647-4a13-8197-687b30de7253(ProductTypes.structure)/1894367444356272855">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272855" at="31,0,32,0" concept="1" trace="props_Succ" />
<node id="1894367444356272855" at="175,33,176,76" concept="3" />
<node id="1894367444356272855" at="176,76,177,38" concept="0" />
<node id="1894367444356272855" at="177,38,178,36" concept="0" />
<node id="1894367444356272855" at="179,9,180,26" concept="4" />
<node id="1894367444356272855" at="174,38,179,9" concept="2" />
<scope id="1894367444356272855" at="175,33,178,36">
<var name="cpb" id="1894367444356272855" />
</scope>
<scope id="1894367444356272855" at="174,38,180,26" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272855" at="31,0,32,0" concept="5" trace="Succ" />
<node id="1894367444356272855" at="57,42,58,43" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272855" at="35,0,36,0" concept="1" trace="myConceptSucc" />
<node id="1894367444356272855" at="93,38,94,29" concept="4" />
<node id="1894367444356272855" at="304,62,305,151" concept="3" />
<node id="1894367444356272855" at="305,151,306,34" concept="0" />
<node id="1894367444356272855" at="307,76,308,99" concept="0" />
<node id="1894367444356272855" at="308,99,309,17" concept="0" />
<node id="1894367444356272860" at="309,17,310,195" concept="0" />
<node id="1894367444356272855" at="310,195,311,20" concept="0" />
<node id="1894367444356272855" at="311,20,312,22" concept="4" />
<node id="1894367444356272855" at="304,0,314,0" concept="6" trace="createDescriptorForSucc#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272855" at="93,38,94,29" />
<scope id="1894367444356272855" at="304,62,312,22">
<var name="b" id="1894367444356272855" />
</scope>
<scope id="1894367444356272855" at="304,0,314,0" />
</file>
</root>
<root nodeRef="r:1cdf8eaf-e647-4a13-8197-687b30de7253(ProductTypes.structure)/1894367444356272864">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272864" at="34,0,35,0" concept="1" trace="props_Var" />
<node id="1894367444356272864" at="194,32,195,76" concept="3" />
<node id="1894367444356272864" at="195,76,196,35" concept="0" />
<node id="1894367444356272864" at="196,35,197,35" concept="0" />
<node id="1894367444356272864" at="198,9,199,25" concept="4" />
<node id="1894367444356272864" at="193,37,198,9" concept="2" />
<scope id="1894367444356272864" at="194,32,197,35">
<var name="cpb" id="1894367444356272864" />
</scope>
<scope id="1894367444356272864" at="193,37,199,25" />
</file>
<file name="LanguageConceptSwitch.java">
<node id="1894367444356272864" at="34,0,35,0" concept="5" trace="Var" />
<node id="1894367444356272864" at="60,43,61,42" concept="0" />
</file>
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272864" at="38,0,39,0" concept="1" trace="myConceptVar" />
<node id="1894367444356272864" at="99,37,100,28" concept="4" />
<node id="1894367444356272864" at="328,61,329,150" concept="3" />
<node id="1894367444356272864" at="329,150,330,34" concept="0" />
<node id="1894367444356272864" at="330,34,331,71" concept="0" />
<node id="1894367444356272864" at="332,76,333,99" concept="0" />
<node id="1894367444356272864" at="333,99,334,17" concept="0" />
<node id="1894367444356272864" at="334,17,335,22" concept="4" />
<node id="1894367444356272864" at="328,0,337,0" concept="6" trace="createDescriptorForVar#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272864" at="99,37,100,28" />
<scope id="1894367444356272864" at="328,61,335,22">
<var name="b" id="1894367444356272864" />
</scope>
<scope id="1894367444356272864" at="328,0,337,0" />
</file>
</root>
<root nodeRef="r:1cdf8eaf-e647-4a13-8197-687b30de7253(ProductTypes.structure)/1894367444356272898">
<file name="ConceptPresentationAspectImpl.java">
<node id="1894367444356272898" at="12,0,13,0" concept="1" trace="props_Add" />
<node id="1894367444356272898" at="43,32,44,76" concept="3" />
<node id="1894367444356272898" at="44,76,45,35" concept="0" />
<node id="1894367444356272898" at="45,35,46,35" concept="0" />
<node id="1894367444356272898" at="47,9,48,25" concept="4" />
<node id="1894367444356272898" at="42,37,47,9" concept="2" />
<scope id="1894367444356272898" at="43,32,46,35">
<var name="cpb" id="1894367444356272898" />
</scope>
<scope id="1894367444356272898" at="42,37,48,25" />