浏览代码

Fixed some more rules

Yentl Van Tendeloo 7 年之前
父节点
当前提交
d49dec5c8f

+ 45 - 45
kernel/modelverse_kernel/compiled.py

@@ -2,6 +2,51 @@ from modelverse_kernel.primitives import PrimitiveFinished
 import modelverse_jit.runtime as jit_runtime 
 import modelverse_jit.runtime as jit_runtime 
 import time
 import time
 
 
+def get_superclasses(a, b, **remainder):
+    model, name = a, b
+    model_dict, tm_dict, name_value = yield [("RD", [a, "model"]), 
+                                             ("RD", [a, "type_mapping"]),
+                                             ("RV", [b])]
+
+    worklist = set([name_value])
+    found = set([])
+
+    cache_value = {}
+
+    while worklist:
+        name = worklist.pop()
+        if name in found:
+            continue
+        elem, = yield [("RD", [model_dict, name])]
+        found.add(name)
+
+        # Iterate over all outgoing links
+        outgoing, = yield [("RO", [elem])]
+        outgoing = set(outgoing)
+        while (outgoing):
+            link = outgoing.pop()
+
+            # If the link is typed by "Inheritance", we add its destination
+            link_name_node, = yield [("CALL_ARGS", [reverseKeyLookup, [model_dict, link]])]
+            link_name, = yield [("RV", [link_name_node])]
+            t_edge, = yield [("RD", [tm_dict, link_name])]
+            t_edge, = yield [("RV", [t_edge])]
+            if t_edge == "Inheritance":
+                edge, = yield [("RE", [link])]
+                src, dst = edge
+                # Look up dst's name and add it
+                if dst not in cache_value:
+                    dst_name, = yield [("CALL_ARGS", [reverseKeyLookup, [model_dict, dst]])]
+                    dst_name_value, = yield [("RV", [dst_name])]
+                    cache_value[dst] = dst_name_value
+                dst_name_value = cache_value[dst]
+                worklist.add(dst_name_value)
+
+    result, = yield [("CN", [])]
+    yield [("CD", [result, i, result]) for i in found]
+
+    raise PrimitiveFinished(result)
+
 def reverseKeyLookupMulti(a, b, **remainder):
 def reverseKeyLookupMulti(a, b, **remainder):
     edges, b_val, result = yield [("RO", [a]), ("RV", [b]), ("CN", [])]
     edges, b_val, result = yield [("RO", [a]), ("RV", [b]), ("CN", [])]
     expanded_edges = yield [("RE", [i]) for i in edges]
     expanded_edges = yield [("RE", [i]) for i in edges]
@@ -205,51 +250,6 @@ def set_overlap(a, b, **remainder):
 
 
     raise PrimitiveFinished(res)
     raise PrimitiveFinished(res)
 
 
-def get_superclasses(a, b, **remainder):
-    model, name = a, b
-    model_dict, tm_dict, name_value = yield [("RD", [a, "model"]), 
-                                             ("RD", [a, "type_mapping"]),
-                                             ("RV", [b])]
-
-    worklist = set([name_value])
-    found = set([])
-
-    cache_value = {}
-
-    while worklist:
-        name = worklist.pop()
-        if name in found:
-            continue
-        elem, = yield [("RD", [model_dict, name])]
-        found.add(name)
-
-        # Iterate over all outgoing links
-        outgoing, = yield [("RO", [elem])]
-        outgoing = set(outgoing)
-        while (outgoing):
-            link = outgoing.pop()
-
-            # If the link is typed by "Inheritance", we add its destination
-            link_name_node, = yield [("CALL_ARGS", [reverseKeyLookup, [model_dict, link]])]
-            link_name, = yield [("RV", [link_name_node])]
-            t_edge, = yield [("RD", [tm_dict, link_name])]
-            t_edge, = yield [("RV", [t_edge])]
-            if t_edge == "Inheritance":
-                edge, = yield [("RE", [link])]
-                src, dst = edge
-                # Look up dst's name and add it
-                if dst not in cache_value:
-                    dst_name, = yield [("CALL_ARGS", [reverseKeyLookup, [model_dict, dst]])]
-                    dst_name_value, = yield [("RV", [dst_name])]
-                    cache_value[dst] = dst_name_value
-                dst_name_value = cache_value[dst]
-                worklist.add(dst_name_value)
-
-    result, = yield [("CN", [])]
-    yield [("CD", [result, i, result]) for i in found]
-
-    raise PrimitiveFinished(result)
-
 def list_pop_final(a, **remainder):
 def list_pop_final(a, **remainder):
     lst, = yield [("RO", [a])]
     lst, = yield [("RO", [a])]
     length = len(lst)
     length = len(lst)

+ 63 - 95
kernel/modelverse_kernel/generated.py

@@ -312,6 +312,7 @@ class ModelverseKernel(object):
 		Rules_N28_8, = yield [('RD', [Rules_N28_3, 'phase'])]
 		Rules_N28_8, = yield [('RD', [Rules_N28_3, 'phase'])]
 		Rules_N28_8_V, = yield [('RV', [Rules_N28_8])]
 		Rules_N28_8_V, = yield [('RV', [Rules_N28_8])]
 		Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
 		Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
+		Rules_N28_10_V, = yield [('RV', [Rules_N28_10])]
 		Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
 		Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
 		Rules_N29_0 = root
 		Rules_N29_0 = root
 		Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
 		Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
@@ -376,7 +377,7 @@ class ModelverseKernel(object):
 			pass
 			pass
 		elif (True  and Rules_N1_1 is not None  and Rules_N1_2 is not None  and Rules_N1_3 is not None  and isinstance(Rules_N1_3_V , dict) and Rules_N1_3_V['value'] == 'access' and Rules_N1_4 is not None  and Rules_N1_4_V == 'eval'):
 		elif (True  and Rules_N1_1 is not None  and Rules_N1_2 is not None  and Rules_N1_3 is not None  and isinstance(Rules_N1_3_V , dict) and Rules_N1_3_V['value'] == 'access' and Rules_N1_4 is not None  and Rules_N1_4_V == 'eval'):
 			# Execute rule Rules/Access_Eval_N1
 			# Execute rule Rules/Access_Eval_N1
-			print('Execute rule Rules/Access_Eval_N1')
+			print('Rules/Access_Eval_N1')
 			Rules_N1_1, = yield [('RD', [Rules_N1_0, taskname])]
 			Rules_N1_1, = yield [('RD', [Rules_N1_0, taskname])]
 			Rules_N1_2, = yield [('RD', [Rules_N1_1, 'frame'])]
 			Rules_N1_2, = yield [('RD', [Rules_N1_1, 'frame'])]
 			Rules_N1_3, = yield [('RD', [Rules_N1_2, 'IP'])]
 			Rules_N1_3, = yield [('RD', [Rules_N1_2, 'IP'])]
@@ -390,10 +391,9 @@ class ModelverseKernel(object):
 			Rules_N1_5, = yield [('CNV', ['finish'])]
 			Rules_N1_5, = yield [('CNV', ['finish'])]
 			Rules___16, = yield [('CD', [Rules_N1_2, 'phase', Rules_N1_5])]
 			Rules___16, = yield [('CD', [Rules_N1_2, 'phase', Rules_N1_5])]
 			Rules___18, = yield [('CD', [Rules_N1_2, 'returnvalue', Rules_N1_6])]
 			Rules___18, = yield [('CD', [Rules_N1_2, 'returnvalue', Rules_N1_6])]
-			print(str(locals()))
 		elif (True  and Rules_N2_1 is not None  and Rules_N2_2 is not None  and Rules_N2_3 is not None  and Rules_N2_3_V == 'init' and Rules_N2_5 is not None  and isinstance(Rules_N2_5_V , dict) and Rules_N2_5_V['value'] == 'access'):
 		elif (True  and Rules_N2_1 is not None  and Rules_N2_2 is not None  and Rules_N2_3 is not None  and Rules_N2_3_V == 'init' and Rules_N2_5 is not None  and isinstance(Rules_N2_5_V , dict) and Rules_N2_5_V['value'] == 'access'):
 			# Execute rule Rules/Access_Init_N2
 			# Execute rule Rules/Access_Init_N2
-			print('Execute rule Rules/Access_Init_N2')
+			print('Rules/Access_Init_N2')
 			Rules_N2_1, = yield [('RD', [Rules_N2_0, taskname])]
 			Rules_N2_1, = yield [('RD', [Rules_N2_0, taskname])]
 			Rules_N2_2, = yield [('RD', [Rules_N2_1, 'frame'])]
 			Rules_N2_2, = yield [('RD', [Rules_N2_1, 'frame'])]
 			Rules_N2_3, = yield [('RD', [Rules_N2_2, 'phase'])]
 			Rules_N2_3, = yield [('RD', [Rules_N2_2, 'phase'])]
@@ -411,10 +411,9 @@ class ModelverseKernel(object):
 			Rules___47, = yield [('CD', [Rules_N2_4, 'prev', Rules_N2_6])]
 			Rules___47, = yield [('CD', [Rules_N2_4, 'prev', Rules_N2_6])]
 			Rules___49, = yield [('CD', [Rules_N2_6, 'phase', Rules_N2_8])]
 			Rules___49, = yield [('CD', [Rules_N2_6, 'phase', Rules_N2_8])]
 			Rules___51, = yield [('CD', [Rules_N2_6, 'inst', Rules_N2_5])]
 			Rules___51, = yield [('CD', [Rules_N2_6, 'inst', Rules_N2_5])]
-			print(str(locals()))
 		elif (True  and Rules_N3_1 is not None  and Rules_N3_2 is not None  and Rules_N3_3 is not None  and isinstance(Rules_N3_3_V , dict) and Rules_N3_3_V['value'] == 'assign' and Rules_N3_4 is not None  and Rules_N3_4_V == 'assign'):
 		elif (True  and Rules_N3_1 is not None  and Rules_N3_2 is not None  and Rules_N3_3 is not None  and isinstance(Rules_N3_3_V , dict) and Rules_N3_3_V['value'] == 'assign' and Rules_N3_4 is not None  and Rules_N3_4_V == 'assign'):
 			# Execute rule Rules/Assign_Assign_N3
 			# Execute rule Rules/Assign_Assign_N3
-			print('Execute rule Rules/Assign_Assign_N3')
+			print('Rules/Assign_Assign_N3')
 			Rules_N3_1, = yield [('RD', [Rules_N3_0, taskname])]
 			Rules_N3_1, = yield [('RD', [Rules_N3_0, taskname])]
 			Rules_N3_2, = yield [('RD', [Rules_N3_1, 'frame'])]
 			Rules_N3_2, = yield [('RD', [Rules_N3_1, 'frame'])]
 			Rules_N3_3, = yield [('RD', [Rules_N3_2, 'IP'])]
 			Rules_N3_3, = yield [('RD', [Rules_N3_2, 'IP'])]
@@ -431,10 +430,9 @@ class ModelverseKernel(object):
 			Rules_N3_5, = yield [('CNV', ['finish'])]
 			Rules_N3_5, = yield [('CNV', ['finish'])]
 			Rules___72, = yield [('CD', [Rules_N3_2, 'phase', Rules_N3_5])]
 			Rules___72, = yield [('CD', [Rules_N3_2, 'phase', Rules_N3_5])]
 			Rules___78, = yield [('CD', [Rules_N3_7, 'value', Rules_N3_6])]
 			Rules___78, = yield [('CD', [Rules_N3_7, 'value', Rules_N3_6])]
-			print(str(locals()))
 		elif (True  and Rules_N4_1 is not None  and Rules_N4_2 is not None  and Rules_N4_3 is not None  and Rules_N4_3_V == 'init' and Rules_N4_6 is not None  and isinstance(Rules_N4_6_V , dict) and Rules_N4_6_V['value'] == 'assign'):
 		elif (True  and Rules_N4_1 is not None  and Rules_N4_2 is not None  and Rules_N4_3 is not None  and Rules_N4_3_V == 'init' and Rules_N4_6 is not None  and isinstance(Rules_N4_6_V , dict) and Rules_N4_6_V['value'] == 'assign'):
 			# Execute rule Rules/Assign_Init_N4
 			# Execute rule Rules/Assign_Init_N4
-			print('Execute rule Rules/Assign_Init_N4')
+			print('Rules/Assign_Init_N4')
 			Rules_N4_1, = yield [('RD', [Rules_N4_0, taskname])]
 			Rules_N4_1, = yield [('RD', [Rules_N4_0, taskname])]
 			Rules_N4_2, = yield [('RD', [Rules_N4_1, 'frame'])]
 			Rules_N4_2, = yield [('RD', [Rules_N4_1, 'frame'])]
 			Rules_N4_3, = yield [('RD', [Rules_N4_2, 'phase'])]
 			Rules_N4_3, = yield [('RD', [Rules_N4_2, 'phase'])]
@@ -452,10 +450,9 @@ class ModelverseKernel(object):
 			Rules___105, = yield [('CD', [Rules_N4_4, 'prev', Rules_N4_5])]
 			Rules___105, = yield [('CD', [Rules_N4_4, 'prev', Rules_N4_5])]
 			Rules___107, = yield [('CD', [Rules_N4_5, 'inst', Rules_N4_6])]
 			Rules___107, = yield [('CD', [Rules_N4_5, 'inst', Rules_N4_6])]
 			Rules___109, = yield [('CD', [Rules_N4_5, 'phase', Rules_N4_7])]
 			Rules___109, = yield [('CD', [Rules_N4_5, 'phase', Rules_N4_7])]
-			print(str(locals()))
 		elif (True  and Rules_N5_1 is not None  and Rules_N5_2 is not None  and Rules_N5_3 is not None  and Rules_N5_3_V == 'value' and Rules_N5_4 is not None  and isinstance(Rules_N5_4_V , dict) and Rules_N5_4_V['value'] == 'assign'):
 		elif (True  and Rules_N5_1 is not None  and Rules_N5_2 is not None  and Rules_N5_3 is not None  and Rules_N5_3_V == 'value' and Rules_N5_4 is not None  and isinstance(Rules_N5_4_V , dict) and Rules_N5_4_V['value'] == 'assign'):
 			# Execute rule Rules/Assign_Value_N5
 			# Execute rule Rules/Assign_Value_N5
-			print('Execute rule Rules/Assign_Value_N5')
+			print('Rules/Assign_Value_N5')
 			Rules_N5_1, = yield [('RD', [Rules_N5_0, taskname])]
 			Rules_N5_1, = yield [('RD', [Rules_N5_0, taskname])]
 			Rules_N5_2, = yield [('RD', [Rules_N5_1, 'frame'])]
 			Rules_N5_2, = yield [('RD', [Rules_N5_1, 'frame'])]
 			Rules_N5_3, = yield [('RD', [Rules_N5_2, 'phase'])]
 			Rules_N5_3, = yield [('RD', [Rules_N5_2, 'phase'])]
@@ -479,10 +476,9 @@ class ModelverseKernel(object):
 			Rules___144, = yield [('CD', [Rules_N5_5, 'prev', Rules_N5_9])]
 			Rules___144, = yield [('CD', [Rules_N5_5, 'prev', Rules_N5_9])]
 			Rules___146, = yield [('CD', [Rules_N5_9, 'inst', Rules_N5_4])]
 			Rules___146, = yield [('CD', [Rules_N5_9, 'inst', Rules_N5_4])]
 			Rules___148, = yield [('CD', [Rules_N5_9, 'phase', Rules_N5_10])]
 			Rules___148, = yield [('CD', [Rules_N5_9, 'phase', Rules_N5_10])]
-			print(str(locals()))
 		elif (True  and Rules_N6_1 is not None  and Rules_N6_2 is not None  and Rules_N6_3 is not None  and Rules_N6_3_V == 'init' and Rules_N6_5 is not None  and isinstance(Rules_N6_5_V , dict) and Rules_N6_5_V['value'] == 'break'):
 		elif (True  and Rules_N6_1 is not None  and Rules_N6_2 is not None  and Rules_N6_3 is not None  and Rules_N6_3_V == 'init' and Rules_N6_5 is not None  and isinstance(Rules_N6_5_V , dict) and Rules_N6_5_V['value'] == 'break'):
 			# Execute rule Rules/Break_N6
 			# Execute rule Rules/Break_N6
-			print('Execute rule Rules/Break_N6')
+			print('Rules/Break_N6')
 			Rules_N6_1, = yield [('RD', [Rules_N6_0, taskname])]
 			Rules_N6_1, = yield [('RD', [Rules_N6_0, taskname])]
 			Rules_N6_2, = yield [('RD', [Rules_N6_1, 'frame'])]
 			Rules_N6_2, = yield [('RD', [Rules_N6_1, 'frame'])]
 			Rules_N6_3, = yield [('RD', [Rules_N6_2, 'phase'])]
 			Rules_N6_3, = yield [('RD', [Rules_N6_2, 'phase'])]
@@ -508,10 +504,9 @@ class ModelverseKernel(object):
 			Rules___183, = yield [('CD', [Rules_N6_2, 'evalstack', Rules_N6_9])]
 			Rules___183, = yield [('CD', [Rules_N6_2, 'evalstack', Rules_N6_9])]
 			Rules___185, = yield [('CD', [Rules_N6_9, 'prev', Rules_N6_8])]
 			Rules___185, = yield [('CD', [Rules_N6_9, 'prev', Rules_N6_8])]
 			Rules___187, = yield [('CD', [Rules_N6_8, 'phase', Rules_N6_11])]
 			Rules___187, = yield [('CD', [Rules_N6_8, 'phase', Rules_N6_11])]
-			print(str(locals()))
 		elif (True  and Rules_N7_1 is not None  and Rules_N7_3 is not None  and Rules_N7_6 is not None  and isinstance(Rules_N7_6_V , dict) and Rules_N7_6_V['value'] == 'call' and Rules_N7_10 is not None  and Rules_N7_10_V == 'call' and Rules_N7_11 is None ):
 		elif (True  and Rules_N7_1 is not None  and Rules_N7_3 is not None  and Rules_N7_6 is not None  and isinstance(Rules_N7_6_V , dict) and Rules_N7_6_V['value'] == 'call' and Rules_N7_10 is not None  and Rules_N7_10_V == 'call' and Rules_N7_11 is None ):
 			# Execute rule Rules/Call_Call_None_N7
 			# Execute rule Rules/Call_Call_None_N7
-			print('Execute rule Rules/Call_Call_None_N7')
+			print('Rules/Call_Call_None_N7')
 			Rules_N7_1, = yield [('RD', [Rules_N7_0, taskname])]
 			Rules_N7_1, = yield [('RD', [Rules_N7_0, taskname])]
 			Rules_N7_3, = yield [('RD', [Rules_N7_1, 'frame'])]
 			Rules_N7_3, = yield [('RD', [Rules_N7_1, 'frame'])]
 			Rules_N7_3_DEL, = yield [('RDE', [Rules_N7_1, 'frame'])]
 			Rules_N7_3_DEL, = yield [('RDE', [Rules_N7_1, 'frame'])]
@@ -538,10 +533,9 @@ class ModelverseKernel(object):
 			Rules___219, = yield [('CD', [Rules_N7_2, 'phase', Rules_N7_13])]
 			Rules___219, = yield [('CD', [Rules_N7_2, 'phase', Rules_N7_13])]
 			Rules___223, = yield [('CD', [Rules_N7_2, 'prev', Rules_N7_3])]
 			Rules___223, = yield [('CD', [Rules_N7_2, 'prev', Rules_N7_3])]
 			Rules___229, = yield [('CD', [Rules_N7_3, 'phase', Rules_N7_9])]
 			Rules___229, = yield [('CD', [Rules_N7_3, 'phase', Rules_N7_9])]
-			print(str(locals()))
 		elif (True  and Rules_N8_1 is not None  and Rules_N8_3 is not None  and Rules_N8_4 is not None  and isinstance(Rules_N8_4_V , dict) and Rules_N8_4_V['value'] == 'call' and Rules_N8_5 is not None  and Rules_N8_14 is not None  and Rules_N8_14_V == 'call'):
 		elif (True  and Rules_N8_1 is not None  and Rules_N8_3 is not None  and Rules_N8_4 is not None  and isinstance(Rules_N8_4_V , dict) and Rules_N8_4_V['value'] == 'call' and Rules_N8_5 is not None  and Rules_N8_14 is not None  and Rules_N8_14_V == 'call'):
 			# Execute rule Rules/Call_Call_Params_N8
 			# Execute rule Rules/Call_Call_Params_N8
-			print('Execute rule Rules/Call_Call_Params_N8')
+			print('Rules/Call_Call_Params_N8')
 			Rules_N8_1, = yield [('RD', [Rules_N8_0, taskname])]
 			Rules_N8_1, = yield [('RD', [Rules_N8_0, taskname])]
 			Rules_N8_3, = yield [('RD', [Rules_N8_1, 'frame'])]
 			Rules_N8_3, = yield [('RD', [Rules_N8_1, 'frame'])]
 			Rules_N8_3_DEL, = yield [('RDE', [Rules_N8_1, 'frame'])]
 			Rules_N8_3_DEL, = yield [('RDE', [Rules_N8_1, 'frame'])]
@@ -584,10 +578,9 @@ class ModelverseKernel(object):
 			Rules___277, = yield [('CD', [Rules_N8_10, 'value', Rules_N8_8])]
 			Rules___277, = yield [('CD', [Rules_N8_10, 'value', Rules_N8_8])]
 			Rules_N8_16, = yield [('CE', [Rules_N8_15, Rules_N8_10])]
 			Rules_N8_16, = yield [('CE', [Rules_N8_15, Rules_N8_10])]
 			Rules___286, = yield [('CE', [Rules_N8_16, Rules_N8_9])]
 			Rules___286, = yield [('CE', [Rules_N8_16, Rules_N8_9])]
