|
@@ -258,16 +258,16 @@ class ModelverseKernel(object):
|
|
|
instruction = " " * indent + "continue\n"
|
|
|
|
|
|
elif inst_type["value"] == "input":
|
|
|
- prev = " " * nested_indent + "_inputs, = yield [('RD', [kwargs['task_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) + "yield [('DE', [val_e])]\n" + \
|
|
|
- " " * (nested_indent + 2) + "val_e, = yield [('RDE', [kwargs['task_root'], 'input'])]\n" + \
|
|
|
+ " " * (nested_indent + 2) + "val_e, = yield [('RDE', [_root, 'input'])]\n" + \
|
|
|
" " * (nested_indent + 2) + "yield [('DE', [val_e])]\n" + \
|
|
|
" " * (nested_indent + 2) + "nxt, = yield [('RD', [_inputs, 'next'])]\n" + \
|
|
|
- " " * (nested_indent + 2) + "yield [('CD', [kwargs['task_root'], 'input', nxt])]\n" + \
|
|
|
+ " " * (nested_indent + 2) + "yield [('CD', [_root, 'input', nxt])]\n" + \
|
|
|
" " * (nested_indent + 2) + "_result = val\n" + \
|
|
|
" " * (nested_indent + 2) + "break\n" + \
|
|
|
" " * (nested_indent + 1)+ "else:\n" + \
|
|
@@ -278,13 +278,13 @@ class ModelverseKernel(object):
|
|
|
value, = yield [("RD", [inst, "value"])]
|
|
|
(prev, inst), = yield [("CALL_ARGS", [self.print_instruction, (value, 0, indent)])]
|
|
|
instruction = prev + \
|
|
|
- " " * indent + "_outputs, = yield [('RD', [kwargs['task_root'], 'last_output'])]\n" + \
|
|
|
- " " * indent + "_outputs_e, = yield [('RDE', [kwargs['task_root'], 'last_output'])]\n" + \
|
|
|
+ " " * indent + "_outputs, = yield [('RD', [_root, 'last_output'])]\n" + \
|
|
|
+ " " * indent + "_outputs_e, = yield [('RDE', [_root, 'last_output'])]\n" + \
|
|
|
" " * indent + "yield [('CD', [_outputs, 'value', %s])]\n" % inst + \
|
|
|
" " * indent + "_new, = yield [('CN', [])]\n" + \
|
|
|
" " * indent + "yield [('CD', [_outputs, 'next', _new])]\n" + \
|
|
|
" " * indent + "yield [('DE', [_outputs_e])]\n" + \
|
|
|
- " " * indent + "yield [('CD', [kwargs['task_root'], 'last_output', _new])]\n"
|
|
|
+ " " * indent + "yield [('CD', [_root, 'last_output', _new])]\n"
|
|
|
|
|
|
|
|
|
elif inst_type["value"] == "resolve":
|
|
@@ -330,7 +330,7 @@ class ModelverseKernel(object):
|
|
|
" " * nested_indent + "_old_edge, = yield [('RDE', [_var, 'value'])]\n" + \
|
|
|
" " * nested_indent + "yield [('CD', [_var, 'value', %s])]\n" % instruction_var + \
|
|
|
" " * nested_indent + "yield [('DE', [_old_edge])]\n" + \
|
|
|
- " " * nested_indent + "kwargs['mvk'].jit.register_global('%s', %s)\n" % (instruction_var, instruction_var)
|
|
|
+ " " * nested_indent + "_mvk.jit.register_global('%s', %s)\n" % (instruction_var, instruction_var)
|
|
|
|
|
|
elif inst_type["value"] == "call":
|
|
|
func_name, = yield [("RD", [inst, "func"])]
|
|
@@ -357,7 +357,7 @@ class ModelverseKernel(object):
|
|
|
value = "func_result_" + str(ModelverseKernel.counter)
|
|
|
ModelverseKernel.counter += 1
|
|
|
param_list = "{" + ", ".join(["'%s': %s" % (k, v) for k, v in param_list.items()]) + "}"
|
|
|
- actual_computation = "%s, = yield [('CALL_ARGS', [kwargs['mvk'].execute_jit_internal, (kwargs['task_root'], %s, kwargs['taskname'], %s)])]\n" % (value, func_name, param_list)
|
|
|
+ actual_computation = "%s, = yield [('CALL_ARGS', [_mvk.execute_jit_internal, (_root, %s, _taskname, %s)])]\n" % (value, func_name, param_list)
|
|
|
|
|
|
if indent == 0:
|
|
|
# No indent, meaning that we use it inline
|
|
@@ -404,7 +404,11 @@ class ModelverseKernel(object):
|
|
|
|
|
|
print("Reading function: %s" % suggested_name)
|
|
|
(prev, printed), = yield [("CALL_ARGS", [self.print_instruction, (inst, 1)])]
|
|
|
- printed = " _globs, = yield [('RD', [kwargs['task_root'], 'globals'])]\n" + prev + printed
|
|
|
+ preamble = " _globs, = yield [('RD', [kwargs['task_root'], 'globals'])]\n" + \
|
|
|
+ " _root = kwargs['task_root']\n" + \
|
|
|
+ " _taskname = kwargs['taskname']\n" + \
|
|
|
+ " _mvk = kwargs['mvk']\n"
|
|
|
+ printed = preamble + prev + printed
|
|
|
print("Total printed function: ")
|
|
|
if params:
|
|
|
func = "def " + suggested_name + "(" + ", ".join([chr(ord('a') + i) for i in range(len(params))]) + ", **kwargs):\n" + "".join([" var_%s = %s\n" % (param, chr(ord('a') + i)) for i, param in enumerate(params)]) + printed
|