Skip to content

Commit f381c83

Browse files
authored
Merge pull request #525 from IETS3/feature/time
datetime: add time concepts
2 parents 99c9fca + f616a3d commit f381c83

File tree

11 files changed

+7184
-73
lines changed

11 files changed

+7184
-73
lines changed

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.datetime/models/behavior.mps

Lines changed: 307 additions & 0 deletions
Large diffs are not rendered by default.

code/languages/org.iets3.opensource/languages/org.iets3.core.expr.datetime/models/constraints.mps

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,5 +310,117 @@
310310
</node>
311311
</node>
312312
</node>
313+
<node concept="1M2fIO" id="3HiHZey9pwW">
314+
<property role="3GE5qa" value="time" />
315+
<ref role="1M2myG" to="mi3w:3HiHZey9lUa" resolve="TimeLiteral" />
316+
<node concept="EnEH3" id="3HiHZey9pwX" role="1MhHOB">
317+
<ref role="EomxK" to="mi3w:3HiHZey9lUb" resolve="hh" />
318+
<node concept="QB0g5" id="3HiHZey9py3" role="QCWH9">
319+
<node concept="3clFbS" id="3HiHZey9py4" role="2VODD2">
320+
<node concept="3clFbF" id="3HiHZey9pB2" role="3cqZAp">
321+
<node concept="2OqwBi" id="3HiHZey9q8O" role="3clFbG">
322+
<node concept="1Wqviy" id="3HiHZey9pB1" role="2Oq$k0" />
323+
<node concept="liA8E" id="3HiHZey9qAM" role="2OqNvi">
324+
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String)" resolve="matches" />
325+
<node concept="Xl_RD" id="3HiHZey9qFn" role="37wK5m">
326+
<property role="Xl_RC" value="^((?:[0-9]|[0-1][0-9]|2[0-3])?)$" />
327+
</node>
328+
</node>
329+
</node>
330+
</node>
331+
</node>
332+
</node>
333+
</node>
334+
<node concept="EnEH3" id="3HiHZeya2_G" role="1MhHOB">
335+
<ref role="EomxK" to="mi3w:3HiHZey9lUd" resolve="mm" />
336+
<node concept="QB0g5" id="3HiHZeya2FD" role="QCWH9">
337+
<node concept="3clFbS" id="3HiHZeya2FE" role="2VODD2">
338+
<node concept="3clFbF" id="3HiHZeya2Jz" role="3cqZAp">
339+
<node concept="2OqwBi" id="3HiHZeya2J$" role="3clFbG">
340+
<node concept="1Wqviy" id="3HiHZeya2J_" role="2Oq$k0" />
341+
<node concept="liA8E" id="3HiHZeya2JA" role="2OqNvi">
342+
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String)" resolve="matches" />
343+
<node concept="Xl_RD" id="3HiHZeya2JB" role="37wK5m">
344+
<property role="Xl_RC" value="^((?:[0-9]|[0-5][0-9])?)$" />
345+
</node>
346+
</node>
347+
</node>
348+
</node>
349+
</node>
350+
</node>
351+
</node>
352+
<node concept="EnEH3" id="3HiHZeyb5zU" role="1MhHOB">
353+
<ref role="EomxK" to="mi3w:3HiHZeyb5uA" resolve="ss" />
354+
<node concept="QB0g5" id="3HiHZeyb5D2" role="QCWH9">
355+
<node concept="3clFbS" id="3HiHZeyb5D3" role="2VODD2">
356+
<node concept="3clFbF" id="3HiHZeyb5GW" role="3cqZAp">
357+
<node concept="2OqwBi" id="3HiHZeyb5GX" role="3clFbG">
358+
<node concept="1Wqviy" id="3HiHZeyb5GY" role="2Oq$k0" />
359+
<node concept="liA8E" id="3HiHZeyb5GZ" role="2OqNvi">
360+
<ref role="37wK5l" to="wyt6:~String.matches(java.lang.String)" resolve="matches" />
361+
<node concept="Xl_RD" id="3HiHZeyb5H0" role="37wK5m">
362+
<property role="Xl_RC" value="^((?:[0-9]|[0-5][0-9])?)$" />
363+
</node>
364+
</node>
365+
</node>
366+
</node>
367+
</node>
368+
</node>
369+
</node>
370+
</node>
371+
<node concept="1M2fIO" id="3HiHZeycpM2">
372+
<property role="3GE5qa" value="time.op" />
373+
<ref role="1M2myG" to="mi3w:3HiHZeycpLK" resolve="TimeOp" />
374+
<node concept="9S07l" id="3HiHZeycq72" role="9Vyp8">
375+
<node concept="3clFbS" id="3HiHZeycq73" role="2VODD2">
376+
<node concept="3clFbF" id="3HiHZeycq7p" role="3cqZAp">
377+
<node concept="2OqwBi" id="3HiHZeycq7q" role="3clFbG">
378+
<node concept="1PxgMI" id="3HiHZeycq7r" role="2Oq$k0">
379+
<node concept="chp4Y" id="3HiHZeycq7s" role="3oSUPX">
380+
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
381+
</node>
382+
<node concept="nLn13" id="3HiHZeycq7t" role="1m5AlR" />
383+
</node>
384+
<node concept="2qgKlT" id="3HiHZeycq7u" role="2OqNvi">
385+
<ref role="37wK5l" to="pbu6:5WNmJ7DokMG" resolve="expectType" />
386+
<node concept="35c_gC" id="3HiHZeycq7v" role="37wK5m">
387+
<ref role="35c_gD" to="mi3w:3HiHZey87Wz" resolve="TimeType" />
388+
</node>
389+
<node concept="3clFbT" id="3HiHZeycq7w" role="37wK5m">
390+
<property role="3clFbU" value="true" />
391+
</node>
392+
</node>
393+
</node>
394+
</node>
395+
</node>
396+
</node>
397+
</node>
398+
<node concept="1M2fIO" id="3HiHZeyrTMW">
399+
<property role="3GE5qa" value="time.delta" />
400+
<ref role="1M2myG" to="mi3w:3HiHZeyrT$S" resolve="TimeDeltaToNumberOp" />
401+
<node concept="9S07l" id="3HiHZeyrTU4" role="9Vyp8">
402+
<node concept="3clFbS" id="3HiHZeyrTU5" role="2VODD2">
403+
<node concept="3clFbF" id="3HiHZeyrTXY" role="3cqZAp">
404+
<node concept="2OqwBi" id="3HiHZeyrTXZ" role="3clFbG">
405+
<node concept="1PxgMI" id="3HiHZeyrTY0" role="2Oq$k0">
406+
<node concept="chp4Y" id="3HiHZeyrTY1" role="3oSUPX">
407+
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
408+
</node>
409+
<node concept="nLn13" id="3HiHZeyrTY2" role="1m5AlR" />
410+
</node>
411+
<node concept="2qgKlT" id="3HiHZeyrTY3" role="2OqNvi">
412+
<ref role="37wK5l" to="pbu6:5WNmJ7DokMG" resolve="expectType" />
413+
<node concept="35c_gC" id="3HiHZeyrTY4" role="37wK5m">
414+
<ref role="35c_gD" to="mi3w:3HiHZeyiDmk" resolve="TimeDeltaType" />
415+
</node>
416+
<node concept="3clFbT" id="3HiHZeyrTY5" role="37wK5m">
417+
<property role="3clFbU" value="true" />
418+
</node>
419+
</node>
420+
</node>
421+
</node>
422+
</node>
423+
</node>
424+
</node>
313425
</model>
314426

0 commit comments

Comments
 (0)