-			print(str(locals()))
 		elif (True  and Rules_N9_1 is not None  and Rules_N9_2 is not None  and Rules_N9_14 is not None  and isinstance(Rules_N9_14_V , dict) and Rules_N9_14_V['value'] == 'call' and Rules_N9_15 is not None  and Rules_N9_16 is not None ):
 		elif (True  and Rules_N9_1 is not None  and Rules_N9_2 is not None  and Rules_N9_14 is not None  and isinstance(Rules_N9_14_V , dict) and Rules_N9_14_V['value'] == 'call' and Rules_N9_15 is not None  and Rules_N9_16 is not None ):
 			# Execute rule Rules/Call_Params_First_Multi_N9
 			# Execute rule Rules/Call_Params_First_Multi_N9
-			print('Execute rule Rules/Call_Params_First_Multi_N9')
+			print('Rules/Call_Params_First_Multi_N9')
 			Rules_N9_1, = yield [('RD', [Rules_N9_0, taskname])]
 			Rules_N9_1, = yield [('RD', [Rules_N9_0, taskname])]
 			Rules_N9_2, = yield [('RD', [Rules_N9_1, 'frame'])]
 			Rules_N9_2, = yield [('RD', [Rules_N9_1, 'frame'])]
 			Rules_N9_13, = yield [('RD', [Rules_N9_2, 'evalstack'])]
 			Rules_N9_13, = yield [('RD', [Rules_N9_2, 'evalstack'])]
@@ -625,10 +618,9 @@ class ModelverseKernel(object):
 			Rules___342, = yield [('CD', [Rules_N9_12, 'prev', Rules_N9_13])]
 			Rules___342, = yield [('CD', [Rules_N9_12, 'prev', Rules_N9_13])]
 			Rules___344, = yield [('CD', [Rules_N9_13, 'inst', Rules_N9_14])]
 			Rules___344, = yield [('CD', [Rules_N9_13, 'inst', Rules_N9_14])]
 			Rules___346, = yield [('CD', [Rules_N9_13, 'phase', Rules_N9_16])]
 			Rules___346, = yield [('CD', [Rules_N9_13, 'phase', Rules_N9_16])]
-			print(str(locals()))
 		elif (True  and Rules_N10_1 is not None  and Rules_N10_2 is not None  and Rules_N10_14 is not None  and isinstance(Rules_N10_14_V , dict) and Rules_N10_14_V['value'] == 'call' and Rules_N10_15 is not None ):
 		elif (True  and Rules_N10_1 is not None  and Rules_N10_2 is not None  and Rules_N10_14 is not None  and isinstance(Rules_N10_14_V , dict) and Rules_N10_14_V['value'] == 'call' and Rules_N10_15 is not None ):
 			# Execute rule Rules/Call_Params_First_Single_N10
 			# Execute rule Rules/Call_Params_First_Single_N10
-			print('Execute rule Rules/Call_Params_First_Single_N10')
+			print('Rules/Call_Params_First_Single_N10')
 			Rules_N10_1, = yield [('RD', [Rules_N10_0, taskname])]
 			Rules_N10_1, = yield [('RD', [Rules_N10_0, taskname])]
 			Rules_N10_2, = yield [('RD', [Rules_N10_1, 'frame'])]
 			Rules_N10_2, = yield [('RD', [Rules_N10_1, 'frame'])]
 			Rules_N10_10, = yield [('RD', [Rules_N10_2, 'returnvalue'])]
 			Rules_N10_10, = yield [('RD', [Rules_N10_2, 'returnvalue'])]
@@ -667,10 +659,9 @@ class ModelverseKernel(object):
 			Rules___408, = yield [('CD', [Rules_N10_12, 'phase', Rules_N10_13])]
 			Rules___408, = yield [('CD', [Rules_N10_12, 'phase', Rules_N10_13])]
 			Rules___410, = yield [('CD', [Rules_N10_12, 'inst', Rules_N10_14])]
 			Rules___410, = yield [('CD', [Rules_N10_12, 'inst', Rules_N10_14])]
 			Rules___418, = yield [('CD', [Rules_N10_17, 'prev', Rules_N10_12])]
 			Rules___418, = yield [('CD', [Rules_N10_17, 'prev', Rules_N10_12])]
-			print(str(locals()))
 		elif (True  and Rules_N11_1 is not None  and Rules_N11_2 is not None  and Rules_N11_14 is not None  and Rules_N11_16 is not None  and isinstance(Rules_N11_16_V , dict) and Rules_N11_16_V['value'] == 'call'):
 		elif (True  and Rules_N11_1 is not None  and Rules_N11_2 is not None  and Rules_N11_14 is not None  and Rules_N11_16 is not None  and isinstance(Rules_N11_16_V , dict) and Rules_N11_16_V['value'] == 'call'):
 			# Execute rule Rules/Call_Params_Last_N11
 			# Execute rule Rules/Call_Params_Last_N11
-			print('Execute rule Rules/Call_Params_Last_N11')
+			print('Rules/Call_Params_Last_N11')
 			Rules_N11_1, = yield [('RD', [Rules_N11_0, taskname])]
 			Rules_N11_1, = yield [('RD', [Rules_N11_0, taskname])]
 			Rules_N11_2, = yield [('RD', [Rules_N11_1, 'frame'])]
 			Rules_N11_2, = yield [('RD', [Rules_N11_1, 'frame'])]
 			Rules_N11_16, = yield [('RD', [Rules_N11_2, 'IP'])]
 			Rules_N11_16, = yield [('RD', [Rules_N11_2, 'IP'])]
@@ -730,10 +721,9 @@ class ModelverseKernel(object):
 			Rules___486, = yield [('CD', [Rules_N11_18, 'prev', Rules_N11_17])]
 			Rules___486, = yield [('CD', [Rules_N11_18, 'prev', Rules_N11_17])]
 			Rules_N11_8, = yield [('CE', [Rules_N11_20, Rules_N11_9])]
 			Rules_N11_8, = yield [('CE', [Rules_N11_20, Rules_N11_9])]
 			Rules___489, = yield [('CE', [Rules_N11_8, Rules_N11_7])]
 			Rules___489, = yield [('CE', [Rules_N11_8, Rules_N11_7])]
-			print(str(locals()))
 		elif (True  and Rules_N12_1 is not None  and Rules_N12_2 is not None  and Rules_N12_11 is not None  and Rules_N12_18 is not None  and Rules_N12_19 is not None  and isinstance(Rules_N12_19_V , dict) and Rules_N12_19_V['value'] == 'call'):
 		elif (True  and Rules_N12_1 is not None  and Rules_N12_2 is not None  and Rules_N12_11 is not None  and Rules_N12_18 is not None  and Rules_N12_19 is not None  and isinstance(Rules_N12_19_V , dict) and Rules_N12_19_V['value'] == 'call'):
 			# Execute rule Rules/Call_Params_Next_N12
 			# Execute rule Rules/Call_Params_Next_N12
-			print('Execute rule Rules/Call_Params_Next_N12')
+			print('Rules/Call_Params_Next_N12')
 			Rules_N12_1, = yield [('RD', [Rules_N12_0, taskname])]
 			Rules_N12_1, = yield [('RD', [Rules_N12_0, taskname])]
 			Rules_N12_2, = yield [('RD', [Rules_N12_1, 'frame'])]
 			Rules_N12_2, = yield [('RD', [Rules_N12_1, 'frame'])]
 			Rules_N12_10, = yield [('RD', [Rules_N12_2, 'returnvalue'])]
 			Rules_N12_10, = yield [('RD', [Rules_N12_2, 'returnvalue'])]
@@ -792,10 +782,9 @@ class ModelverseKernel(object):
 			Rules___557, = yield [('CD', [Rules_N12_17, 'inst', Rules_N12_19])]
 			Rules___557, = yield [('CD', [Rules_N12_17, 'inst', Rules_N12_19])]
 			Rules_N12_8, = yield [('CE', [Rules_N12_13, Rules_N12_9])]
 			Rules_N12_8, = yield [('CE', [Rules_N12_13, Rules_N12_9])]
 			Rules___560, = yield [('CE', [Rules_N12_8, Rules_N12_7])]
 			Rules___560, = yield [('CE', [Rules_N12_8, Rules_N12_7])]
-			print(str(locals()))
 		elif (True  and Rules_N13_1 is not None  and Rules_N13_2 is not None  and Rules_N13_3 is not None  and Rules_N13_3_V == 'init' and Rules_N13_6 is not None  and isinstance(Rules_N13_6_V , dict) and Rules_N13_6_V['value'] == 'call' and Rules_N13_9 is None ):
 		elif (True  and Rules_N13_1 is not None  and Rules_N13_2 is not None  and Rules_N13_3 is not None  and Rules_N13_3_V == 'init' and Rules_N13_6 is not None  and isinstance(Rules_N13_6_V , dict) and Rules_N13_6_V['value'] == 'call' and Rules_N13_9 is None ):
 			# Execute rule Rules/Call_Resolve_No_Params_N13
 			# Execute rule Rules/Call_Resolve_No_Params_N13
-			print('Execute rule Rules/Call_Resolve_No_Params_N13')
+			print('Rules/Call_Resolve_No_Params_N13')
 			Rules_N13_1, = yield [('RD', [Rules_N13_0, taskname])]
 			Rules_N13_1, = yield [('RD', [Rules_N13_0, taskname])]
 			Rules_N13_2, = yield [('RD', [Rules_N13_1, 'frame'])]
 			Rules_N13_2, = yield [('RD', [Rules_N13_1, 'frame'])]
 			Rules_N13_6, = yield [('RD', [Rules_N13_2, 'IP'])]
 			Rules_N13_6, = yield [('RD', [Rules_N13_2, 'IP'])]
@@ -814,10 +803,9 @@ class ModelverseKernel(object):
 			Rules___586, = yield [('CD', [Rules_N13_4, 'prev', Rules_N13_5])]
 			Rules___586, = yield [('CD', [Rules_N13_4, 'prev', Rules_N13_5])]
 			Rules___588, = yield [('CD', [Rules_N13_5, 'inst', Rules_N13_6])]
 			Rules___588, = yield [('CD', [Rules_N13_5, 'inst', Rules_N13_6])]
 			Rules___590, = yield [('CD', [Rules_N13_5, 'phase', Rules_N13_7])]
 			Rules___590, = yield [('CD', [Rules_N13_5, 'phase', Rules_N13_7])]
-			print(str(locals()))
 		elif (True  and Rules_N14_1 is not None  and Rules_N14_2 is not None  and Rules_N14_5 is not None  and isinstance(Rules_N14_5_V , dict) and Rules_N14_5_V['value'] == 'call' and Rules_N14_7 is not None  and Rules_N14_7_V == 'init' and Rules_N14_8 is not None ):
 		elif (True  and Rules_N14_1 is not None  and Rules_N14_2 is not None  and Rules_N14_5 is not None  and isinstance(Rules_N14_5_V , dict) and Rules_N14_5_V['value'] == 'call' and Rules_N14_7 is not None  and Rules_N14_7_V == 'init' and Rules_N14_8 is not None ):
 			# Execute rule Rules/Call_Resolve_Params_N14
 			# Execute rule Rules/Call_Resolve_Params_N14
