Commit bd90ebb9 authored by Sebastian Erdweg's avatar Sebastian Erdweg

Generate ADTs for infinite outputs (Type and Context) and translate their...

Generate ADTs for infinite outputs (Type and Context) and translate their judgments to ADT functions.
TODO: for `Anno` we return the type annotation. This type must first be converted to an ADT before returning.
parent e4b8835b
......@@ -22,6 +22,7 @@
<dependency reexport="false">e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2(org.inca.data)</dependency>
<dependency reexport="false">3a1c1f85-c745-4d04-a210-f97a7e31f9cc(org.inca.extensions)</dependency>
<dependency reexport="false">ffdbca37-b97f-439c-8366-148d3b8b6c53(org.inca.extensions#01)</dependency>
<dependency reexport="false">c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)</dependency>
</dependencies>
<languageVersions>
<language slang="l:ab9b5480-36a1-4fc2-9c9d-f0faa4fc1b71:TypeLang" version="0" />
......@@ -117,7 +118,7 @@
<lesser-priority-mapping>
<generator generatorUID="ce0e1895-596b-45a3-b9f2-37e83b452864(TypeLang#01)" />
<external-mapping>
<mapping-node modelUID="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" nodeID="7868621431052230593" />
<mapping-node modelUID="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" nodeID="7868621431058667671" />
</external-mapping>
</lesser-priority-mapping>
</mapping-priority-rule>
......@@ -135,6 +136,20 @@
</external-mapping>
</lesser-priority-mapping>
</mapping-priority-rule>
<mapping-priority-rule kind="strictly_before">
<greater-priority-mapping>
<generator generatorUID="ce0e1895-596b-45a3-b9f2-37e83b452864(TypeLang#01)" />
<external-mapping>
<mapping-node modelUID="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" nodeID="7868621431058667671" />
</external-mapping>
</greater-priority-mapping>
<lesser-priority-mapping>
<generator generatorUID="ce0e1895-596b-45a3-b9f2-37e83b452864(TypeLang#01)" />
<external-mapping>
<mapping-node modelUID="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" nodeID="7868621431052230593" />
</external-mapping>
</lesser-priority-mapping>
</mapping-priority-rule>
</mapping-priorities>
</generator>
</generators>
......@@ -146,8 +161,6 @@
<dependency reexport="false">2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)</dependency>
<dependency reexport="false">ab9b5480-36a1-4fc2-9c9d-f0faa4fc1b71(TypeLang)</dependency>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2(org.inca.data)</dependency>
<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" />
......@@ -190,6 +203,7 @@
<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" />
......@@ -205,6 +219,8 @@
<module reference="80e42679-e00d-400f-8714-aee80946d2f9(org.inca.styles)" version="0" />
</dependencyVersions>
<extendedLanguages>
<extendedLanguage>e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2(org.inca.data)</extendedLanguage>
<extendedLanguage>b802a056-92a2-4fbc-902e-f8e5004c331f(org.inca.core)</extendedLanguage>
<extendedLanguage>3a1c1f85-c745-4d04-a210-f97a7e31f9cc(org.inca.extensions)</extendedLanguage>
<extendedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</extendedLanguage>
</extendedLanguages>
......
......@@ -234,6 +234,7 @@
</concept>
<concept id="1883223317721008713" name="jetbrains.mps.lang.smodel.structure.IfInstanceOfVariable" flags="ng" index="JncvC" />
<concept id="1883223317721107059" name="jetbrains.mps.lang.smodel.structure.IfInstanceOfVarReference" flags="nn" index="Jnkvi" />
<concept id="7504436213544206332" name="jetbrains.mps.lang.smodel.structure.Node_ContainingLinkOperation" flags="nn" index="2NL2c5" />
<concept id="1171323947159" name="jetbrains.mps.lang.smodel.structure.Model_NodesOperation" flags="nn" index="2SmgA7">
<child id="1758937410080001570" name="conceptArgument" index="1dBWTz" />
</concept>
......@@ -243,6 +244,10 @@
<concept id="1180031783296" name="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" flags="nn" index="2Zo12i">
<child id="1180031783297" name="conceptArgument" index="2Zo12j" />
</concept>
<concept id="2644386474301421077" name="jetbrains.mps.lang.smodel.structure.LinkIdRefExpression" flags="nn" index="359W_D">
<reference id="2644386474301421078" name="conceptDeclaration" index="359W_E" />
<reference id="2644386474301421079" name="linkDeclaration" index="359W_F" />
</concept>
<concept id="6677504323281689838" name="jetbrains.mps.lang.smodel.structure.SConceptType" flags="in" index="3bZ5Sz" />
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
......@@ -3442,6 +3447,50 @@
</node>
<node concept="3clFbS" id="5YqjVV7s$$T" role="3clF47" />
</node>
<node concept="13i0hz" id="6OMXo1THapW" role="13h7CS">
<property role="TrG5h" value="isConclusion" />
<node concept="3Tm1VV" id="6OMXo1THapX" role="1B3o_S" />
<node concept="10P_77" id="6OMXo1THaqp" role="3clF45" />
<node concept="3clFbS" id="6OMXo1THapZ" role="3clF47">
<node concept="3clFbF" id="6OMXo1THljB" role="3cqZAp">
<node concept="2OqwBi" id="6OMXo1THljC" role="3clFbG">
<node concept="2OqwBi" id="6OMXo1THljD" role="2Oq$k0">
<node concept="13iPFW" id="6OMXo1THljE" role="2Oq$k0" />
<node concept="2NL2c5" id="6OMXo1THljF" role="2OqNvi" />
</node>
<node concept="liA8E" id="6OMXo1THljG" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="359W_D" id="6OMXo1THljH" role="37wK5m">
<ref role="359W_E" to="b83y:2_58u12eCWN" resolve="Rule" />
<ref role="359W_F" to="b83y:2_58u12eCXl" resolve="conclusion" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="6OMXo1THhGc" role="13h7CS">
<property role="TrG5h" value="isPremise" />
<node concept="3Tm1VV" id="6OMXo1THhGd" role="1B3o_S" />
<node concept="10P_77" id="6OMXo1THhRK" role="3clF45" />
<node concept="3clFbS" id="6OMXo1THhGf" role="3clF47">
<node concept="3clFbF" id="6OMXo1THhS4" role="3cqZAp">
<node concept="2OqwBi" id="6OMXo1THks9" role="3clFbG">
<node concept="2OqwBi" id="6OMXo1THi1n" role="2Oq$k0">
<node concept="13iPFW" id="6OMXo1THhS3" role="2Oq$k0" />
<node concept="2NL2c5" id="6OMXo1THia2" role="2OqNvi" />
</node>
<node concept="liA8E" id="6OMXo1THkJE" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~Object.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="359W_D" id="6OMXo1THjoR" role="37wK5m">
<ref role="359W_E" to="b83y:2_58u12eCWN" resolve="Rule" />
<ref role="359W_F" to="b83y:2_58u12eCWO" resolve="premises" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13hLZK" id="2loaFuj7Qj$" role="13h7CW">
<node concept="3clFbS" id="2loaFuj7Qj_" role="2VODD2" />
</node>
......@@ -5903,6 +5952,30 @@
</node>
</node>
</node>
<node concept="13i0hz" id="6OMXo1Raokp" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="false" />
<property role="TrG5h" value="isOutput" />
<node concept="3Tm1VV" id="6OMXo1Raokq" role="1B3o_S" />
<node concept="10P_77" id="6OMXo1Raokr" role="3clF45" />
<node concept="3clFbS" id="6OMXo1Raoks" role="3clF47">
<node concept="3clFbF" id="6OMXo1Raokt" role="3cqZAp">
<node concept="2OqwBi" id="6OMXo1Raok_" role="3clFbG">
<node concept="2OqwBi" id="6OMXo1RaokA" role="2Oq$k0">
<node concept="13iPFW" id="6OMXo1RaokB" role="2Oq$k0" />
<node concept="3TrEf2" id="6OMXo1RaokC" role="2OqNvi">
<ref role="3Tt5mk" to="b83y:2_58u12cYDi" resolve="mode" />
</node>
</node>
<node concept="1mIQ4w" id="6OMXo1RaokD" role="2OqNvi">
<node concept="chp4Y" id="6OMXo1RaoI5" role="cj9EA">
<ref role="cht4Q" to="b83y:2_58u12cYDp" resolve="SortOutputMode" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="2iwoW_q825k" role="13h7CS">
<property role="13i0iv" value="false" />
<property role="13i0it" value="false" />
......
......@@ -206,7 +206,7 @@
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="linkRole" index="3V$3am" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
......@@ -1501,22 +1501,6 @@
</node>
</node>
</node>
<node concept="24kQdi" id="2U2uJPpPnX8">
<property role="3GE5qa" value="judgment" />
<ref role="1XX52x" to="b83y:2U2uJPpPnWW" resolve="JudgmentInstanceMatch" />
<node concept="3EZMnI" id="2U2uJPpPnXa" role="2wV5jI">
<node concept="3F1sOY" id="2U2uJPpPnXo" role="3EZMnx">
<ref role="1NtTu8" to="b83y:2U2uJPpPnWX" resolve="term" />
</node>
<node concept="3F0ifn" id="2U2uJPpPnXx" role="3EZMnx">
<property role="3F0ifm" value="match" />
</node>
<node concept="3F1sOY" id="2U2uJPpPnXQ" role="3EZMnx">
<ref role="1NtTu8" to="b83y:2U2uJPpPnWY" resolve="pat" />
</node>
<node concept="l2Vlx" id="2U2uJPpPnXd" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="2U2uJPq3W7F">
<property role="3GE5qa" value="judgment" />
<ref role="1XX52x" to="b83y:2U2uJPq3W76" resolve="JudgmentDeclaration4" />
......@@ -1805,5 +1789,21 @@
<node concept="l2Vlx" id="2U2uJPq6XnG" role="2iSdaV" />
</node>
</node>
<node concept="24kQdi" id="2U2uJPpPnX8">
<property role="3GE5qa" value="judgment" />
<ref role="1XX52x" to="b83y:2U2uJPpPnWW" resolve="JudgmentInstanceMatch" />
<node concept="3EZMnI" id="2U2uJPpPnXa" role="2wV5jI">
<node concept="3F1sOY" id="2U2uJPpPnXo" role="3EZMnx">
<ref role="1NtTu8" to="b83y:2U2uJPpPnWX" resolve="term" />
</node>
<node concept="3F0ifn" id="2U2uJPpPnXx" role="3EZMnx">
<property role="3F0ifm" value="match" />
</node>
<node concept="3F1sOY" id="2U2uJPpPnXQ" role="3EZMnx">
<ref role="1NtTu8" to="b83y:2U2uJPpPnWY" resolve="pat" />
</node>
<node concept="l2Vlx" id="2U2uJPpPnXd" role="2iSdaV" />
</node>
</node>
</model>
......@@ -677,7 +677,7 @@
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="res" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12eCXq" resolve="MetaVariable" />
<ref role="20lvS9" node="2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="1TJgyj" id="2U2uJPpkja4" role="1TKVEi">
<property role="IQ2ns" value="3351376301260878468" />
......@@ -703,30 +703,6 @@
<ref role="20lvS9" node="2_58u12eCXq" resolve="MetaVariable" />
</node>
</node>
<node concept="1TIwiD" id="2U2uJPpPnWW">
<property role="EcuMT" value="3351376301269548860" />
<property role="3GE5qa" value="judgment" />
<property role="TrG5h" value="JudgmentInstanceMatch" />
<property role="34LRSv" value="match" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="2U2uJPpPnWX" role="1TKVEi">
<property role="IQ2ns" value="3351376301269548861" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="term" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="1TJgyj" id="2U2uJPpPnWY" role="1TKVEi">
<property role="IQ2ns" value="3351376301269548862" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="pat" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="PrWs8" id="2U2uJPpPnWZ" role="PzmwI">
<ref role="PrY4T" node="2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
<node concept="1TIwiD" id="2U2uJPq3W76">
<property role="EcuMT" value="3351376301273366982" />
<property role="TrG5h" value="JudgmentDeclaration4" />
......@@ -853,5 +829,29 @@
<ref role="PrY4T" node="2U2uJPpd5x5" resolve="Sort" />
</node>
</node>
<node concept="1TIwiD" id="2U2uJPpPnWW">
<property role="EcuMT" value="3351376301269548860" />
<property role="3GE5qa" value="judgment" />
<property role="TrG5h" value="JudgmentInstanceMatch" />
<property role="34LRSv" value="match" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyj" id="2U2uJPpPnWX" role="1TKVEi">
<property role="IQ2ns" value="3351376301269548861" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="term" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="1TJgyj" id="2U2uJPpPnWY" role="1TKVEi">
<property role="IQ2ns" value="3351376301269548862" />
<property role="20lmBu" value="aggregation" />
<property role="20kJfa" value="pat" />
<property role="20lbJX" value="1" />
<ref role="20lvS9" node="2_58u12g7Tn" resolve="IMetaTerm" />
</node>
<node concept="PrWs8" id="2U2uJPpPnWZ" role="PzmwI">
<ref role="PrY4T" node="2_58u12fwJB" resolve="JudgmentInstance" />
</node>
</node>
</model>
......@@ -24,6 +24,7 @@
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:b802a056-92a2-4fbc-902e-f8e5004c331f:org.inca.core" version="0" />
<language slang="l:e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2:org.inca.data" version="2" />
<language slang="l:3a1c1f85-c745-4d04-a210-f97a7e31f9cc:org.inca.extensions" version="0" />
<language slang="l:8c9a2720-9d21-4370-a226-819eb3e76e1e:org.inca.fun" version="0" />
<language slang="l:cd2909da-ecb4-49dc-b176-33e5c619e516:org.inca.gp" version="0" />
</languageVersions>
......@@ -44,6 +45,7 @@
<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="446c26eb-2b7b-4bf0-9b35-f83fa582753e(jetbrains.mps.lang.modelapi)" version="0" />
<module reference="7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)" version="1" />
......@@ -51,6 +53,10 @@
<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" />
<module reference="e6d2ffd5-9c56-41f8-99ac-9d1ceb13daa2(org.inca.data)" version="0" />
<module reference="3a1c1f85-c745-4d04-a210-f97a7e31f9cc(org.inca.extensions)" version="0" />
<module reference="8c9a2720-9d21-4370-a226-819eb3e76e1e(org.inca.fun)" version="0" />
<module reference="cd2909da-ecb4-49dc-b176-33e5c619e516(org.inca.gp)" version="0" />
</dependencyVersions>
</solution>
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment