Commit 1b8cd673 authored by André Pacak's avatar André Pacak
Browse files

first untested draft of variant type checker in IncA

parent 4e518c37
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="VariantTypes.Generator">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.util.Arrays" />
<classNode dependClassName="java.util.Collection" />
<classNode dependClassName="jetbrains.mps.smodel.Generator" />
<classNode dependClassName="jetbrains.mps.smodel.language.LanguageRegistry" />
<classNode dependClassName="jetbrains.mps.smodel.language.LanguageRuntime" />
<classNode dependClassName="main.QueriesGenerated" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SLanguage" />
<classNode dependClassName="org.jetbrains.mps.openapi.module.SModuleReference" />
<classNode dependClassName="org.jetbrains.mps.openapi.persistence.PersistenceFacade" />
<classNode extendsClassName="jetbrains.mps.generator.runtime.TemplateModuleInterpreted2" />
</dependency>
</dependenciesRoot>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="akiornw05pfvunuxjjc5ved65pmqtj4">
<files names="Generator.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<dependenciesRoot>
<dependency className="main.QueriesGenerated">
<classNode dependClassName="jetbrains.mps.generator.runtime.Generated" />
<classNode extendsClassName="jetbrains.mps.generator.impl.query.QueryProviderBase" />
</dependency>
</dependenciesRoot>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-bws3ki7ime2uofnjyxwa7kupcqladag">
<files names="QueriesGenerated.java" />
</product>
package VariantTypes;
/*Generated by MPS */
import jetbrains.mps.generator.runtime.TemplateModuleInterpreted2;
import jetbrains.mps.smodel.language.LanguageRegistry;
import jetbrains.mps.smodel.language.LanguageRuntime;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.module.SModuleReference;
import org.jetbrains.mps.openapi.persistence.PersistenceFacade;
import main.QueriesGenerated;
import java.util.Collection;
import org.jetbrains.mps.openapi.language.SLanguage;
import java.util.Arrays;
public class Generator extends TemplateModuleInterpreted2 {
public Generator(LanguageRegistry languageRegistry, LanguageRuntime sourceLanguage, jetbrains.mps.smodel.Generator generator) {
super(languageRegistry, sourceLanguage, generator);
}
@NotNull
@Override
public SModuleReference getModuleReference() {
return PersistenceFacade.getInstance().createModuleReference("43ec3317-23b8-48f4-bd93-0c88a66ac0f7(VariantTypes#658257277626144761)");
}
@Override
protected void fillTemplateModels(TemplateModuleInterpreted2.TemplateModels models) {
models.templates("r:2409afd7-dcf9-4166-9156-c22a80f7162f", QueriesGenerated.class);
}
@Override
public Collection<SLanguage> getTargetLanguages() {
SLanguage[] rv = new SLanguage[0];
return Arrays.asList(rv);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<root>
<file name="Generator.java">
<unit at="16,0,41,0" name="VariantTypes.Generator" />
</file>
</root>
</debug-info>
package main;
/*Generated by MPS */
import jetbrains.mps.generator.runtime.Generated;
import jetbrains.mps.generator.impl.query.QueryProviderBase;
@Generated
public class QueriesGenerated extends QueryProviderBase {
public QueriesGenerated() {
super(1);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<debug-info version="2">
<root>
<file name="QueriesGenerated.java">
<unit at="8,0,14,0" name="main.QueriesGenerated" />
</file>
</root>
</debug-info>
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:2409afd7-dcf9-4166-9156-c22a80f7162f(main@generator)">
<persistence version="9" />
<languages>
<devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" />
</languages>
<imports>
<import index="z36t" ref="r:cc1f3bc7-690e-4d71-8bfd-44a4ce63edf7(VariantTypes.structure)" />
</imports>
<registry>
<language id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator">
<concept id="1095416546421" name="jetbrains.mps.lang.generator.structure.MappingConfiguration" flags="ig" index="bUwia" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="bUwia" id="1Da9ityUTaV">
<property role="TrG5h" value="main" />
</node>
</model>
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:82b46fc9-9021-429b-8cfa-6c29c4c5598e(VariantTypes.behavior)">
<persistence version="9" />
<languages>
<use id="af65afd8-f0dd-4942-87d9-63a55f2a9db1" name="jetbrains.mps.lang.behavior" version="2" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports />
<registry />
</model>
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:7d13d2b6-c7ca-4335-966f-abdca8e3b4d3(VariantTypes.constraints)">
<persistence version="9" />
<languages>
<use id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints" version="4" />
<devkit ref="00000000-0000-4000-0000-5604ebd4f22c(jetbrains.mps.devkit.aspect.constraints)" />
</languages>
<imports>
<import index="z36t" ref="r:cc1f3bc7-690e-4d71-8bfd-44a4ce63edf7(VariantTypes.structure)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</concept>
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
</language>
<language id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints">
<concept id="1147467115080" name="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" flags="ng" index="EnEH3">
<reference id="1147467295099" name="applicableProperty" index="EomxK" />
<child id="1212097481299" name="propertyValidator" index="QCWH9" />
</concept>
<concept id="1212096972063" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" flags="in" index="QB0g5" />
<concept id="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
<reference id="1213093996982" name="concept" index="1M2myG" />
<child id="1213098023997" name="property" index="1MhHOB" />
</concept>
<concept id="1153138554286" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_propertyValue" flags="nn" index="1Wqviy" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
</language>
</registry>
<node concept="1M2fIO" id="6AVADwUrUk4">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="z36t:1Da9ityUTcy" resolve="Lam" />
<node concept="EnEH3" id="6AVADwUrUk5" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="6AVADwUrUk9" role="QCWH9">
<node concept="3clFbS" id="6AVADwUrUka" role="2VODD2">
<node concept="3clFbF" id="6AVADwUrUr$" role="3cqZAp">
<node concept="1Wc70l" id="6AVADwUrYyV" role="3clFbG">
<node concept="3fqX7Q" id="6AVADwUrYG_" role="3uHU7w">
<node concept="2OqwBi" id="6AVADwUrZx5" role="3fr31v">
<node concept="Xl_RD" id="6AVADwUrYPE" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="6AVADwUs0hw" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="6AVADwUs0qL" role="37wK5m" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="6AVADwUrUry" role="3uHU7B">
<node concept="2OqwBi" id="6AVADwUrVEe" role="3fr31v">
<node concept="Xl_RD" id="6AVADwUrUAO" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="6AVADwUrWpg" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="6AVADwUrWx9" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1M2fIO" id="2zPKfCWs05G">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="z36t:1Da9ityUTbw" resolve="Var" />
<node concept="EnEH3" id="2zPKfCWs06U" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="2zPKfCWs06Y" role="QCWH9">
<node concept="3clFbS" id="2zPKfCWs06Z" role="2VODD2">
<node concept="3clFbF" id="2zPKfCWs0eo" role="3cqZAp">
<node concept="1Wc70l" id="51sf_c1q$OG" role="3clFbG">
<node concept="1Wc70l" id="51sf_c1qxRL" role="3uHU7B">
<node concept="2OqwBi" id="65XyadYKJgV" role="3uHU7B">
<node concept="1Wqviy" id="65XyadYKJgW" role="2Oq$k0" />
<node concept="liA8E" id="65XyadYKJgX" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String):boolean" resolve="matches" />
<node concept="Xl_RD" id="65XyadYKJgY" role="37wK5m">
<property role="Xl_RC" value="[a-zA-Z$][a-zA-Z0-9$]*" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1qz$0" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1qz$2" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1qz$3" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="51sf_c1qz$4" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1qzGL" role="37wK5m" />
</node>
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1q_27" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1q_28" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1q_29" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="51sf_c1q_2a" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1q_2b" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1M2fIO" id="2zPKfCWsh1Z">
<property role="3GE5qa" value="term" />
<ref role="1M2myG" to="z36t:1Da9ityUTcU" resolve="Let" />
<node concept="EnEH3" id="2zPKfCWshdK" role="1MhHOB">
<ref role="EomxK" to="tpck:h0TrG11" resolve="name" />
<node concept="QB0g5" id="51sf_c1q_rl" role="QCWH9">
<node concept="3clFbS" id="51sf_c1q_rm" role="2VODD2">
<node concept="3clFbF" id="51sf_c1q_yE" role="3cqZAp">
<node concept="1Wc70l" id="51sf_c1qAVO" role="3clFbG">
<node concept="3fqX7Q" id="51sf_c1q_yG" role="3uHU7B">
<node concept="2OqwBi" id="51sf_c1q_yH" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1q_yI" role="2Oq$k0">
<property role="Xl_RC" value="true" />
</node>
<node concept="liA8E" id="51sf_c1q_yJ" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1q_yK" role="37wK5m" />
</node>
</node>
</node>
<node concept="3fqX7Q" id="51sf_c1qB6E" role="3uHU7w">
<node concept="2OqwBi" id="51sf_c1qB6F" role="3fr31v">
<node concept="Xl_RD" id="51sf_c1qB6G" role="2Oq$k0">
<property role="Xl_RC" value="false" />
</node>
<node concept="liA8E" id="51sf_c1qB6H" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="1Wqviy" id="51sf_c1qB6I" role="37wK5m" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:f0f94923-a186-46f9-a394-0b92c25f328f(VariantTypes.editor)">
<persistence version="9" />
<languages>
<use id="18bc6592-03a6-4e29-a83a-7ff23bde13ba" name="jetbrains.mps.lang.editor" version="12" />
<use id="9d69e719-78c8-4286-90db-fb19c107d049" name="com.mbeddr.mpsutil.grammarcells" version="0" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports>
<import index="z36t" ref="r:cc1f3bc7-690e-4d71-8bfd-44a4ce63edf7(VariantTypes.structure)" implicit="true" />
<import index="tpck" ref="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" implicit="true" />
<import index="tpco" ref="r:00000000-0000-4000-0000-011c89590284(jetbrains.mps.lang.core.editor)" implicit="true" />
</imports>
<registry>
<language id="18bc6592-03a6-4e29-a83a-7ff23bde13ba" name="jetbrains.mps.lang.editor">
<concept id="1071666914219" name="jetbrains.mps.lang.editor.structure.ConceptEditorDeclaration" flags="ig" index="24kQdi" />
<concept id="1140524381322" name="jetbrains.mps.lang.editor.structure.CellModel_ListWithRole" flags="ng" index="2czfm3">
<child id="1140524464360" name="cellLayout" index="2czzBx" />
</concept>
<concept id="1106270571710" name="jetbrains.mps.lang.editor.structure.CellLayout_Vertical" flags="nn" index="2iRkQZ" />
<concept id="1237303669825" name="jetbrains.mps.lang.editor.structure.CellLayout_Indent" flags="nn" index="l2Vlx" />
<concept id="1080736578640" name="jetbrains.mps.lang.editor.structure.BaseEditorComponent" flags="ig" index="2wURMF">
<child id="1080736633877" name="cellModel" index="2wV5jI" />
</concept>
<concept id="1078939183254" name="jetbrains.mps.lang.editor.structure.CellModel_Component" flags="sg" stub="3162947552742194261" index="PMmxH">
<reference id="1078939183255" name="editorComponent" index="PMmxG" />
</concept>
<concept id="1186414928363" name="jetbrains.mps.lang.editor.structure.SelectableStyleSheetItem" flags="ln" index="VPM3Z" />
<concept id="1630016958697344083" name="jetbrains.mps.lang.editor.structure.IMenu_Concept" flags="ng" index="2ZABuq">
<reference id="6591946374543067572" name="conceptDeclaration" index="aqKnT" />
</concept>
<concept id="3308396621974580100" name="jetbrains.mps.lang.editor.structure.SubstituteMenu_Default" flags="ng" index="3p36aQ" />
<concept id="1139848536355" name="jetbrains.mps.lang.editor.structure.CellModel_WithRole" flags="ng" index="1$h60E">
<reference id="1140103550593" name="relationDeclaration" index="1NtTu8" />
</concept>
<concept id="1073389446423" name="jetbrains.mps.lang.editor.structure.CellModel_Collection" flags="sn" stub="3013115976261988961" index="3EZMnI">
<child id="1106270802874" name="cellLayout" index="2iSdaV" />
<child id="1073389446424" name="childCellModel" index="3EZMnx" />
</concept>
<concept id="1073389577006" name="jetbrains.mps.lang.editor.structure.CellModel_Constant" flags="sn" stub="3610246225209162225" index="3F0ifn">
<property id="1073389577007" name="text" index="3F0ifm" />
</concept>
<concept id="1073389658414" name="jetbrains.mps.lang.editor.structure.CellModel_Property" flags="sg" stub="730538219796134133" index="3F0A7n" />
<concept id="1219418625346" name="jetbrains.mps.lang.editor.structure.IStyleContainer" flags="ng" index="3F0Thp">
<child id="1219418656006" name="styleItem" index="3F10Kt" />
</concept>
<concept id="1073389882823" name="jetbrains.mps.lang.editor.structure.CellModel_RefNode" flags="sg" stub="730538219795960754" index="3F1sOY" />
<concept id="1073390211982" name="jetbrains.mps.lang.editor.structure.CellModel_RefNodeList" flags="sg" stub="2794558372793454595" index="3F2HdR" />
<concept id="1166049232041" name="jetbrains.mps.lang.editor.structure.AbstractComponent" flags="ng" index="1XWOmA">
<reference id="1166049300910" name="conceptDeclaration" index="1XX52x" />
</concept>
</language>
<language id="9d69e719-78c8-4286-90db-fb19c107d049" name="com.mbeddr.mpsutil.grammarcells">
<concept id="1716599163375643733" name="com.mbeddr.mpsutil.grammarcells.structure.BracketsCell" flags="ng" index="drBAd">
<child id="1716599163375643743" name="left" index="drBA7" />
<child id="1716599163375643746" name="inner" index="drBAU" />
<child id="1716599163375643751" name="right" index="drBAZ" />
</concept>
<concept id="3921456275305506524" name="com.mbeddr.mpsutil.grammarcells.structure.ITokenizer" flags="ng" index="2lD6_C" />
<concept id="3921456275302774825" name="com.mbeddr.mpsutil.grammarcells.structure.SplittableCell" flags="sg" stub="3921456275302774831" index="2lNzut">
<child id="3921456275305506525" name="tokenizer" index="2lD6_D" />
</concept>
<concept id="8207263695490893775" name="com.mbeddr.mpsutil.grammarcells.structure.CellBasedRule" flags="ng" index="2ElW$n" />
<concept id="7363578995839435357" name="com.mbeddr.mpsutil.grammarcells.structure.WrapperCell" flags="ng" index="1kIj98">
<child id="7363578995839435358" name="wrapped" index="1kIj9b" />
</concept>
<concept id="3011849438420226693" name="com.mbeddr.mpsutil.grammarcells.structure.GrammarInfoCell" flags="ng" index="1WcQYu">
<child id="8207263695490916687" name="rules" index="2El2Yn" />
<child id="2862331529394260612" name="projection" index="1LiK7o" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
</language>
</registry>
<node concept="24kQdi" id="1Da9ityUVmF">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTc2" resolve="Add" />
<node concept="3EZMnI" id="1Da9ityUVmH" role="2wV5jI">
<node concept="1kIj98" id="6JCho9VC0fU" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0gg" role="1kIj9b">
<ref role="1NtTu8" to="z36t:1Da9ityUTc7" resolve="t1" />
</node>
</node>
<node concept="3F0ifn" id="1Da9ityUVno" role="3EZMnx">
<property role="3F0ifm" value="+" />
</node>
<node concept="1kIj98" id="6JCho9VC0g$" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0gU" role="1kIj9b">
<ref role="1NtTu8" to="z36t:1Da9ityUTcb" resolve="t2" />
</node>
</node>
<node concept="l2Vlx" id="1Da9ityUVmK" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVqc">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTci" resolve="Mult" />
<node concept="3EZMnI" id="1Da9ityUVqe" role="2wV5jI">
<node concept="3F1sOY" id="1Da9ityUVr3" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTcn" resolve="t1" />
</node>
<node concept="3F0ifn" id="1Da9ityUVsb" role="3EZMnx">
<property role="3F0ifm" value="*" />
</node>
<node concept="3F1sOY" id="1Da9ityUVrH" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTcr" resolve="t2" />
</node>
<node concept="l2Vlx" id="1Da9ityUVqh" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVsT">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTdZ" resolve="Anno" />
<node concept="3EZMnI" id="1Da9ityUVsV" role="2wV5jI">
<node concept="1kIj98" id="6JCho9VC0he" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0hx" role="1kIj9b">
<ref role="1NtTu8" to="z36t:1Da9ityUTe4" resolve="t" />
</node>
</node>
<node concept="3F0ifn" id="1Da9ityUVtA" role="3EZMnx">
<property role="3F0ifm" value=":" />
</node>
<node concept="3F1sOY" id="1Da9ityUVwp" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTfl" resolve="ty" />
</node>
<node concept="l2Vlx" id="1Da9ityUVsY" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVz2">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTdF" resolve="App" />
<node concept="3EZMnI" id="1Da9ityUVz4" role="2wV5jI">
<node concept="1kIj98" id="6JCho9VC0hM" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0i8" role="1kIj9b">
<ref role="1NtTu8" to="z36t:1Da9ityUTdO" resolve="t1" />
</node>
</node>
<node concept="3F0ifn" id="1Da9ityUV_5" role="3EZMnx">
<property role="3F0ifm" value="(" />
</node>
<node concept="3F1sOY" id="1Da9ityUV_t" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTdS" resolve="t2" />
</node>
<node concept="3F0ifn" id="1Da9ityUV_V" role="3EZMnx">
<property role="3F0ifm" value=")" />
</node>
<node concept="l2Vlx" id="1Da9ityUVz7" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVBQ">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTcy" resolve="Lam" />
<node concept="3EZMnI" id="1Da9ityUVBS" role="2wV5jI">
<node concept="3F0ifn" id="1Da9ityUVC5" role="3EZMnx">
<property role="3F0ifm" value="lambda" />
</node>
<node concept="3F0A7n" id="2zPKfCWrZC2" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3F0ifn" id="6hDWkHFKSJi" role="3EZMnx">
<property role="3F0ifm" value="." />
</node>
<node concept="3F1sOY" id="6hDWkHFKSJQ" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTcQ" resolve="t" />
</node>
<node concept="l2Vlx" id="1Da9ityUVBV" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVFn">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTcU" resolve="Let" />
<node concept="3EZMnI" id="1Da9ityUVFp" role="2wV5jI">
<node concept="3F0ifn" id="1Da9ityUVFA" role="3EZMnx">
<property role="3F0ifm" value="let" />
</node>
<node concept="3F0A7n" id="1Da9ityUVFM" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3F0ifn" id="1Da9ityUVG4" role="3EZMnx">
<property role="3F0ifm" value="=" />
</node>
<node concept="1kIj98" id="6JCho9VC0ji" role="3EZMnx">
<node concept="3F1sOY" id="6JCho9VC0jI" role="1kIj9b">
<ref role="1NtTu8" to="z36t:1Da9ityUTde" resolve="bound" />
</node>
</node>
<node concept="3F0ifn" id="1Da9ityUVHJ" role="3EZMnx">
<property role="3F0ifm" value="in" />
</node>
<node concept="3F1sOY" id="1Da9ityUVJ9" role="3EZMnx">
<ref role="1NtTu8" to="z36t:1Da9ityUTdi" resolve="body" />
</node>
<node concept="l2Vlx" id="1Da9ityUVFs" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="1Da9ityUVNn">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTfL" resolve="ParensTerm" />
<node concept="1WcQYu" id="6JCho9VC0ar" role="2wV5jI">
<node concept="2ElW$n" id="6JCho9VC0aw" role="2El2Yn" />
<node concept="drBAd" id="6JCho9VC0a7" role="1LiK7o">
<node concept="3F0ifn" id="6JCho9VC0a9" role="drBA7">
<property role="3F0ifm" value="(" />
</node>
<node concept="3F1sOY" id="6JCho9VC0ab" role="drBAU">
<ref role="1NtTu8" to="z36t:1Da9ityUTfQ" resolve="t" />
</node>
<node concept="3F0ifn" id="6JCho9VC0ad" role="drBAZ">
<property role="3F0ifm" value=")" />
</node>
</node>
</node>
</node>
<node concept="24kQdi" id="6JCho9VC0ev">
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="z36t:1Da9ityUTbn" resolve="Succ" />