-			print('Execute rule Rules/Call_Resolve_Params_N14')
+			print('Rules/Call_Resolve_Params_N14')
 			Rules_N14_1, = yield [('RD', [Rules_N14_0, taskname])]
 			Rules_N14_1, = yield [('RD', [Rules_N14_0, taskname])]
 			Rules_N14_2, = yield [('RD', [Rules_N14_1, 'frame'])]
 			Rules_N14_2, = yield [('RD', [Rules_N14_1, 'frame'])]
 			Rules_N14_3, = yield [('RD', [Rules_N14_2, 'evalstack'])]
 			Rules_N14_3, = yield [('RD', [Rules_N14_2, 'evalstack'])]
@@ -835,10 +823,9 @@ class ModelverseKernel(object):
 			Rules___619, = yield [('CD', [Rules_N14_3, 'phase', Rules_N14_8])]
 			Rules___619, = yield [('CD', [Rules_N14_3, 'phase', Rules_N14_8])]
 			Rules___621, = yield [('CD', [Rules_N14_3, 'inst', Rules_N14_5])]
 			Rules___621, = yield [('CD', [Rules_N14_3, 'inst', Rules_N14_5])]
 			Rules___623, = yield [('CD', [Rules_N14_4, 'prev', Rules_N14_3])]
 			Rules___623, = yield [('CD', [Rules_N14_4, 'prev', Rules_N14_3])]
-			print(str(locals()))
 		elif (True  and Rules_N15_1 is not None  and Rules_N15_2 is not None  and Rules_N15_4 is not None  and Rules_N15_4_V == 'init' and Rules_N15_6 is not None  and isinstance(Rules_N15_6_V , dict) and Rules_N15_6_V['value'] == 'constant'):
 		elif (True  and Rules_N15_1 is not None  and Rules_N15_2 is not None  and Rules_N15_4 is not None  and Rules_N15_4_V == 'init' and Rules_N15_6 is not None  and isinstance(Rules_N15_6_V , dict) and Rules_N15_6_V['value'] == 'constant'):
 			# Execute rule Rules/Const_N15
 			# Execute rule Rules/Const_N15
-			print('Execute rule Rules/Const_N15')
+			print('Rules/Const_N15')
 			Rules_N15_1, = yield [('RD', [Rules_N15_0, taskname])]
 			Rules_N15_1, = yield [('RD', [Rules_N15_0, taskname])]
 			Rules_N15_2, = yield [('RD', [Rules_N15_1, 'frame'])]
 			Rules_N15_2, = yield [('RD', [Rules_N15_1, 'frame'])]
 			Rules_N15_3, = yield [('RD', [Rules_N15_2, 'returnvalue'])]
 			Rules_N15_3, = yield [('RD', [Rules_N15_2, 'returnvalue'])]
@@ -852,10 +839,9 @@ class ModelverseKernel(object):
 			Rules_N15_5, = yield [('CNV', ['finish'])]
 			Rules_N15_5, = yield [('CNV', ['finish'])]
 			Rules___641, = yield [('CD', [Rules_N15_2, 'returnvalue', Rules_N15_7])]
 			Rules___641, = yield [('CD', [Rules_N15_2, 'returnvalue', Rules_N15_7])]
 			Rules___647, = yield [('CD', [Rules_N15_2, 'phase', Rules_N15_5])]
 			Rules___647, = yield [('CD', [Rules_N15_2, 'phase', Rules_N15_5])]
-			print(str(locals()))
 		elif (True  and Rules_N16_1 is not None  and Rules_N16_2 is not None  and Rules_N16_3 is not None  and Rules_N16_3_V == 'init' and Rules_N16_4 is not None  and isinstance(Rules_N16_4_V , dict) and Rules_N16_4_V['value'] == 'continue'):
 		elif (True  and Rules_N16_1 is not None  and Rules_N16_2 is not None  and Rules_N16_3 is not None  and Rules_N16_3_V == 'init' and Rules_N16_4 is not None  and isinstance(Rules_N16_4_V , dict) and Rules_N16_4_V['value'] == 'continue'):
 			# Execute rule Rules/Continue_N16
 			# Execute rule Rules/Continue_N16
-			print('Execute rule Rules/Continue_N16')
+			print('Rules/Continue_N16')
 			Rules_N16_1, = yield [('RD', [Rules_N16_0, taskname])]
 			Rules_N16_1, = yield [('RD', [Rules_N16_0, taskname])]
 			Rules_N16_2, = yield [('RD', [Rules_N16_1, 'frame'])]
 			Rules_N16_2, = yield [('RD', [Rules_N16_1, 'frame'])]
 			Rules_N16_3, = yield [('RD', [Rules_N16_2, 'phase'])]
 			Rules_N16_3, = yield [('RD', [Rules_N16_2, 'phase'])]
@@ -879,10 +865,9 @@ class ModelverseKernel(object):
 			Rules___670, = yield [('CD', [Rules_N16_2, 'phase', Rules_N16_10])]
 			Rules___670, = yield [('CD', [Rules_N16_2, 'phase', Rules_N16_10])]
 			Rules___682, = yield [('CD', [Rules_N16_2, 'evalstack', Rules_N16_8])]
 			Rules___682, = yield [('CD', [Rules_N16_2, 'evalstack', Rules_N16_8])]
 			Rules___684, = yield [('CD', [Rules_N16_8, 'prev', Rules_N16_7])]
 			Rules___684, = yield [('CD', [Rules_N16_8, 'prev', Rules_N16_7])]
-			print(str(locals()))
 		elif (True  and Rules_N17_1 is not None  and Rules_N17_2 is not None  and Rules_N17_3 is not None  and Rules_N17_3_V == 'init' and Rules_N17_5 is not None  and isinstance(Rules_N17_5_V , dict) and Rules_N17_5_V['value'] == 'declare'):
 		elif (True  and Rules_N17_1 is not None  and Rules_N17_2 is not None  and Rules_N17_3 is not None  and Rules_N17_3_V == 'init' and Rules_N17_5 is not None  and isinstance(Rules_N17_5_V , dict) and Rules_N17_5_V['value'] == 'declare'):
 			# Execute rule Rules/Declare_Init_N17
 			# Execute rule Rules/Declare_Init_N17
-			print('Execute rule Rules/Declare_Init_N17')
+			print('Rules/Declare_Init_N17')
 			Rules_N17_1, = yield [('RD', [Rules_N17_0, taskname])]
 			Rules_N17_1, = yield [('RD', [Rules_N17_0, taskname])]
 			Rules_N17_2, = yield [('RD', [Rules_N17_1, 'frame'])]
 			Rules_N17_2, = yield [('RD', [Rules_N17_1, 'frame'])]
 			Rules_N17_3, = yield [('RD', [Rules_N17_2, 'phase'])]
 			Rules_N17_3, = yield [('RD', [Rules_N17_2, 'phase'])]
@@ -896,10 +881,9 @@ class ModelverseKernel(object):
 			Rules___701, = yield [('CD', [Rules_N17_2, 'phase', Rules_N17_4])]
 			Rules___701, = yield [('CD', [Rules_N17_2, 'phase', Rules_N17_4])]
 			Rules_N17_9, = yield [('CE', [Rules_N17_6, Rules_N17_8])]
 			Rules_N17_9, = yield [('CE', [Rules_N17_6, Rules_N17_8])]
 			Rules___710, = yield [('CE', [Rules_N17_9, Rules_N17_7])]
 			Rules___710, = yield [('CE', [Rules_N17_9, Rules_N17_7])]
-			print(str(locals()))
 		elif (True  and Rules_N18_1 is not None  and Rules_N18_2 is not None  and Rules_N18_4 is not None  and Rules_N18_4_V == 'init' and Rules_N18_6 is not None  and isinstance(Rules_N18_6_V , dict) and Rules_N18_6_V['value'] == 'global'):
 		elif (True  and Rules_N18_1 is not None  and Rules_N18_2 is not None  and Rules_N18_4 is not None  and Rules_N18_4_V == 'init' and Rules_N18_6 is not None  and isinstance(Rules_N18_6_V , dict) and Rules_N18_6_V['value'] == 'global'):
 			# Execute rule Rules/Global_Init_N18
 			# Execute rule Rules/Global_Init_N18
-			print('Execute rule Rules/Global_Init_N18')
+			print('Rules/Global_Init_N18')
 			Rules_N18_1, = yield [('RD', [Rules_N18_0, taskname])]
 			Rules_N18_1, = yield [('RD', [Rules_N18_0, taskname])]
 			Rules_N18_2, = yield [('RD', [Rules_N18_1, 'frame'])]
 			Rules_N18_2, = yield [('RD', [Rules_N18_1, 'frame'])]
 			Rules_N18_3, = yield [('RD', [Rules_N18_1, 'globals'])]
 			Rules_N18_3, = yield [('RD', [Rules_N18_1, 'globals'])]
@@ -913,10 +897,9 @@ class ModelverseKernel(object):
 			Rules___729, = yield [('CD', [Rules_N18_2, 'phase', Rules_N18_5])]
 			Rules___729, = yield [('CD', [Rules_N18_2, 'phase', Rules_N18_5])]
 			Rules_N18_9, = yield [('CE', [Rules_N18_3, Rules_N18_8])]
 			Rules_N18_9, = yield [('CE', [Rules_N18_3, Rules_N18_8])]
 			Rules___736, = yield [('CE', [Rules_N18_9, Rules_N18_7])]
 			Rules___736, = yield [('CE', [Rules_N18_9, Rules_N18_7])]
-			print(str(locals()))
 		elif (True  and Rules_N19_1 is not None  and Rules_N19_2 is not None  and Rules_N19_3 is not None  and Rules_N19_3_V == 'init' and Rules_N19_6 is not None  and isinstance(Rules_N19_6_V , dict) and Rules_N19_6_V['value'] == 'if'):
 		elif (True  and Rules_N19_1 is not None  and Rules_N19_2 is not None  and Rules_N19_3 is not None  and Rules_N19_3_V == 'init' and Rules_N19_6 is not None  and isinstance(Rules_N19_6_V , dict) and Rules_N19_6_V['value'] == 'if'):
 			# Execute rule Rules/If_Cond_N19
 			# Execute rule Rules/If_Cond_N19
-			print('Execute rule Rules/If_Cond_N19')
+			print('Rules/If_Cond_N19')
 			Rules_N19_1, = yield [('RD', [Rules_N19_0, taskname])]
 			Rules_N19_1, = yield [('RD', [Rules_N19_0, taskname])]
 			Rules_N19_2, = yield [('RD', [Rules_N19_1, 'frame'])]
 			Rules_N19_2, = yield [('RD', [Rules_N19_1, 'frame'])]
 			Rules_N19_3, = yield [('RD', [Rules_N19_2, 'phase'])]
 			Rules_N19_3, = yield [('RD', [Rules_N19_2, 'phase'])]
@@ -934,10 +917,9 @@ class ModelverseKernel(object):
 			Rules___761, = yield [('CD', [Rules_N19_4, 'prev', Rules_N19_5])]
 			Rules___761, = yield [('CD', [Rules_N19_4, 'prev', Rules_N19_5])]
 			Rules___763, = yield [('CD', [Rules_N19_5, 'inst', Rules_N19_6])]
 			Rules___763, = yield [('CD', [Rules_N19_5, 'inst', Rules_N19_6])]
 			Rules___765, = yield [('CD', [Rules_N19_5, 'phase', Rules_N19_7])]
 			Rules___765, = yield [('CD', [Rules_N19_5, 'phase', Rules_N19_7])]
