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":
             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"
 
         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 + "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.register_global('%s', %s['id'])\n" % (instruction_var, instruction_var) + \
 
         elif inst_type["value"] == "call":
             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)
 
-Date:   Wed May 23 19:31:09 2018
+Date:   Wed May 23 19:46:37 2018
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server