Skip to content

Commit 03968ec

Browse files
committed
support nix handling for tuple access
1 parent ac4c32e commit 03968ec

File tree

2 files changed

+129
-59
lines changed
  • code/languages/org.iets3.opensource

2 files changed

+129
-59
lines changed

code/languages/org.iets3.opensource/solutions/org.iets3.core.expr.base.interpreter/models/plugin.mps

Lines changed: 84 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -307,9 +307,12 @@
307307
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
308308
<concept id="1160600644654" name="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" flags="nn" index="Tc6Ow" />
309309
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
310-
<concept id="1162934736510" name="jetbrains.mps.baseLanguage.collections.structure.GetElementOperation" flags="nn" index="34jXtK" />
311310
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
312311
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
312+
<concept id="1225711141656" name="jetbrains.mps.baseLanguage.collections.structure.ListElementAccessExpression" flags="nn" index="1y4W85">
313+
<child id="1225711182005" name="list" index="1y566C" />
314+
<child id="1225711191269" name="index" index="1y58nS" />
315+
</concept>
313316
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
314317
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
315318
<concept id="1197932370469" name="jetbrains.mps.baseLanguage.collections.structure.MapElement" flags="nn" index="3EllGN">
@@ -3171,75 +3174,97 @@
31713174
<node concept="qq9P1" id="49WTic8m32P" role="qq9xR">
31723175
<property role="2TnfIJ" value="true" />
31733176
<ref role="qq9wM" to="hm2y:2ck7OjOLg5a" resolve="TupleAccessExpr" />
3174-
<node concept="3dA_Gj" id="49WTic8m7v$" role="3vQZUl">
3175-
<node concept="9aQIb" id="49WTic8m7vA" role="3vcmbn">
3176-
<node concept="3clFbS" id="49WTic8m7vC" role="9aQI4">
3177-
<node concept="3cpWs8" id="49WTic8m7_d" role="3cqZAp">
3178-
<node concept="3cpWsn" id="49WTic8m7_e" role="3cpWs9">
3179-
<property role="TrG5h" value="t" />
3180-
<node concept="_YKpA" id="49WTic8m7_8" role="1tU5fm">
3181-
<node concept="3uibUv" id="49WTic8m7_b" role="_ZDj9">
3182-
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
3183-
</node>
3184-
</node>
3185-
<node concept="1eOMI4" id="49WTic8m7_f" role="33vP2m">
3186-
<node concept="10QFUN" id="49WTic8m7_g" role="1eOMHV">
3187-
<node concept="1eOMI4" id="49WTic8m7_h" role="10QFUP">
3188-
<node concept="rqRoa" id="49WTic8m7_i" role="1eOMHV">
3189-
<ref role="rqRob" to="hm2y:2ck7OjOLg5_" resolve="tuple" />
3177+
<node concept="3vetai" id="58wi_gLzwDN" role="3vQZUl">
3178+
<node concept="2OqwBi" id="58wi_gLyLkC" role="3vdyny">
3179+
<node concept="2ShNRf" id="58wi_gLyJhI" role="2Oq$k0">
3180+
<node concept="1pGfFk" id="58wi_gLyKFX" role="2ShVmc">
3181+
<ref role="37wK5l" to="xfg9:3nVyItrYOln" resolve="NixSupport" />
3182+
<node concept="rqRoa" id="58wi_gLyKI1" role="37wK5m">
3183+
<ref role="rqRob" to="hm2y:2ck7OjOLg5_" resolve="tuple" />
3184+
</node>
3185+
<node concept="oxGPV" id="58wi_gLz9$i" role="37wK5m" />
3186+
<node concept="1bVj0M" id="58wi_gLyKIE" role="37wK5m">
3187+
<node concept="37vLTG" id="58wi_gLyMgn" role="1bW2Oz">
3188+
<property role="TrG5h" value="ns" />
3189+
<node concept="3uibUv" id="58wi_gLyMm6" role="1tU5fm">
3190+
<ref role="3uigEE" to="xfg9:3nVyItrYOkv" resolve="NixSupport" />
3191+
</node>
3192+
</node>
3193+
<node concept="3clFbS" id="58wi_gLyKIG" role="1bW5cS">
3194+
<node concept="3cpWs8" id="49WTic8m7_d" role="3cqZAp">
3195+
<node concept="3cpWsn" id="49WTic8m7_e" role="3cpWs9">
3196+
<property role="TrG5h" value="list" />
3197+
<node concept="_YKpA" id="49WTic8m7_8" role="1tU5fm">
3198+
<node concept="3uibUv" id="49WTic8m7_b" role="_ZDj9">
3199+
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
3200+
</node>
31903201
</node>
3191-
</node>
3192-
<node concept="_YKpA" id="49WTic8m7_j" role="10QFUM">
3193-
<node concept="3uibUv" id="49WTic8m7_k" role="_ZDj9">
3194-
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
3202+
<node concept="1eOMI4" id="49WTic8m7_f" role="33vP2m">
3203+
<node concept="10QFUN" id="49WTic8m7_g" role="1eOMHV">
3204+
<node concept="_YKpA" id="49WTic8m7_j" role="10QFUM">
3205+
<node concept="3uibUv" id="49WTic8m7_k" role="_ZDj9">
3206+
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
3207+
</node>
3208+
</node>
3209+
<node concept="2OqwBi" id="58wi_gLyNDZ" role="10QFUP">
3210+
<node concept="37vLTw" id="58wi_gLyNiI" role="2Oq$k0">
3211+
<ref role="3cqZAo" node="58wi_gLyMgn" resolve="ns" />
3212+
</node>
3213+
<node concept="liA8E" id="58wi_gLySwJ" role="2OqNvi">
3214+
<ref role="37wK5l" to="xfg9:3nVyIts6HwG" resolve="get" />
3215+
<node concept="3cmrfG" id="58wi_gLySLy" role="37wK5m">
3216+
<property role="3cmrfH" value="0" />
3217+
</node>
3218+
</node>
3219+
</node>
3220+
</node>
31953221
</node>
31963222
</node>
31973223
</node>
3198-
</node>
3199-
</node>
3200-
</node>
3201-
<node concept="3cpWs8" id="49WTic8m7Qz" role="3cqZAp">
3202-
<node concept="3cpWsn" id="49WTic8m7Q$" role="3cpWs9">
3203-
<property role="TrG5h" value="index" />
3204-
<node concept="10Oyi0" id="49WTic8m7Qw" role="1tU5fm" />
3205-
<node concept="2OqwBi" id="49WTic8m7Q_" role="33vP2m">
3206-
<node concept="oxGPV" id="49WTic8m7QA" role="2Oq$k0" />
3207-
<node concept="3TrcHB" id="49WTic8m7QB" role="2OqNvi">
3208-
<ref role="3TsBF5" to="hm2y:2ck7OjOLBmQ" resolve="index" />
3209-
</node>
3210-
</node>
3211-
</node>
3212-
</node>
3213-
<node concept="3clFbJ" id="49WTic8m7Mx" role="3cqZAp">
3214-
<node concept="3clFbS" id="49WTic8m7Mz" role="3clFbx">
3215-
<node concept="3cpWs6" id="49WTic8m8O6" role="3cqZAp">
3216-
<node concept="2OqwBi" id="49WTic8m8Zb" role="3cqZAk">
3217-
<node concept="37vLTw" id="49WTic8m8Ro" role="2Oq$k0">
3218-
<ref role="3cqZAo" node="49WTic8m7_e" resolve="t" />
3219-
</node>
3220-
<node concept="34jXtK" id="49WTic8m9ln" role="2OqNvi">
3221-
<node concept="37vLTw" id="49WTic8m9mj" role="25WWJ7">
3222-
<ref role="3cqZAo" node="49WTic8m7Q$" resolve="index" />
3224+
<node concept="3cpWs8" id="49WTic8m7Qz" role="3cqZAp">
3225+
<node concept="3cpWsn" id="49WTic8m7Q$" role="3cpWs9">
3226+
<property role="TrG5h" value="index" />
3227+
<node concept="10Oyi0" id="49WTic8m7Qw" role="1tU5fm" />
3228+
<node concept="2OqwBi" id="49WTic8m7Q_" role="33vP2m">
3229+
<node concept="oxGPV" id="49WTic8m7QA" role="2Oq$k0" />
3230+
<node concept="3TrcHB" id="49WTic8m7QB" role="2OqNvi">
3231+
<ref role="3TsBF5" to="hm2y:2ck7OjOLBmQ" resolve="index" />
3232+
</node>
32233233
</node>
32243234
</node>
32253235
</node>
3226-
</node>
3227-
</node>
3228-
<node concept="3eOVzh" id="49WTic8m89Q" role="3clFbw">
3229-
<node concept="2OqwBi" id="49WTic8m8ov" role="3uHU7w">
3230-
<node concept="37vLTw" id="49WTic8m89T" role="2Oq$k0">
3231-
<ref role="3cqZAo" node="49WTic8m7_e" resolve="t" />
3236+
<node concept="3cpWs6" id="58wi_gLztud" role="3cqZAp">
3237+
<node concept="3K4zz7" id="58wi_gLzuwA" role="3cqZAk">
3238+
<node concept="10Nm6u" id="58wi_gLzuVa" role="3K4GZi" />
3239+
<node concept="1eOMI4" id="58wi_gLzv4d" role="3K4Cdx">
3240+
<node concept="3eOVzh" id="58wi_gLzv4e" role="1eOMHV">
3241+
<node concept="2OqwBi" id="58wi_gLzv4f" role="3uHU7w">
3242+
<node concept="37vLTw" id="58wi_gLzv4g" role="2Oq$k0">
3243+
<ref role="3cqZAo" node="49WTic8m7_e" resolve="list" />
3244+
</node>
3245+
<node concept="34oBXx" id="58wi_gLzv4h" role="2OqNvi" />
3246+
</node>
3247+
<node concept="37vLTw" id="58wi_gLzv4i" role="3uHU7B">
3248+
<ref role="3cqZAo" node="49WTic8m7Q$" resolve="index" />
3249+
</node>
3250+
</node>
3251+
</node>
3252+
<node concept="1y4W85" id="58wi_gLzsTb" role="3K4E3e">
3253+
<node concept="37vLTw" id="49WTic8m8Ro" role="1y566C">
3254+
<ref role="3cqZAo" node="49WTic8m7_e" resolve="list" />
3255+
</node>
3256+
<node concept="37vLTw" id="58wi_gLyV6c" role="1y58nS">
3257+
<ref role="3cqZAo" node="49WTic8m7Q$" resolve="index" />
3258+
</node>
3259+
</node>
3260+
</node>
32323261
</node>
3233-
<node concept="34oBXx" id="49WTic8m8Jt" role="2OqNvi" />
3234-
</node>
3235-
<node concept="37vLTw" id="49WTic8m820" role="3uHU7B">
3236-
<ref role="3cqZAo" node="49WTic8m7Q$" resolve="index" />
32373262
</node>
32383263
</node>
32393264
</node>
3240-
<node concept="3cpWs6" id="49WTic8m9qC" role="3cqZAp">
3241-
<node concept="10Nm6u" id="49WTic8m9CM" role="3cqZAk" />
3242-
</node>
3265+
</node>
3266+
<node concept="liA8E" id="58wi_gLyLSH" role="2OqNvi">
3267+
<ref role="37wK5l" to="xfg9:26cjRABQZG3" resolve="run" />
32433268
</node>
32443269
</node>
32453270
</node>