-			print(str(locals()))
 		elif (True  and Rules_N20_1 is not None  and Rules_N20_2 is not None  and Rules_N20_3 is not None  and Rules_N20_3_V == 'cond' and Rules_N20_4 is not None  and isinstance(Rules_N20_4_V , dict) and Rules_N20_4_V['value'] == 'if' and Rules_N20_6 is not None  and Rules_N20_6_V == False and Rules_N20_8 is not None ):
 		elif (True  and Rules_N20_1 is not None  and Rules_N20_2 is not None  and Rules_N20_3 is not None  and Rules_N20_3_V == 'cond' and Rules_N20_4 is not None  and isinstance(Rules_N20_4_V , dict) and Rules_N20_4_V['value'] == 'if' and Rules_N20_6 is not None  and Rules_N20_6_V == False and Rules_N20_8 is not None ):
 			# Execute rule Rules/If_False_Else_N20
 			# Execute rule Rules/If_False_Else_N20
-			print('Execute rule Rules/If_False_Else_N20')
+			print('Rules/If_False_Else_N20')
 			Rules_N20_1, = yield [('RD', [Rules_N20_0, taskname])]
 			Rules_N20_1, = yield [('RD', [Rules_N20_0, taskname])]
 			Rules_N20_2, = yield [('RD', [Rules_N20_1, 'frame'])]
 			Rules_N20_2, = yield [('RD', [Rules_N20_1, 'frame'])]
 			Rules_N20_3, = yield [('RD', [Rules_N20_2, 'phase'])]
 			Rules_N20_3, = yield [('RD', [Rules_N20_2, 'phase'])]
@@ -960,10 +942,9 @@ class ModelverseKernel(object):
 			Rules___800, = yield [('CD', [Rules_N20_5, 'prev', Rules_N20_9])]
 			Rules___800, = yield [('CD', [Rules_N20_5, 'prev', Rules_N20_9])]
 			Rules___802, = yield [('CD', [Rules_N20_9, 'inst', Rules_N20_4])]
 			Rules___802, = yield [('CD', [Rules_N20_9, 'inst', Rules_N20_4])]
 			Rules___804, = yield [('CD', [Rules_N20_9, 'phase', Rules_N20_10])]
 			Rules___804, = yield [('CD', [Rules_N20_9, 'phase', Rules_N20_10])]
-			print(str(locals()))
 		elif (True  and Rules_N21_1 is not None  and Rules_N21_2 is not None  and Rules_N21_3 is not None  and Rules_N21_3_V == 'cond' and Rules_N21_5 is not None  and isinstance(Rules_N21_5_V , dict) and Rules_N21_5_V['value'] == 'if' and Rules_N21_6 is not None  and Rules_N21_6_V == False and Rules_N21_7 is None ):
 		elif (True  and Rules_N21_1 is not None  and Rules_N21_2 is not None  and Rules_N21_3 is not None  and Rules_N21_3_V == 'cond' and Rules_N21_5 is not None  and isinstance(Rules_N21_5_V , dict) and Rules_N21_5_V['value'] == 'if' and Rules_N21_6 is not None  and Rules_N21_6_V == False and Rules_N21_7 is None ):
 			# Execute rule Rules/If_False_None_N21
 			# Execute rule Rules/If_False_None_N21
-			print('Execute rule Rules/If_False_None_N21')
+			print('Rules/If_False_None_N21')
 			Rules_N21_1, = yield [('RD', [Rules_N21_0, taskname])]
 			Rules_N21_1, = yield [('RD', [Rules_N21_0, taskname])]
 			Rules_N21_2, = yield [('RD', [Rules_N21_1, 'frame'])]
 			Rules_N21_2, = yield [('RD', [Rules_N21_1, 'frame'])]
 			Rules_N21_5, = yield [('RD', [Rules_N21_2, 'IP'])]
 			Rules_N21_5, = yield [('RD', [Rules_N21_2, 'IP'])]
@@ -974,10 +955,9 @@ class ModelverseKernel(object):
 			Rules_N21_7, = yield [('RD', [Rules_N21_5, 'else'])]
 			Rules_N21_7, = yield [('RD', [Rules_N21_5, 'else'])]
 			Rules_N21_4, = yield [('CNV', ['finish'])]
 			Rules_N21_4, = yield [('CNV', ['finish'])]
 			Rules___824, = yield [('CD', [Rules_N21_2, 'phase', Rules_N21_4])]
 			Rules___824, = yield [('CD', [Rules_N21_2, 'phase', Rules_N21_4])]
-			print(str(locals()))
 		elif (True  and Rules_N22_1 is not None  and Rules_N22_2 is not None  and Rules_N22_3 is not None  and Rules_N22_3_V == 'cond' and Rules_N22_6 is not None  and Rules_N22_6_V == True and Rules_N22_9 is not None  and isinstance(Rules_N22_9_V , dict) and Rules_N22_9_V['value'] == 'if'):
 		elif (True  and Rules_N22_1 is not None  and Rules_N22_2 is not None  and Rules_N22_3 is not None  and Rules_N22_3_V == 'cond' and Rules_N22_6 is not None  and Rules_N22_6_V == True and Rules_N22_9 is not None  and isinstance(Rules_N22_9_V , dict) and Rules_N22_9_V['value'] == 'if'):
 			# Execute rule Rules/If_True_N22
 			# Execute rule Rules/If_True_N22
-			print('Execute rule Rules/If_True_N22')
+			print('Rules/If_True_N22')
 			Rules_N22_1, = yield [('RD', [Rules_N22_0, taskname])]
 			Rules_N22_1, = yield [('RD', [Rules_N22_0, taskname])]
 			Rules_N22_2, = yield [('RD', [Rules_N22_1, 'frame'])]
 			Rules_N22_2, = yield [('RD', [Rules_N22_1, 'frame'])]
 			Rules_N22_3, = yield [('RD', [Rules_N22_2, 'phase'])]
 			Rules_N22_3, = yield [('RD', [Rules_N22_2, 'phase'])]
@@ -1000,10 +980,9 @@ class ModelverseKernel(object):
 			Rules___857, = yield [('CD', [Rules_N22_2, 'IP', Rules_N22_8])]
 			Rules___857, = yield [('CD', [Rules_N22_2, 'IP', Rules_N22_8])]
 			Rules___859, = yield [('CD', [Rules_N22_7, 'inst', Rules_N22_9])]
 			Rules___859, = yield [('CD', [Rules_N22_7, 'inst', Rules_N22_9])]
 			Rules___861, = yield [('CD', [Rules_N22_7, 'phase', Rules_N22_10])]
 			Rules___861, = yield [('CD', [Rules_N22_7, 'phase', Rules_N22_10])]
-			print(str(locals()))
 		elif (True  and Rules_N23_1 is not None  and Rules_N23_2 is not None  and Rules_N23_5 is not None  and isinstance(Rules_N23_5_V , dict) and Rules_N23_5_V['value'] == 'input' and Rules_N23_6 is not None  and Rules_N23_6_V == 'init' and Rules_N23_7 is not None  and Rules_N23_8 is not None ):
 		elif (True  and Rules_N23_1 is not None  and Rules_N23_2 is not None  and Rules_N23_5 is not None  and isinstance(Rules_N23_5_V , dict) and Rules_N23_5_V['value'] == 'input' and Rules_N23_6 is not None  and Rules_N23_6_V == 'init' and Rules_N23_7 is not None  and Rules_N23_8 is not None ):
 			# Execute rule Rules/Input_N23
 			# Execute rule Rules/Input_N23
-			print('Execute rule Rules/Input_N23')
+			print('Rules/Input_N23')
 			Rules_N23_1, = yield [('RD', [Rules_N23_0, taskname])]
 			Rules_N23_1, = yield [('RD', [Rules_N23_0, taskname])]
 			Rules_N23_2, = yield [('RD', [Rules_N23_1, 'frame'])]
 			Rules_N23_2, = yield [('RD', [Rules_N23_1, 'frame'])]
 			Rules_N23_8, = yield [('RD', [Rules_N23_1, 'input'])]
 			Rules_N23_8, = yield [('RD', [Rules_N23_1, 'input'])]
@@ -1026,10 +1005,9 @@ class ModelverseKernel(object):
 			Rules___879, = yield [('CD', [Rules_N23_2, 'phase', Rules_N23_3])]
 			Rules___879, = yield [('CD', [Rules_N23_2, 'phase', Rules_N23_3])]
 			Rules___887, = yield [('CD', [Rules_N23_2, 'returnvalue', Rules_N23_7])]
 			Rules___887, = yield [('CD', [Rules_N23_2, 'returnvalue', Rules_N23_7])]
 			Rules___895, = yield [('CD', [Rules_N23_1, 'input', Rules_N23_9])]
 			Rules___895, = yield [('CD', [Rules_N23_1, 'input', Rules_N23_9])]
-			print(str(locals()))
 		elif (True  and Rules_N24_1 is not None  and Rules_N24_2 is not None  and Rules_N24_3 is not None  and Rules_N24_3_V == 'finish' and Rules_N24_5 is not None  and Rules_N24_6 is not None ):
 		elif (True  and Rules_N24_1 is not None  and Rules_N24_2 is not None  and Rules_N24_3 is not None  and Rules_N24_3_V == 'finish' and Rules_N24_5 is not None  and Rules_N24_6 is not None ):
 			# Execute rule Rules/Next_Next_N24
 			# Execute rule Rules/Next_Next_N24
-			print('Execute rule Rules/Next_Next_N24')
+			print('Rules/Next_Next_N24')
 			Rules_N24_1, = yield [('RD', [Rules_N24_0, taskname])]
 			Rules_N24_1, = yield [('RD', [Rules_N24_0, taskname])]
 			Rules_N24_2, = yield [('RD', [Rules_N24_1, 'frame'])]
 			Rules_N24_2, = yield [('RD', [Rules_N24_1, 'frame'])]
 			Rules_N24_3, = yield [('RD', [Rules_N24_2, 'phase'])]
 			Rules_N24_3, = yield [('RD', [Rules_N24_2, 'phase'])]
@@ -1042,10 +1020,9 @@ class ModelverseKernel(object):
 			Rules_N24_4, = yield [('CNV', ['init'])]
 			Rules_N24_4, = yield [('CNV', ['init'])]
 			Rules___910, = yield [('CD', [Rules_N24_2, 'phase', Rules_N24_4])]
 			Rules___910, = yield [('CD', [Rules_N24_2, 'phase', Rules_N24_4])]
 			Rules___914, = yield [('CD', [Rules_N24_2, 'IP', Rules_N24_6])]
 			Rules___914, = yield [('CD', [Rules_N24_2, 'IP', Rules_N24_6])]
-			print(str(locals()))
 		elif (True  and Rules_N25_1 is not None  and Rules_N25_2 is not None  and Rules_N25_3 is not None  and Rules_N25_3_V == 'finish' and Rules_N25_4 is not None  and Rules_N25_9 is None ):
 		elif (True  and Rules_N25_1 is not None  and Rules_N25_2 is not None  and Rules_N25_3 is not None  and Rules_N25_3_V == 'finish' and Rules_N25_4 is not None  and Rules_N25_9 is None ):
 			# Execute rule Rules/Next_NoNext_N25
 			# Execute rule Rules/Next_NoNext_N25
