Просмотр исходного кода

Simplify the code generated for the input AL node

Yentl Van Tendeloo 7 лет назад
Родитель
Сommit
c2f2e27788
2 измененных файлов с 6 добавлено и 13 удалено
  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