code/languages/org.iets3.opensource/tests/test.in.expr.os/models/[email protected]

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
</concept>
2222
</language>
2323
<language id="cfaa4966-b7d5-4b69-b66a-309a6e1a7290" name="org.iets3.core.expr.base">
24+
<concept id="1019070541450015930" name="org.iets3.core.expr.base.structure.TupleType" flags="ng" index="m5gfS">
25+
<child id="1019070541450015931" name="elementTypes" index="m5gfT" />
26+
</concept>
2427
<concept id="606861080870797309" name="org.iets3.core.expr.base.structure.IfElseSection" flags="ng" index="pf3Wd">
2528
<child id="606861080870797310" name="expr" index="pf3We" />
2629
</concept>
@@ -43,6 +46,10 @@
4346
<child id="7849560302565679723" name="condition" index="39w5ZE" />
4447
<child id="7849560302565679725" name="thenPart" index="39w5ZG" />
4548
</concept>
49+
<concept id="2527679671886479690" name="org.iets3.core.expr.base.structure.TupleAccessExpr" flags="ng" index="3nOhSe">
50+
<property id="2527679671886575030" name="index" index="3nOAFM" />
51+
<child id="2527679671886479717" name="tuple" index="3nOhSx" />
52+
</concept>
4653
<concept id="3889855429450038473" name="org.iets3.core.expr.base.structure.EmptyValue" flags="ng" index="1I1voI">
4754
<child id="3889855429450038474" name="type" index="1I1voH" />
4855
</concept>
@@ -71,6 +78,7 @@
7178
<concept id="7425695345928358745" name="org.iets3.core.expr.simpleTypes.structure.TrueLiteral" flags="ng" index="2vmpnb" />
7279
<concept id="7425695345928358774" name="org.iets3.core.expr.simpleTypes.structure.FalseLiteral" flags="ng" index="2vmpn$" />
7380
<concept id="7425695345928349207" name="org.iets3.core.expr.simpleTypes.structure.BooleanType" flags="ng" index="2vmvy5" />
81+
<concept id="5115872837157252551" name="org.iets3.core.expr.simpleTypes.structure.StringType" flags="ng" index="30bdrU" />
7482
<concept id="5115872837157054169" name="org.iets3.core.expr.simpleTypes.structure.IntegerType" flags="ng" index="30bXR$" />
7583
<concept id="5115872837157054170" name="org.iets3.core.expr.simpleTypes.structure.NumberLiteral" flags="ng" index="30bXRB">
7684
<property id="5115872837157054173" name="value" index="30bXRw" />
@@ -84,6 +92,9 @@
8492
<reference id="543569365051789114" name="constant" index="_emDf" />
8593
</concept>
8694
<concept id="543569365052765011" name="org.iets3.core.expr.toplevel.structure.EmptyToplevelContent" flags="ng" index="_ixoA" />
95+
<concept id="7740953487933794886" name="org.iets3.core.expr.toplevel.structure.SectionMarker" flags="ng" index="1Ws0TD">
96+
<property id="7740953487933876080" name="label" index="1WsWdv" />
97+
</concept>
8798
</language>
8899
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
89100
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
@@ -326,6 +337,40 @@
326337
<node concept="1I1voI" id="skNXYt4ume" role="_fkuS" />
327338
</node>
328339
</node>
340+
<node concept="_ixoA" id="58wi_gLzyXE" role="_iOnB" />
341+
<node concept="1Ws0TD" id="58wi_gL$AXA" role="_iOnB">
342+
<property role="1WsWdv" value="TODO: this should be moved to tuples suite as soon as we support java generation for empty" />
343+
</node>
344+
<node concept="2zPypq" id="58wi_gLzyZJ" role="_iOnB">
345+
<property role="TrG5h" value="emptyTuple" />
346+
<node concept="1I1voI" id="58wi_gLzz1V" role="2zPyp_" />
347+
<node concept="m5gfS" id="58wi_gLzAzf" role="2zM23F">
348+
<node concept="30bXR$" id="58wi_gLzAzP" role="m5gfT" />
349+
<node concept="30bdrU" id="58wi_gLzA_a" role="m5gfT" />
350+
<node concept="2vmvy5" id="58wi_gLzAAZ" role="m5gfT" />
351+
</node>
352+
</node>
353+
<node concept="_ixoA" id="58wi_gLzz2b" role="_iOnB" />
354+
<node concept="_fkuM" id="58wi_gLzz4m" role="_iOnB">
355+
<property role="TrG5h" value="tupleEmpty" />
356+
<node concept="_fkuZ" id="58wi_gLzz5t" role="_fkp5">
357+
<node concept="_fku$" id="58wi_gLzz5u" role="_fkur" />
358+
<node concept="_emDc" id="58wi_gLzz5E" role="_fkuY">
359+
<ref role="_emDf" node="58wi_gLzyZJ" resolve="emptyTuple" />
360+
</node>
361+
<node concept="1I1voI" id="58wi_gLzz6N" role="_fkuS" />
362+
</node>
363+
<node concept="_fkuZ" id="58wi_gLzAyD" role="_fkp5">
364+
<node concept="_fku$" id="58wi_gLzAyE" role="_fkur" />
365+
<node concept="3nOhSe" id="58wi_gLzAC5" role="_fkuY">
366+
<property role="3nOAFM" value="1" />
367+
<node concept="_emDc" id="58wi_gLzAyF" role="3nOhSx">
368+
<ref role="_emDf" node="58wi_gLzyZJ" resolve="emptyTuple" />
369+
</node>
370+
</node>
371+
<node concept="1I1voI" id="58wi_gLzAyG" role="_fkuS" />
372+
</node>
373+
</node>
329374
<node concept="_ixoA" id="skNXYt4ukf" role="_iOnB" />
330375
</node>
331376
</model>

0 commit comments

Comments
 (0)