-			print('Execute rule Rules/Next_NoNext_N25')
+			print('Rules/Next_NoNext_N25')
 			Rules_N25_1, = yield [('RD', [Rules_N25_0, taskname])]
 			Rules_N25_1, = yield [('RD', [Rules_N25_0, taskname])]
 			Rules_N25_2, = yield [('RD', [Rules_N25_1, 'frame'])]
 			Rules_N25_2, = yield [('RD', [Rules_N25_1, 'frame'])]
 			Rules_N25_3, = yield [('RD', [Rules_N25_2, 'phase'])]
 			Rules_N25_3, = yield [('RD', [Rules_N25_2, 'phase'])]
@@ -1070,10 +1047,9 @@ class ModelverseKernel(object):
 			Rules___936, = yield [('CD', [Rules_N25_2, 'IP', Rules_N25_5])]
 			Rules___936, = yield [('CD', [Rules_N25_2, 'IP', Rules_N25_5])]
 			Rules___940, = yield [('CD', [Rules_N25_2, 'evalstack', Rules_N25_7])]
 			Rules___940, = yield [('CD', [Rules_N25_2, 'evalstack', Rules_N25_7])]
 			Rules___942, = yield [('CD', [Rules_N25_2, 'phase', Rules_N25_8])]
 			Rules___942, = yield [('CD', [Rules_N25_2, 'phase', Rules_N25_8])]
-			print(str(locals()))
 		elif (True  and Rules_N26_1 is not None  and Rules_N26_2 is not None  and Rules_N26_3 is not None  and Rules_N26_3_V == 'init' and Rules_N26_4 is not None  and isinstance(Rules_N26_4_V , dict) and Rules_N26_4_V['value'] == 'output'):
 		elif (True  and Rules_N26_1 is not None  and Rules_N26_2 is not None  and Rules_N26_3 is not None  and Rules_N26_3_V == 'init' and Rules_N26_4 is not None  and isinstance(Rules_N26_4_V , dict) and Rules_N26_4_V['value'] == 'output'):
 			# Execute rule Rules/Output_Init_N26
 			# Execute rule Rules/Output_Init_N26
-			print('Execute rule Rules/Output_Init_N26')
+			print('Rules/Output_Init_N26')
 			Rules_N26_1, = yield [('RD', [Rules_N26_0, taskname])]
 			Rules_N26_1, = yield [('RD', [Rules_N26_0, taskname])]
 			Rules_N26_2, = yield [('RD', [Rules_N26_1, 'frame'])]
 			Rules_N26_2, = yield [('RD', [Rules_N26_1, 'frame'])]
 			Rules_N26_3, = yield [('RD', [Rules_N26_2, 'phase'])]
 			Rules_N26_3, = yield [('RD', [Rules_N26_2, 'phase'])]
@@ -1091,10 +1067,9 @@ class ModelverseKernel(object):
 			Rules___975, = yield [('CD', [Rules_N26_2, 'IP', Rules_N26_7])]
 			Rules___975, = yield [('CD', [Rules_N26_2, 'IP', Rules_N26_7])]
 			Rules___977, = yield [('CD', [Rules_N26_6, 'inst', Rules_N26_4])]
 			Rules___977, = yield [('CD', [Rules_N26_6, 'inst', Rules_N26_4])]
 			Rules___979, = yield [('CD', [Rules_N26_6, 'phase', Rules_N26_8])]
 			Rules___979, = yield [('CD', [Rules_N26_6, 'phase', Rules_N26_8])]
-			print(str(locals()))
 		elif (True  and Rules_N27_1 is not None  and Rules_N27_2 is not None  and Rules_N27_4 is not None  and isinstance(Rules_N27_4_V , dict) and Rules_N27_4_V['value'] == 'output' and Rules_N27_5 is not None  and Rules_N27_5_V == 'output'):
 		elif (True  and Rules_N27_1 is not None  and Rules_N27_2 is not None  and Rules_N27_4 is not None  and isinstance(Rules_N27_4_V , dict) and Rules_N27_4_V['value'] == 'output' and Rules_N27_5 is not None  and Rules_N27_5_V == 'output'):
 			# Execute rule Rules/Output_Output_N27
 			# Execute rule Rules/Output_Output_N27
-			print('Execute rule Rules/Output_Output_N27')
+			print('Rules/Output_Output_N27')
 			Rules_N27_1, = yield [('RD', [Rules_N27_0, taskname])]
 			Rules_N27_1, = yield [('RD', [Rules_N27_0, taskname])]
 			Rules_N27_2, = yield [('RD', [Rules_N27_1, 'frame'])]
 			Rules_N27_2, = yield [('RD', [Rules_N27_1, 'frame'])]
 			Rules_N27_3, = yield [('RD', [Rules_N27_1, 'last_output'])]
 			Rules_N27_3, = yield [('RD', [Rules_N27_1, 'last_output'])]
@@ -1111,10 +1086,9 @@ class ModelverseKernel(object):
 			Rules___1004, = yield [('CD', [Rules_N27_3, 'value', Rules_N27_7])]
 			Rules___1004, = yield [('CD', [Rules_N27_3, 'value', Rules_N27_7])]
 			Rules___1006, = yield [('CD', [Rules_N27_3, 'next', Rules_N27_8])]
 			Rules___1006, = yield [('CD', [Rules_N27_3, 'next', Rules_N27_8])]
 			Rules___1008, = yield [('CD', [Rules_N27_1, 'last_output', Rules_N27_8])]
 			Rules___1008, = yield [('CD', [Rules_N27_1, 'last_output', Rules_N27_8])]
-			print(str(locals()))
 		elif (True  and Rules_N28_1 is not None  and Rules_N28_3 is not None  and Rules_N28_5 is not None  and Rules_N28_7 is not None  and isinstance(Rules_N28_7_V , dict) and Rules_N28_7_V['value'] == 'resolve' and Rules_N28_8 is not None  and Rules_N28_8_V == 'init' and Rules_N28_10 is not None  and Rules_N28_11 is None ):
 		elif (True  and Rules_N28_1 is not None  and Rules_N28_3 is not None  and Rules_N28_5 is not None  and Rules_N28_7 is not None  and isinstance(Rules_N28_7_V , dict) and Rules_N28_7_V['value'] == 'resolve' and Rules_N28_8 is not None  and Rules_N28_8_V == 'init' and Rules_N28_10 is not None  and Rules_N28_11 is None ):
 			# Execute rule Rules/Resolve_NoAttrGlobal_N28
 			# Execute rule Rules/Resolve_NoAttrGlobal_N28
-			print('Execute rule Rules/Resolve_NoAttrGlobal_N28')
+			print('Rules/Resolve_NoAttrGlobal_N28')
 			Rules_N28_1, = yield [('RD', [Rules_N28_0, taskname])]
 			Rules_N28_1, = yield [('RD', [Rules_N28_0, taskname])]
 			Rules_N28_2, = yield [('RD', [Rules_N28_1, 'globals'])]
 			Rules_N28_2, = yield [('RD', [Rules_N28_1, 'globals'])]
 			Rules_N28_3, = yield [('RD', [Rules_N28_1, 'frame'])]
 			Rules_N28_3, = yield [('RD', [Rules_N28_1, 'frame'])]
@@ -1127,15 +1101,15 @@ class ModelverseKernel(object):
 			Rules_N28_8_DEL, = yield [('RDE', [Rules_N28_3, 'phase'])]
 			Rules_N28_8_DEL, = yield [('RDE', [Rules_N28_3, 'phase'])]
 			yield [('DE', [Rules_N28_8_DEL])]
 			yield [('DE', [Rules_N28_8_DEL])]
 			Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
 			Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
-			Rules_N28_9, = yield [('RDN', [Rules_N28_2, Rules_N28_10])]
+			a, = yield [('RV', [Rules_N28_10])]
+			Rules_N28_9, = yield [('RD', [Rules_N28_2, a])]
 			Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
 			Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
 			Rules_N28_4, = yield [('CNV', ['finish'])]
 			Rules_N28_4, = yield [('CNV', ['finish'])]
 			Rules___1030, = yield [('CD', [Rules_N28_3, 'phase', Rules_N28_4])]
 			Rules___1030, = yield [('CD', [Rules_N28_3, 'phase', Rules_N28_4])]
 			Rules___1040, = yield [('CD', [Rules_N28_3, 'returnvalue', Rules_N28_9])]
 			Rules___1040, = yield [('CD', [Rules_N28_3, 'returnvalue', Rules_N28_9])]
-			print(str(locals()))
 		elif (True  and Rules_N29_1 is not None  and Rules_N29_2 is not None  and Rules_N29_3 is not None  and isinstance(Rules_N29_3_V , dict) and Rules_N29_3_V['value'] == 'resolve' and Rules_N29_4 is not None  and Rules_N29_4_V == 'init' and Rules_N29_6 is not None  and Rules_N29_7 is not None  and Rules_N29_9 is not None ):
 		elif (True  and Rules_N29_1 is not None  and Rules_N29_2 is not None  and Rules_N29_3 is not None  and isinstance(Rules_N29_3_V , dict) and Rules_N29_3_V['value'] == 'resolve' and Rules_N29_4 is not None  and Rules_N29_4_V == 'init' and Rules_N29_6 is not None  and Rules_N29_7 is not None  and Rules_N29_9 is not None ):
 			# Execute rule Rules/Resolve_NoAttr_N29
 			# Execute rule Rules/Resolve_NoAttr_N29
-			print('Execute rule Rules/Resolve_NoAttr_N29')
+			print('Rules/Resolve_NoAttr_N29')
 			Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
 			Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
 			Rules_N29_2, = yield [('RD', [Rules_N29_1, 'frame'])]
 			Rules_N29_2, = yield [('RD', [Rules_N29_1, 'frame'])]
 			Rules_N29_3, = yield [('RD', [Rules_N29_2, 'IP'])]
 			Rules_N29_3, = yield [('RD', [Rules_N29_2, 'IP'])]
@@ -1149,12 +1123,11 @@ class ModelverseKernel(object):
 			Rules_N29_9, = yield [('RD', [Rules_N29_3, 'var'])]
 			Rules_N29_9, = yield [('RD', [Rules_N29_3, 'var'])]
 			Rules_N29_7, = yield [('RDN', [Rules_N29_6, Rules_N29_9])]
 			Rules_N29_7, = yield [('RDN', [Rules_N29_6, Rules_N29_9])]
 			Rules_N29_5, = yield [('CNV', ['finish'])]
 			Rules_N29_5, = yield [('CNV', ['finish'])]
