Browse Source

Simplify the code generated for the input AL node

Yentl Van Tendeloo 7 years ago
parent
commit
c2f2e27788
2 changed files with 6 additions and 13 deletions
  1. 5 12
      kernel/modelverse_kernel/main.py
  2. 1 1
      wrappers/modelverse_SCCD.py

+ 5 - 12
kernel/modelverse_kernel/main.py

@@ -239,17 +239,11 @@ class ModelverseKernel(object):
 
 
         elif inst_type["value"] == "input":
         elif inst_type["value"] == "input":
             prev = "  " * nested_indent + "_inputs, = yield [('RD', [_root, 'input'])]\n" + \
             prev = "  " * nested_indent + "_inputs, = yield [('RD', [_root, 'input'])]\n" + \
-                   "  " * nested_indent + "while 1:\n" + \
-                   "  " * (nested_indent + 1) + "val, = yield [('RD', [_inputs, 'value'])]\n" + \
-                   "  " * (nested_indent + 1) + "if val is not None:\n" + \
-                   "  " * (nested_indent + 2) + "val_e, = yield [('RDE', [_inputs, 'value'])]\n" + \
-                   "  " * (nested_indent + 2) + "_, val_e = yield [('DE', [val_e]), ('RDE', [_root, 'input'])]\n" + \
-                   "  " * (nested_indent + 2) + "_, nxt = yield [('DE', [val_e]), ('RD', [_inputs, 'next'])]\n" + \
-                   "  " * (nested_indent + 2) + "yield [('CD', [_root, 'input', nxt])]\n" + \
-                   "  " * (nested_indent + 2) + "_result = {'id': val}\n" + \
-                   "  " * (nested_indent + 2) + "break\n" + \
-                   "  " * (nested_indent + 1) + "else:\n" + \
-                   "  " * (nested_indent + 2) + "yield None\n"
+                   "  " * nested_indent + "val, val_e, nxt = yield [('RD', [_inputs, 'value']), ('RDE', [_inputs, 'value']), ('RD', [_inputs, 'next'])]\n" + \
+                   "  " * nested_indent + "_, val_e = yield [('DE', [val_e]), ('RDE', [_root, 'input'])]\n" + \
+                   "  " * nested_indent + "yield [('CD', [_root, 'input', nxt]), ('DE', [val_e])]\n" + \
+                   "  " * nested_indent + "_result = {'id': val}\n"
+
             instruction = "_result"
             instruction = "_result"
 
 
         elif inst_type["value"] == "output":
         elif inst_type["value"] == "output":
@@ -309,7 +303,6 @@ class ModelverseKernel(object):
                        "  " * (nested_indent + 1) + "%s['id'], = yield [('CNV', [%s['value']])]\n" % (instruction_var, instruction_var) + \
                        "  " * (nested_indent + 1) + "%s['id'], = yield [('CNV', [%s['value']])]\n" % (instruction_var, instruction_var) + \
                        "  " * nested_indent + "yield [('CD', [_var, 'value', %s['id']]), ('DE', [_old_edge])]\n" % instruction_var + \
                        "  " * nested_indent + "yield [('CD', [_var, 'value', %s['id']]), ('DE', [_old_edge])]\n" % instruction_var + \
                        "  " * nested_indent + "_mvk.jit.cache[_taskname]['%s'] = %s\n" % (instruction_var, instruction_var)
                        "  " * nested_indent + "_mvk.jit.cache[_taskname]['%s'] = %s\n" % (instruction_var, instruction_var)
-                       #"  " * nested_indent + "_mvk.jit.register_global('%s', %s['id'])\n" % (instruction_var, instruction_var) + \
 
 
         elif inst_type["value"] == "call":
         elif inst_type["value"] == "call":
             func_name, = yield [("RD", [inst, "func"])]
             func_name, = yield [("RD", [inst, "func"])]

+ 1 - 1
wrappers/modelverse_SCCD.py

@@ -1,7 +1,7 @@
 """
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
 
-Date:   Wed May 23 19:31:09 2018
+Date:   Wed May 23 19:46:37 2018
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
 Model name:   MvK Server