Commit 1e34f75c authored by André Pacak's avatar André Pacak

first step for inlining

parent cc4d21ba
......@@ -112,7 +112,7 @@
<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="8505746811416474161" />
<mapping-node modelUID="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" nodeID="4248201938144532450" />
</external-mapping>
</greater-priority-mapping>
<lesser-priority-mapping>
......@@ -122,6 +122,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="8505746811416474161" />
</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="4248201938144532450" />
</external-mapping>
</lesser-priority-mapping>
</mapping-priority-rule>
</mapping-priorities>
</generator>
</generators>
......
......@@ -17,6 +17,8 @@
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" />
<import index="uu1k" ref="r:5d05a0a1-0178-4953-8047-22b44c66dcde(org.inca.data.structure)" />
<import index="tpce" ref="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" />
<import index="njcj" ref="r:ba89f5db-6588-4ca4-b7a4-6f4bcdf92187(main@generator)" />
<import index="33ny" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)" />
<import index="z9af" ref="r:92efe085-3295-42c0-bd7e-2ea049fae522(org.inca.extensions.structure)" implicit="true" />
</imports>
<registry>
......@@ -309,6 +311,7 @@
</concept>
<concept id="1201872418428" name="jetbrains.mps.baseLanguage.collections.structure.GetKeysOperation" flags="nn" index="3lbrtF" />
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="1165530316231" name="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" flags="nn" index="1v1jN8" />
<concept id="1225711141656" name="jetbrains.mps.baseLanguage.collections.structure.ListElementAccessExpression" flags="nn" index="1y4W85">
<child id="1225711182005" name="list" index="1y566C" />
<child id="1225711191269" name="index" index="1y58nS" />
......@@ -2635,5 +2638,279 @@
</node>
</node>
</node>
<node concept="bUwia" id="3FODiuxeLvy">
<property role="TrG5h" value="inlineInfiniteInputProjectionConfig" />
<node concept="1puMqW" id="3FODiuxeLvT" role="1puA0r">
<ref role="1puQsG" node="3FODiuxeLvz" resolve="inlineInfiniteInputProjection" />
</node>
<node concept="avzCv" id="6faGdFztht0" role="avys_">
<node concept="3clFbS" id="6faGdFztht1" role="2VODD2">
<node concept="3cpWs6" id="6faGdFzth$n" role="3cqZAp">
<node concept="3clFbT" id="6faGdFzthN5" role="3cqZAk">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
</node>
</node>
<node concept="1pmfR0" id="3FODiuxeLvz">
<property role="TrG5h" value="inlineInfiniteInputProjection" />
<property role="1v3f2W" value="pre_processing" />
<property role="1v3jST" value="true" />
<node concept="1pplIY" id="3FODiuxeLv$" role="1pqMTA">
<node concept="3clFbS" id="3FODiuxeLv_" role="2VODD2">
<node concept="2Gpval" id="3FODiuxeSUO" role="3cqZAp">
<node concept="2GrKxI" id="3FODiuxeSUQ" role="2Gsz3X">
<property role="TrG5h" value="module" />
</node>
<node concept="3clFbS" id="3FODiuxeSUU" role="2LFqv$">
<node concept="3cpWs8" id="3FODiuxeONz" role="3cqZAp">
<node concept="3cpWsn" id="3FODiuxeONy" role="3cpWs9">
<property role="TrG5h" value="querier" />
<node concept="3uibUv" id="3FODiuxeON$" role="1tU5fm">
<ref role="3uigEE" to="5tos:32CDcOyGKwu" resolve="TypeLangModuleQuerier" />
</node>
<node concept="2ShNRf" id="3FODiuxeQ2b" role="33vP2m">
<node concept="1pGfFk" id="3FODiuxeQ3J" role="2ShVmc">
<ref role="37wK5l" to="5tos:4RJJaub9nwG" resolve="TypeLangModuleQuerier" />
<node concept="2GrUjf" id="3FODiuxeZg_" role="37wK5m">
<ref role="2Gs0qQ" node="3FODiuxeSUQ" resolve="module" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6faGdF_JNez" role="3cqZAp">
<node concept="3cpWsn" id="6faGdF_JNe$" role="3cpWs9">
<property role="TrG5h" value="inliner" />
<node concept="3uibUv" id="6faGdF_JNae" role="1tU5fm">
<ref role="3uigEE" to="5tos:6faGdF_INn7" resolve="ProjectionInliner" />
</node>
<node concept="2ShNRf" id="6faGdF_JNe_" role="33vP2m">
<node concept="1pGfFk" id="6faGdF_JNeA" role="2ShVmc">
<ref role="37wK5l" to="5tos:6faGdF_IOBv" resolve="ProjectionInliner" />
<node concept="2GrUjf" id="6faGdF_JNeB" role="37wK5m">
<ref role="2Gs0qQ" node="3FODiuxeSUQ" resolve="module" />
</node>
<node concept="1iwH7S" id="6faGdFAaao9" role="37wK5m" />
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="3FODiuxeOQ_" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQ$" role="3SKWNk">
<property role="3SKdUp" value="SETUP " />
</node>
</node>
<node concept="3SKdUt" id="3FODiuxeOQB" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQA" role="3SKWNk">
<property role="3SKdUp" value="get inline target and inlines sources (projections) " />
</node>
</node>
<node concept="3clFbF" id="6faGdF_K2AT" role="3cqZAp">
<node concept="2OqwBi" id="6faGdF_K60u" role="3clFbG">
<node concept="37vLTw" id="6faGdF_K2AR" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="liA8E" id="6faGdF_QC7_" role="2OqNvi">
<ref role="37wK5l" to="5tos:6faGdF_IRa1" resolve="findInlineTargetAndSources" />
</node>
</node>
</node>
<node concept="3clFbH" id="6faGdF_ZhNp" role="3cqZAp" />
<node concept="3SKdUt" id="3FODiuxeOQD" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQC" role="3SKWNk">
<property role="3SKdUp" value="nothing to inline =&gt; transformation cannot be applied " />
</node>
</node>
<node concept="3clFbJ" id="3FODiuxeOPa" role="3cqZAp">
<node concept="3clFbS" id="3FODiuxeOPd" role="3clFbx">
<node concept="3N13vt" id="3FODiuxeOPe" role="3cqZAp" />
</node>
<node concept="2OqwBi" id="3FODiuy5zOt" role="3clFbw">
<node concept="1v1jN8" id="3FODiuy5Anf" role="2OqNvi" />
<node concept="2OqwBi" id="6faGdF_QIpb" role="2Oq$k0">
<node concept="37vLTw" id="6faGdF_QEvg" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="2OwXpG" id="6faGdF_Xy0H" role="2OqNvi">
<ref role="2Oxat5" to="5tos:6faGdF_IPZ$" resolve="inlineSourceDecls" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3FODiuy7S1J" role="3cqZAp" />
<node concept="3SKdUt" id="3FODiuxeOQF" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQE" role="3SKWNk">
<property role="3SKdUp" value="only continue if inline sources have same syntax input (same order) " />
</node>
</node>
<node concept="3clFbJ" id="6faGdF_YLw2" role="3cqZAp">
<node concept="3clFbS" id="6faGdF_YLw4" role="3clFbx">
<node concept="3N13vt" id="6faGdF_YOiv" role="3cqZAp" />
</node>
<node concept="3fqX7Q" id="6faGdF_YO3d" role="3clFbw">
<node concept="2OqwBi" id="6faGdF_YObM" role="3fr31v">
<node concept="37vLTw" id="6faGdF_YO3C" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="liA8E" id="6faGdF_YOhJ" role="2OqNvi">
<ref role="37wK5l" to="5tos:6faGdF_XEgS" resolve="isSourcesInlineCompatible" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3FODiuy7MJ1" role="3cqZAp" />
<node concept="3SKdUt" id="3FODiuxeOQJ" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQI" role="3SKWNk">
<property role="3SKdUp" value="create an inlined judgment " />
</node>
</node>
<node concept="3cpWs8" id="6faGdFA06zR" role="3cqZAp">
<node concept="3cpWsn" id="6faGdFA06zS" role="3cpWs9">
<property role="TrG5h" value="inlinedTargetDecl" />
<node concept="3Tqbb2" id="6faGdFA06u6" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
<node concept="2OqwBi" id="6faGdFA06zT" role="33vP2m">
<node concept="37vLTw" id="6faGdFA06zU" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="liA8E" id="6faGdFA06zV" role="2OqNvi">
<ref role="37wK5l" to="5tos:6faGdF_Ztse" resolve="createInlinedTargetDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="3FODiuy9ujN" role="3cqZAp">
<node concept="2OqwBi" id="3FODiuy9wGT" role="3clFbG">
<node concept="2OqwBi" id="6faGdFAaf5I" role="2Oq$k0">
<node concept="37vLTw" id="6faGdFAac9n" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="2OwXpG" id="6faGdFAfaHL" role="2OqNvi">
<ref role="2Oxat5" to="5tos:6faGdF_IPyR" resolve="inlineTargetDecl" />
</node>
</node>
<node concept="HtI8k" id="3FODiuy9xCr" role="2OqNvi">
<node concept="37vLTw" id="6faGdFA0aGg" role="HtI8F">
<ref role="3cqZAo" node="6faGdFA06zS" resolve="inlinedTargetDecl" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3FODiuy9rxw" role="3cqZAp" />
<node concept="3SKdUt" id="3FODiuxeOQL" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQK" role="3SKWNk">
<property role="3SKdUp" value="create rules for inlined judgment based on instances of inline target " />
</node>
</node>
<node concept="3clFbF" id="6faGdFAgwJt" role="3cqZAp">
<node concept="2OqwBi" id="6faGdFAgyOg" role="3clFbG">
<node concept="37vLTw" id="6faGdFAgwJr" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="liA8E" id="6faGdFAgzcq" role="2OqNvi">
<ref role="37wK5l" to="5tos:6faGdFAfmDE" resolve="createInlinedTargetRulesBasedOnOldRuleUsage" />
</node>
</node>
</node>
<node concept="3clFbH" id="6faGdFAa4ja" role="3cqZAp" />
<node concept="3cpWs8" id="6faGdFAl5EJ" role="3cqZAp">
<node concept="3cpWsn" id="6faGdFAl5EK" role="3cpWs9">
<property role="TrG5h" value="inlinedRules" />
<node concept="2I9FWS" id="6faGdFAl5Ef" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
<node concept="2OqwBi" id="6faGdFAl5EL" role="33vP2m">
<node concept="37vLTw" id="6faGdFAl5EM" role="2Oq$k0">
<ref role="3cqZAo" node="6faGdF_JNe$" resolve="inliner" />
</node>
<node concept="liA8E" id="6faGdFAl5EN" role="2OqNvi">
<ref role="37wK5l" to="5tos:6faGdFAgJED" resolve="inlineRules" />
</node>
</node>
</node>
</node>
<node concept="2Gpval" id="6faGdFAm6ju" role="3cqZAp">
<node concept="2GrKxI" id="6faGdFAm6jw" role="2Gsz3X">
<property role="TrG5h" value="i" />
</node>
<node concept="37vLTw" id="6faGdFAm6pZ" role="2GsD0m">
<ref role="3cqZAo" node="6faGdFAl5EK" resolve="inlinedRules" />
</node>
<node concept="3clFbS" id="6faGdFAm6j$" role="2LFqv$">
<node concept="3clFbF" id="6faGdFAl5Vc" role="3cqZAp">
<node concept="2OqwBi" id="6faGdFAl_F_" role="3clFbG">
<node concept="2OqwBi" id="6faGdFAl65e" role="2Oq$k0">
<node concept="37vLTw" id="6faGdFAl5Va" role="2Oq$k0">
<ref role="3cqZAo" node="3FODiuxeONy" resolve="querier" />
</node>
<node concept="liA8E" id="6faGdFAl_xl" role="2OqNvi">
<ref role="37wK5l" to="5tos:4RJJaubLgPa" resolve="getLastElement" />
</node>
</node>
<node concept="HtI8k" id="6faGdFAm6cG" role="2OqNvi">
<node concept="2GrUjf" id="6faGdFAm6xY" role="HtI8F">
<ref role="2Gs0qQ" node="6faGdFAm6jw" resolve="i" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="3FODiuxeOQP" role="3cqZAp">
<node concept="3SKdUq" id="3FODiuxeOQO" role="3SKWNk">
<property role="3SKdUp" value="TODO clever replacements" />
</node>
</node>
<node concept="3clFbH" id="58rJHBt1qn7" role="3cqZAp" />
<node concept="3SKdUt" id="58rJHBt2oaT" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt2oaV" role="3SKWNk">
<property role="3SKdUp" value="empty result set" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt2vmo" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt2vmq" role="3SKWNk">
<property role="3SKdUp" value="empty remove set" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt1xxv" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt1xxx" role="3SKWNk">
<property role="3SKdUp" value="for each inline source" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt1UCG" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt1UCI" role="3SKWNk">
<property role="3SKdUp" value="if projection in premise of inlineTarget" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt1CEe" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt1CEg" role="3SKWNk">
<property role="3SKdUp" value="for each rule of inline source (add inline source rule to remove set)" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt22cF" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt22cH" role="3SKWNk">
<property role="3SKdUp" value="create new rule (add to result set)" />
</node>
</node>
<node concept="3SKdUt" id="58rJHBt2OHw" role="3cqZAp">
<node concept="3SKdUq" id="58rJHBt2OHy" role="3SKWNk">
<property role="3SKdUp" value="scan premises and check if subset matches premise if inlinedDecl =&gt; replace with conclusion" />
</node>
</node>
<node concept="3clFbH" id="58rJHBt2Zzw" role="3cqZAp" />
</node>
<node concept="2YIFZM" id="3FODiuxePDX" role="2GsD0m">
<ref role="1Pybhc" to="5tos:32CDcOyGKwu" resolve="TypeLangModuleQuerier" />
<ref role="37wK5l" to="5tos:4RJJaubbks$" resolve="getTypeLangModules" />
<node concept="1Q6Npb" id="3FODiuxeVak" role="37wK5m" />
</node>
</node>
<node concept="3clFbH" id="3FODiuxeLvI" role="3cqZAp" />
</node>
</node>
</node>
</model>
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