Procházet zdrojové kódy

Fixed "instruction pointer not found" error

Yentl Van Tendeloo před 7 roky
rodič
revize
9c8799e980

+ 8 - 6
bootstrap/constructors.alc

@@ -46,7 +46,7 @@ Element function construct_function_list(list : Element):
 
 		continue = list_pop_final(list)
 		if (element_neq(prev_element, read_root())):
-			dict_add_fast(prev_element, "next", result["start"])
+			create_al_link(model, "Statement_next", prev_element, result["start"], "next")
 		else:
 			first_element = result["start"]
 
@@ -67,16 +67,19 @@ Element function construct_function_list(list : Element):
 		return read_root()!
 
 	// Overwrite the main function with our declaration function
+	log("Initial operation: " + reverseKeyLookup(model["model"], model["model"][main_function]["body"]))
 	prev_element = set_pop(allAssociationDestinations(model, main_function, "funcdef_body"))
-	log("Got main function: " + main_function)
-	log("Got main function: " + set_to_string(dict_keys(model["model"][main_function])))
-	log("Parameters stored in " + cast_string(reverseKeyLookup(model["model"], model["model"][main_function]["params"])))
-	log("Got parameters for main function: " + set_to_string(dict_keys(model["model"][main_function]["params"])))
+	log("Prev element: " + cast_string(prev_element))
+	log("First element: " + cast_string(first_element))
+	log("Function: " + cast_string(main_function))
 	model_delete_element(model, set_pop(allOutgoingAssociationInstances(model, main_function, "funcdef_body")))
 	create_al_link(model, "funcdef_body", main_function, first_element, "body")
 	create_al_link(model, "Statement_next", result["end"], prev_element, "next")
+	log("Result end: " + cast_value(result["end"]))
 	instantiate_link(model, "initial_funcdef", "", instantiate_node(model, "Initial", ""), main_function)
 	log("Got body of main: " + cast_value(model["model"][main_function]["body"]))
+	log("      ID of main: " + cast_id(model["model"][main_function]["body"]))
+	log("internal ID of main: " + cast_string(reverseKeyLookup(model["model"], model["model"][main_function]["body"])))
 	
 	log("Created model!")
 	return model!
@@ -376,7 +379,6 @@ String function construct_declare(model : Element, list : Element):
 			acc = instantiate_value(model, "access", "", create_value(!access))
 			create_al_link(model, "call_func", value, acc, "func")
 			create_al_link(model, "access_var", acc, res, "var")
-			dict_add_fast(res, "var", "create_node")
 			create_al_link(model, "resolve_var", res, instantiate_value(model, "String", "", "create_node"), "var")
 		elif (op == "const"):
 			value = instantiate_value(model, "constant", "", create_value(!constant))

+ 28 - 0
bootstrap/modelling.alc

@@ -480,6 +480,34 @@ Element function get_func_AL_model(al_model : Element):
 		return read_root()!
 	else:
 		initial_function = set_pop(initial_function)
+		log("Initial function that is left: " + cast_value(initial_function))
+		log("                           ID: " + cast_id(al_model["model"][initial_function]))
+		log("Funcdef: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]))
+		log("     ID: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]))
+		log("Body: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]))
+		log("Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"])))
+		log("  ID: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]))
+		log("Next1: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"])))
+		log("  ID1: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]))
+		log("Next2: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"])))
+		log("  ID2: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]))
+		log("Next3: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"])))
+		log("  ID3: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]))
+		log("Next4: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"])))
+		log("  ID4: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]))
+		log("Next5: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"])))
+		log("  ID5: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]))
+		log("Next6: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"])))
+		log("  ID6: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"]))
+		log("Next7: " + cast_value(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"]["next"]))
+		log(" Name: " + cast_value(reverseKeyLookup(al_model["model"], al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"]["next"])))
+		log("  ID7: " + cast_id(al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]["body"]["next"]["next"]["next"]["next"]["next"]["next"]["next"]))
 		return al_model["model"][set_pop(allAssociationDestinations(al_model, initial_function, "initial_funcdef"))]!
 
 Element function trim_AL_constructors(list : Element):

+ 0 - 4
hybrid_server/classes/task.xml

@@ -36,10 +36,6 @@
                     commands = mvk.execute_yields(taskname, operation, params, reply)
                     if commands is None:
                         break
-                    for x in commands:
-                        if x[0] == "CD" and x[1][2] is None:
-                            print("WRITE NONE")
-                            print("Commands: " + str(commands))
                     reply = [mvs_operations[command[0]](*(command[1])) for command in commands]
                 return (0.0, False)
             except SleepKernel as e:

+ 1 - 4
state/modelverse_state/main.py

@@ -175,9 +175,6 @@ class ModelverseState(object):
         return self.free_id - 1
 
     def create_dict(self, source, data, destination):
-        if destination is None:
-            print("Assign None for " + str(locals()))
-            print("Previous value: " + str(self.values.get(self.cache.get(source, {}).get(data, None), None)))
         if source not in self.nodes and source not in self.edges:
             return None
         elif destination not in self.nodes and destination not in self.edges:
@@ -231,9 +228,9 @@ class ModelverseState(object):
             del self.cache[node][value]
         except KeyError:
             # Didn't exist
+            #print("No such entry: " + str(locals()))
             pass
         except:
-            print(locals())
             raise
         return None
 

+ 7 - 7
test_printer.py

@@ -6,12 +6,12 @@ init()
 login("admin", "admin")
 
 model_add("formalisms/String", "formalisms/SimpleClassDiagrams", open("models/String.mvc", 'r').read())
-transformation_add_AL({"AL": "formalisms/ActionLanguage"}, {"String": "formalisms/String"}, "models/AL_to_Py", open("models/AL_to_py.alc", 'r').read())
-print("VERIFY")
-print(verify("models/AL_to_Py", "formalisms/ActionLanguage"))
-print("VERIFY END")
 transformation_add_AL({}, {}, "models/test", open("models/test.alc", 'r').read())
-print("VERIFY2")
-print(verify("models/test", "formalisms/ActionLanguage"))
-print("VERIFY2 END")
+transformation_add_AL({"AL": "formalisms/ActionLanguage"}, {"String": "formalisms/String"}, "models/AL_to_Py", open("models/AL_to_py.alc", 'r').read())
+#print("VERIFY")
+#print(verify("models/AL_to_Py", "formalisms/ActionLanguage"))
+#print("VERIFY END")
+#print("VERIFY2")
+#print(verify("models/test", "formalisms/ActionLanguage"))
+#print("VERIFY2 END")
 transformation_execute_AL("models/AL_to_Py", {"AL": "models/test"}, {"String": "models/printed_string"})

+ 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 Apr  4 08:53:21 2018
+Date:   Wed Apr  4 10:50:09 2018
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server