-			Rules___1068, = yield [('CD', [Rules_N29_2, 'phase', Rules_N29_5])]
-			Rules___1072, = yield [('CD', [Rules_N29_2, 'returnvalue', Rules_N29_7])]
-			print(str(locals()))
+			Rules___1067, = yield [('CD', [Rules_N29_2, 'phase', Rules_N29_5])]
+			Rules___1071, = yield [('CD', [Rules_N29_2, 'returnvalue', Rules_N29_7])]
 		elif (True  and Rules_N30_1 is not None  and Rules_N30_2 is not None  and Rules_N30_4 is not None  and Rules_N30_4_V == 'eval' and Rules_N30_5 is not None  and isinstance(Rules_N30_5_V , dict) and Rules_N30_5_V['value'] == 'return'):
 		elif (True  and Rules_N30_1 is not None  and Rules_N30_2 is not None  and Rules_N30_4 is not None  and Rules_N30_4_V == 'eval' and Rules_N30_5 is not None  and isinstance(Rules_N30_5_V , dict) and Rules_N30_5_V['value'] == 'return'):
 			# Execute rule Rules/Return_Eval_N30
 			# Execute rule Rules/Return_Eval_N30
-			print('Execute rule Rules/Return_Eval_N30')
+			print('Rules/Return_Eval_N30')
 			Rules_N30_1, = yield [('RD', [Rules_N30_0, taskname])]
 			Rules_N30_1, = yield [('RD', [Rules_N30_0, taskname])]
 			Rules_N30_2, = yield [('RD', [Rules_N30_1, 'frame'])]
 			Rules_N30_2, = yield [('RD', [Rules_N30_1, 'frame'])]
 			Rules_N30_2_DEL, = yield [('RDE', [Rules_N30_1, 'frame'])]
 			Rules_N30_2_DEL, = yield [('RDE', [Rules_N30_1, 'frame'])]
@@ -1174,12 +1147,11 @@ class ModelverseKernel(object):
 			Rules_N30_7, = yield [('RD', [Rules_N30_3, 'returnvalue'])]
 			Rules_N30_7, = yield [('RD', [Rules_N30_3, 'returnvalue'])]
 			Rules_N30_7_DEL, = yield [('RDE', [Rules_N30_3, 'returnvalue'])]
 			Rules_N30_7_DEL, = yield [('RDE', [Rules_N30_3, 'returnvalue'])]
 			yield [('DE', [Rules_N30_7_DEL])]
 			yield [('DE', [Rules_N30_7_DEL])]
-			Rules___1093, = yield [('CD', [Rules_N30_1, 'frame', Rules_N30_3])]
-			Rules___1103, = yield [('CD', [Rules_N30_3, 'returnvalue', Rules_N30_6])]
-			print(str(locals()))
+			Rules___1092, = yield [('CD', [Rules_N30_1, 'frame', Rules_N30_3])]
+			Rules___1102, = yield [('CD', [Rules_N30_3, 'returnvalue', Rules_N30_6])]
 		elif (True  and Rules_N31_1 is not None  and Rules_N31_2 is not None  and Rules_N31_4 is not None  and Rules_N31_4_V == 'init' and Rules_N31_5 is not None  and isinstance(Rules_N31_5_V , dict) and Rules_N31_5_V['value'] == 'return' and Rules_N31_6 is None ):
 		elif (True  and Rules_N31_1 is not None  and Rules_N31_2 is not None  and Rules_N31_4 is not None  and Rules_N31_4_V == 'init' and Rules_N31_5 is not None  and isinstance(Rules_N31_5_V , dict) and Rules_N31_5_V['value'] == 'return' and Rules_N31_6 is None ):
 			# Execute rule Rules/Return_NoValue_N31
 			# Execute rule Rules/Return_NoValue_N31
-			print('Execute rule Rules/Return_NoValue_N31')
+			print('Rules/Return_NoValue_N31')
 			Rules_N31_1, = yield [('RD', [Rules_N31_0, taskname])]
 			Rules_N31_1, = yield [('RD', [Rules_N31_0, taskname])]
 			Rules_N31_2, = yield [('RD', [Rules_N31_1, 'frame'])]
 			Rules_N31_2, = yield [('RD', [Rules_N31_1, 'frame'])]
 			Rules_N31_2_DEL, = yield [('RDE', [Rules_N31_1, 'frame'])]
 			Rules_N31_2_DEL, = yield [('RDE', [Rules_N31_1, 'frame'])]
@@ -1194,11 +1166,10 @@ class ModelverseKernel(object):
 			Rules_N31_3_DEL, = yield [('RDE', [Rules_N31_2, 'prev'])]
 			Rules_N31_3_DEL, = yield [('RDE', [Rules_N31_2, 'prev'])]
 			yield [('DE', [Rules_N31_3_DEL])]
 			yield [('DE', [Rules_N31_3_DEL])]
 			Rules_N31_6, = yield [('RD', [Rules_N31_5, 'value'])]
 			Rules_N31_6, = yield [('RD', [Rules_N31_5, 'value'])]
-			Rules___1118, = yield [('CD', [Rules_N31_1, 'frame', Rules_N31_3])]
-			print(str(locals()))
+			Rules___1117, = yield [('CD', [Rules_N31_1, 'frame', Rules_N31_3])]
 		elif (True  and Rules_N32_1 is not None  and Rules_N32_2 is not None  and Rules_N32_3 is not None  and Rules_N32_3_V == 'init' and Rules_N32_5 is not None  and isinstance(Rules_N32_5_V , dict) and Rules_N32_5_V['value'] == 'return' and Rules_N32_7 is not None ):
 		elif (True  and Rules_N32_1 is not None  and Rules_N32_2 is not None  and Rules_N32_3 is not None  and Rules_N32_3_V == 'init' and Rules_N32_5 is not None  and isinstance(Rules_N32_5_V , dict) and Rules_N32_5_V['value'] == 'return' and Rules_N32_7 is not None ):
 			# Execute rule Rules/Return_Value_N32
 			# Execute rule Rules/Return_Value_N32
-			print('Execute rule Rules/Return_Value_N32')
+			print('Rules/Return_Value_N32')
 			Rules_N32_1, = yield [('RD', [Rules_N32_0, taskname])]
 			Rules_N32_1, = yield [('RD', [Rules_N32_0, taskname])]
 			Rules_N32_2, = yield [('RD', [Rules_N32_1, 'frame'])]
 			Rules_N32_2, = yield [('RD', [Rules_N32_1, 'frame'])]
 			Rules_N32_3, = yield [('RD', [Rules_N32_2, 'phase'])]
 			Rules_N32_3, = yield [('RD', [Rules_N32_2, 'phase'])]
@@ -1211,15 +1182,14 @@ class ModelverseKernel(object):
 			Rules_N32_7, = yield [('RD', [Rules_N32_5, 'value'])]
 			Rules_N32_7, = yield [('RD', [Rules_N32_5, 'value'])]
 			Rules_N32_4, = yield [('CN', [])]
 			Rules_N32_4, = yield [('CN', [])]
 			Rules_N32_8, = yield [('CNV', ['eval'])]
 			Rules_N32_8, = yield [('CNV', ['eval'])]
-			Rules___1145, = yield [('CD', [Rules_N32_2, 'evalstack', Rules_N32_4])]
-			Rules___1149, = yield [('CD', [Rules_N32_2, 'IP', Rules_N32_7])]
-			Rules___1151, = yield [('CD', [Rules_N32_4, 'prev', Rules_N32_6])]
-			Rules___1153, = yield [('CD', [Rules_N32_6, 'inst', Rules_N32_5])]
-			Rules___1155, = yield [('CD', [Rules_N32_6, 'phase', Rules_N32_8])]
-			print(str(locals()))
+			Rules___1144, = yield [('CD', [Rules_N32_2, 'evalstack', Rules_N32_4])]
+			Rules___1148, = yield [('CD', [Rules_N32_2, 'IP', Rules_N32_7])]
+			Rules___1150, = yield [('CD', [Rules_N32_4, 'prev', Rules_N32_6])]
+			Rules___1152, = yield [('CD', [Rules_N32_6, 'inst', Rules_N32_5])]
+			Rules___1154, = yield [('CD', [Rules_N32_6, 'phase', Rules_N32_8])]
 		elif (True  and Rules_N33_1 is not None  and Rules_N33_2 is not None  and Rules_N33_3 is not None  and Rules_N33_3_V == 'init' and Rules_N33_5 is not None  and isinstance(Rules_N33_5_V , dict) and Rules_N33_5_V['value'] == 'while'):
 		elif (True  and Rules_N33_1 is not None  and Rules_N33_2 is not None  and Rules_N33_3 is not None  and Rules_N33_3_V == 'init' and Rules_N33_5 is not None  and isinstance(Rules_N33_5_V , dict) and Rules_N33_5_V['value'] == 'while'):
 			# Execute rule Rules/While_Cond_N33
 			# Execute rule Rules/While_Cond_N33
-			print('Execute rule Rules/While_Cond_N33')
+			print('Rules/While_Cond_N33')
 			Rules_N33_1, = yield [('RD', [Rules_N33_0, taskname])]
 			Rules_N33_1, = yield [('RD', [Rules_N33_0, taskname])]
 			Rules_N33_2, = yield [('RD', [Rules_N33_1, 'frame'])]
 			Rules_N33_2, = yield [('RD', [Rules_N33_1, 'frame'])]
 			Rules_N33_3, = yield [('RD', [Rules_N33_2, 'phase'])]
 			Rules_N33_3, = yield [('RD', [Rules_N33_2, 'phase'])]
@@ -1232,15 +1202,14 @@ class ModelverseKernel(object):
 			Rules_N33_7, = yield [('RD', [Rules_N33_5, 'cond'])]
 			Rules_N33_7, = yield [('RD', [Rules_N33_5, 'cond'])]
 			Rules_N33_4, = yield [('CN', [])]
 			Rules_N33_4, = yield [('CN', [])]
 			Rules_N33_8, = yield [('CNV', ['cond'])]
 			Rules_N33_8, = yield [('CNV', ['cond'])]
-			Rules___1176, = yield [('CD', [Rules_N33_2, 'evalstack', Rules_N33_4])]
-			Rules___1180, = yield [('CD', [Rules_N33_2, 'IP', Rules_N33_7])]
-			Rules___1182, = yield [('CD', [Rules_N33_4, 'prev', Rules_N33_6])]
-			Rules___1184, = yield [('CD', [Rules_N33_6, 'inst', Rules_N33_5])]
-			Rules___1186, = yield [('CD', [Rules_N33_6, 'phase', Rules_N33_8])]
-			print(str(locals()))
+			Rules___1175, = yield [('CD', [Rules_N33_2, 'evalstack', Rules_N33_4])]
+			Rules___1179, = yield [('CD', [Rules_N33_2, 'IP', Rules_N33_7])]
+			Rules___1181, = yield [('CD', [Rules_N33_4, 'prev', Rules_N33_6])]
+			Rules___1183, = yield [('CD', [Rules_N33_6, 'inst', Rules_N33_5])]
+			Rules___1185, = yield [('CD', [Rules_N33_6, 'phase', Rules_N33_8])]
 		elif (True  and Rules_N34_1 is not None  and Rules_N34_2 is not None  and Rules_N34_3 is not None  and Rules_N34_3_V == 'cond' and Rules_N34_5 is not None  and isinstance(Rules_N34_5_V , dict) and Rules_N34_5_V['value'] == 'while' and Rules_N34_6 is not None  and Rules_N34_6_V == False):
 		elif (True  and Rules_N34_1 is not None  and Rules_N34_2 is not None  and Rules_N34_3 is not None  and Rules_N34_3_V == 'cond' and Rules_N34_5 is not None  and isinstance(Rules_N34_5_V , dict) and Rules_N34_5_V['value'] == 'while' and Rules_N34_6 is not None  and Rules_N34_6_V == False):
 			# Execute rule Rules/While_False_N34
 			# Execute rule Rules/While_False_N34
