|
@@ -190,23 +190,37 @@ Boolean function main(model : Element):
|
|
|
String initial_function
|
|
|
String al_node
|
|
|
Element initial_function_element
|
|
|
+ String code
|
|
|
|
|
|
initial_function = set_pop(allInstances(model, "AL/Initial"))
|
|
|
initial_function = set_pop(allAssociationDestinations(model, initial_function, "AL/initial_funcdef"))
|
|
|
log("Starting at function " + initial_function)
|
|
|
log("Got keys: " + set_to_string(dict_keys(model["model"][initial_function])))
|
|
|
+ log("Parameters:")
|
|
|
+ Element params
|
|
|
+ String param
|
|
|
+ params = dict_keys(model["model"][initial_function]["params"])
|
|
|
+ code = "def main("
|
|
|
+ while (set_len(params) > 0):
|
|
|
+ param = set_pop(params)
|
|
|
+ log(" " + param + " --> " + cast_id(model["model"][initial_function]["params"][param]))
|
|
|
+ code = code + "var_" + cast_id(model["model"][initial_function]["params"][param])
|
|
|
+ if (set_len(params) > 0):
|
|
|
+ code = code + ", "
|
|
|
+ code = code + "):\n"
|
|
|
+
|
|
|
initial_function_element = model["model"][initial_function]["body"]
|
|
|
al_node = cast_value(initial_function_element)
|
|
|
while (cast_value(initial_function_element) == "global"):
|
|
|
log("Assigning to " + cast_value(initial_function_element["next"]["var"]["var"]))
|
|
|
- log(" the element: " + cast_value(initial_function_element["next"]["value"]["node"]))
|
|
|
+ log(" the element: " + cast_id(initial_function_element["next"]["value"]["node"]))
|
|
|
log(" keys: " + set_to_string(dict_keys(initial_function_element["next"]["value"]["node"])))
|
|
|
log("Function is element: " + cast_id(initial_function_element["next"]["value"]["node"]))
|
|
|
initial_function_element = initial_function_element["next"]["next"]
|
|
|
log("Started execution at " + cast_value(initial_function_element))
|
|
|
log("Started REAL execution at " + cast_value(initial_function_element))
|
|
|
- String code
|
|
|
- code = code_print(initial_function_element, 1)
|
|
|
+
|
|
|
+ code = code + code_print(initial_function_element, 1)
|
|
|
log("Generated code:")
|
|
|
log(code)
|
|
|
return True!
|