Переглянути джерело

implemented a timeprimitive for the modelverse

tpinna 10 роки тому
батько
коміт
f8bf670970

+ 1 - 0
bootstrap/bootstrap.py

@@ -100,6 +100,7 @@ primitives = {  "integer_addition": ["Integer", "Integer", "Integer"],
                 "read_root": ["Element"],
                 "deserialize": ["Element", "String"],
                 "log": ["String", "String"],
+                "current_time":["Integer"]
             }
 
 initial_user = "user_manager"

+ 1 - 0
bootstrap/primitives.alc

@@ -85,6 +85,7 @@ Boolean function is_physical_string(a: Element) = ?primitives/is_physical_string
 Boolean function is_physical_boolean(a: Element) = ?primitives/is_physical_boolean
 Boolean function is_physical_action(a: Element) = ?primitives/is_physical_action
 Boolean function has_value(a: Element) = ?primitives/has_value
+Integer function current_time() = ?primitives/current_time
 
 Element function exec(first_instr : Element):
 	// This does very ugly things, so beware!

+ 1 - 0
interface/HUTN/includes/primitives.alh

@@ -88,3 +88,4 @@ Boolean function is_physical_string(a : Element)
 Boolean function is_physical_action(a : Element)
 Boolean function is_physical_boolean(a : Element)
 Boolean function has_value(a : Element)
+Integer function current_time()

+ 6 - 1
kernel/modelverse_kernel/primitives.py

@@ -547,5 +547,10 @@ def deserialize(a, root, **remainder):
 
 def log(a, **remainder):
     a_value = yield [("RV", [a])]
-    print("== LOG == " + str(a_value))
+    print("" + str(a_value))
     raise PrimitiveFinished(a)
+    
+def current_time(**remainder):
+    import time
+    result = yield [("CNV", [time.time()])]
+    raise PrimitiveFinished(result)