-			print('Execute rule Rules/While_False_N34')
+			print('Rules/While_False_N34')
 			Rules_N34_1, = yield [('RD', [Rules_N34_0, taskname])]
 			Rules_N34_1, = yield [('RD', [Rules_N34_0, taskname])]
 			Rules_N34_2, = yield [('RD', [Rules_N34_1, 'frame'])]
 			Rules_N34_2, = yield [('RD', [Rules_N34_1, 'frame'])]
 			Rules_N34_3, = yield [('RD', [Rules_N34_2, 'phase'])]
 			Rules_N34_3, = yield [('RD', [Rules_N34_2, 'phase'])]
@@ -1249,11 +1218,10 @@ class ModelverseKernel(object):
 			Rules_N34_5, = yield [('RD', [Rules_N34_2, 'IP'])]
 			Rules_N34_5, = yield [('RD', [Rules_N34_2, 'IP'])]
 			Rules_N34_6, = yield [('RD', [Rules_N34_2, 'returnvalue'])]
 			Rules_N34_6, = yield [('RD', [Rules_N34_2, 'returnvalue'])]
 			Rules_N34_4, = yield [('CNV', ['finish'])]
 			Rules_N34_4, = yield [('CNV', ['finish'])]
-			Rules___1203, = yield [('CD', [Rules_N34_2, 'phase', Rules_N34_4])]
-			print(str(locals()))
+			Rules___1202, = yield [('CD', [Rules_N34_2, 'phase', Rules_N34_4])]
 		elif (True  and Rules_N35_1 is not None  and Rules_N35_2 is not None  and Rules_N35_3 is not None  and Rules_N35_3_V == 'cond' and Rules_N35_5 is not None  and isinstance(Rules_N35_5_V , dict) and Rules_N35_5_V['value'] == 'while' and Rules_N35_7 is not None  and Rules_N35_7_V == True):
 		elif (True  and Rules_N35_1 is not None  and Rules_N35_2 is not None  and Rules_N35_3 is not None  and Rules_N35_3_V == 'cond' and Rules_N35_5 is not None  and isinstance(Rules_N35_5_V , dict) and Rules_N35_5_V['value'] == 'while' and Rules_N35_7 is not None  and Rules_N35_7_V == True):
 			# Execute rule Rules/While_True_N35
 			# Execute rule Rules/While_True_N35
-			print('Execute rule Rules/While_True_N35')
+			print('Rules/While_True_N35')
 			Rules_N35_1, = yield [('RD', [Rules_N35_0, taskname])]
 			Rules_N35_1, = yield [('RD', [Rules_N35_0, taskname])]
 			Rules_N35_2, = yield [('RD', [Rules_N35_1, 'frame'])]
 			Rules_N35_2, = yield [('RD', [Rules_N35_1, 'frame'])]
 			Rules_N35_3, = yield [('RD', [Rules_N35_2, 'phase'])]
 			Rules_N35_3, = yield [('RD', [Rules_N35_2, 'phase'])]
@@ -1273,14 +1241,13 @@ class ModelverseKernel(object):
 			Rules_N35_4, = yield [('CNV', ['init'])]
 			Rules_N35_4, = yield [('CNV', ['init'])]
 			Rules_N35_6, = yield [('CN', [])]
 			Rules_N35_6, = yield [('CN', [])]
 			Rules_N35_10, = yield [('CNV', ['init'])]
 			Rules_N35_10, = yield [('CNV', ['init'])]
-			Rules___1227, = yield [('CD', [Rules_N35_2, 'phase', Rules_N35_4])]
-			Rules___1231, = yield [('CD', [Rules_N35_2, 'evalstack', Rules_N35_6])]
-			Rules___1237, = yield [('CD', [Rules_N35_2, 'IP', Rules_N35_9])]
-			Rules___1239, = yield [('CD', [Rules_N35_8, 'inst', Rules_N35_5])]
-			Rules___1241, = yield [('CD', [Rules_N35_8, 'phase', Rules_N35_10])]
-			Rules___1247, = yield [('CD', [Rules_N35_8, taskname, Rules_N35_5])]
-			Rules___1249, = yield [('CD', [Rules_N35_6, 'prev', Rules_N35_8])]
-			print(str(locals()))
+			Rules___1226, = yield [('CD', [Rules_N35_2, 'phase', Rules_N35_4])]
+			Rules___1230, = yield [('CD', [Rules_N35_2, 'evalstack', Rules_N35_6])]
+			Rules___1236, = yield [('CD', [Rules_N35_2, 'IP', Rules_N35_9])]
+			Rules___1238, = yield [('CD', [Rules_N35_8, 'inst', Rules_N35_5])]
+			Rules___1240, = yield [('CD', [Rules_N35_8, 'phase', Rules_N35_10])]
+			Rules___1246, = yield [('CD', [Rules_N35_8, taskname, Rules_N35_5])]
+			Rules___1248, = yield [('CD', [Rules_N35_6, 'prev', Rules_N35_8])]
 		else:
 		else:
 			task_root, = yield [('RD', [root, taskname])]
 			task_root, = yield [('RD', [root, taskname])]
 			task_frame, = yield [('RD', [task_root, 'frame'])]
 			task_frame, = yield [('RD', [task_root, 'frame'])]
@@ -1289,7 +1256,7 @@ class ModelverseKernel(object):
 			task_phase, = yield [('RV', [task_phase])]
 			task_phase, = yield [('RV', [task_phase])]
 			if (task_IP is not None and task_IP in self.primitives and task_phase == 'init'):
 			if (task_IP is not None and task_IP in self.primitives and task_phase == 'init'):
 				# Execute a primitive!
 				# Execute a primitive!
-				print('Executing primitive!')
+				print('Executing primitive: ' + str(self.primitives[task_IP]))
 				symbols, =	   yield [('RD', [task_frame, 'symbols'])]
 				symbols, =	   yield [('RD', [task_frame, 'symbols'])]
 				all_links, =	 yield [('RO', [symbols])]
 				all_links, =	 yield [('RO', [symbols])]
 				containers =	yield [('RE', [v]) for v in all_links]
 				containers =	yield [('RE', [v]) for v in all_links]
@@ -1331,3 +1298,4 @@ class ModelverseKernel(object):
 			else:
 			else:
 				# no rules were applicable, so idle for some time
 				# no rules were applicable, so idle for some time
 				pass #TODO
 				pass #TODO
+				print('no applicable rule...')

+ 4 - 2
kernel/rules/MvK_rules.mvc

@@ -1860,6 +1860,7 @@ Rule Resolve_NoAttrGlobal_N28 {
     }
     }
     Match N28_9 {}
     Match N28_9 {}
     Match N28_10 {
     Match N28_10 {
+        value = "a"
         match = True
         match = True
     }
     }
     NAC N28_11 {
     NAC N28_11 {
@@ -1893,8 +1894,9 @@ Rule Resolve_NoAttrGlobal_N28 {
     CreateEdge (N28_3, N28_9) {
     CreateEdge (N28_3, N28_9) {
         value = "'returnvalue'"
         value = "'returnvalue'"
     }
     }
-    MatchEdge N28_13 (N28_2, N28_9) {}
-    MatchEdge (N28_13, N28_10) {}
+    MatchEdge (N28_2, N28_9) {
+        value = "a"
+    }
     MatchEdge (N28_7, N28_10) {
     MatchEdge (N28_7, N28_10) {
         value = "'var'"
         value = "'var'"
     }
     }

+ 3 - 4
kernel/rules/to_python.alc

@@ -212,12 +212,12 @@ Boolean function main(model : Element):
 
 
 					if (string_get(value, 0) == "!"):
 					if (string_get(value, 0) == "!"):
 						result = result + " and isinstance(" + string_replace(node, "/", "_") + "_V , dict) and " + string_replace(node, "/", "_") + "_V['value'] " + sign + " '" + string_replace(value, "!", "") + "'"
 						result = result + " and isinstance(" + string_replace(node, "/", "_") + "_V , dict) and " + string_replace(node, "/", "_") + "_V['value'] " + sign + " '" + string_replace(value, "!", "") + "'"
-					else:
+					elif (bool_or(bool_or(string_get(value, 0) == "'", string_get(value, 0) == "!"), bool_or(value == "True", value == "False"))):
 						result = result + " and " + string_replace(node, "/", "_") + "_V " + sign + " " + value
 						result = result + " and " + string_replace(node, "/", "_") + "_V " + sign + " " + value
 
 
 		result = result + "):\n"
 		result = result + "):\n"
 		result = result + "            # Execute rule " + rule + "\n"
 		result = result + "            # Execute rule " + rule + "\n"
-		result = result + "            print('Execute rule " + rule + "')\n"
+		result = result + "            print('" + rule + "')\n"
 
 
 		// We know all the nodes that we already have (in variable "explored")
 		// We know all the nodes that we already have (in variable "explored")
 		// Still have to match all "match" and "delete" elements
 		// Still have to match all "match" and "delete" elements
@@ -367,8 +367,6 @@ Boolean function main(model : Element):
 			else:
 			else:
 				result = result + "            " + string_replace(edge, "/", "_") + ", = yield [('CE', [" + string_replace(readAssociationSource(model, edge), "/", "_") + ", " + string_replace(readAssociationDestination(model, edge), "/", "_") + "])]\n"
 				result = result + "            " + string_replace(edge, "/", "_") + ", = yield [('CE', [" + string_replace(readAssociationSource(model, edge), "/", "_") + ", " + string_replace(readAssociationDestination(model, edge), "/", "_") + "])]\n"
 		
 		
-		result = result + "            print(str(locals()))\n"
-
 	result = result + "        else:\n"
 	result = result + "        else:\n"
 	result = result + "            task_root, = yield [('RD', [root, taskname])]\n"
 	result = result + "            task_root, = yield [('RD', [root, taskname])]\n"
 	result = result + "            task_frame, = yield [('RD', [task_root, 'frame'])]\n"
 	result = result + "            task_frame, = yield [('RD', [task_root, 'frame'])]\n"
@@ -419,6 +417,7 @@ Boolean function main(model : Element):
 	result = result + "            else:\n"
 	result = result + "            else:\n"
 	result = result + "                # no rules were applicable, so idle for some time\n"
 	result = result + "                # no rules were applicable, so idle for some time\n"
 	result = result + "                pass #TODO\n"
 	result = result + "                pass #TODO\n"
+	result = result + "                print('no applicable rule...')\n"
 
 
 	log("Got result:")
 	log("Got result:")
 	log(result)
 	log(result)

+ 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:   Tue Nov 28 09:52:44 2017
+Date:   Tue Nov 28 14:40:39 2017
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
 Model name:   MvK Server