|
@@ -324,56 +324,40 @@ Void function add_AL_to_MM(model : Element):
|
|
|
instantiate_node(model, "AttributeValue", "input")
|
|
|
instantiate_node(model, "AttributeValue", "resolve")
|
|
|
instantiate_node(model, "AttributeValue", "call")
|
|
|
+
|
|
|
instantiate_link(model, "Attribute", "dict_link", "Action", "PrimitiveType")
|
|
|
instantiate_attribute(model, "dict_link", "name", "dictionary_link")
|
|
|
instantiate_attribute(model, "dict_link", "optional", True)
|
|
|
model_define_attribute(model, "dict_link", "name", False, "String")
|
|
|
- instantiate_link(model, "Inheritance", "", "Action", "Element")
|
|
|
- instantiate_link(model, "Inheritance", "", "funcdef", "Action")
|
|
|
- instantiate_link(model, "Inheritance", "", "param", "Action")
|
|
|
- instantiate_link(model, "Inheritance", "", "Statement", "Action")
|
|
|
- instantiate_link(model, "Inheritance", "", "Expression", "Action")
|
|
|
- instantiate_link(model, "Inheritance", "", "resolve", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "if", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "break", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "continue", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "global", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "while", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "assign", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "return", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "call", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "declare", "Statement")
|
|
|
- instantiate_link(model, "Inheritance", "", "call", "Expression")
|
|
|
- instantiate_link(model, "Inheritance", "", "access", "Expression")
|
|
|
- instantiate_link(model, "Inheritance", "", "constant", "Expression")
|
|
|
- instantiate_link(model, "Inheritance", "", "input", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "statement_next", "Statement", "Statement")
|
|
|
- instantiate_link(model, "Attribute", "if_cond", "if", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "if_then", "if", "Statement")
|
|
|
- instantiate_link(model, "Attribute", "if_else", "if", "Statement")
|
|
|
- instantiate_link(model, "Attribute", "while_cond", "while", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "while_body", "while", "Statement")
|
|
|
- instantiate_link(model, "Attribute", "assign_var", "assign", "Element")
|
|
|
- instantiate_link(model, "Attribute", "assign_value", "assign", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "break_while", "break", "while")
|
|
|
- instantiate_link(model, "Attribute", "continue_while", "continue", "while")
|
|
|
- instantiate_link(model, "Attribute", "return_value", "return", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "resolve_var", "resolve", "Element")
|
|
|
- instantiate_link(model, "Attribute", "access_var", "access", "Element")
|
|
|
- instantiate_link(model, "Attribute", "constant_node", "constant", "Element")
|
|
|
- instantiate_link(model, "Attribute", "output_node", "output", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "global_var", "global", "String")
|
|
|
- instantiate_link(model, "Attribute", "param_name", "param", "String")
|
|
|
- instantiate_link(model, "Attribute", "param_value", "param", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "param_next_param", "param", "param")
|
|
|
- instantiate_link(model, "Attribute", "funcdef_body", "funcdef", "Statement")
|
|
|
- instantiate_link(model, "Attribute", "call_func", "call", "Expression")
|
|
|
- instantiate_link(model, "Attribute", "call_params", "call", "param")
|
|
|
- instantiate_link(model, "Attribute", "call_last_param", "call", "param")
|
|
|
+
|
|
|
+ model_define_attribute(model, "Statement", "next", True, "Statement")
|
|
|
+ model_define_attribute(model, "if", "cond", False, "Expression")
|
|
|
+ model_define_attribute(model, "if", "true", False, "Statement")
|
|
|
+ model_define_attribute(model, "if", "false", True, "Statement")
|
|
|
+ model_define_attribute(model, "while", "cond", False, "Expression")
|
|
|
+ model_define_attribute(model, "while", "body", False, "Statement")
|
|
|
+ model_define_attribute(model, "assign", "var", False, "resolve")
|
|
|
+ model_define_attribute(model, "assign", "value", False, "Expression")
|
|
|
+ model_define_attribute(model, "break", "while", False, "while")
|
|
|
+ model_define_attribute(model, "continue", "while", False, "while")
|
|
|
+ model_define_attribute(model, "return", "value", True, "Expression")
|
|
|
+ model_define_attribute(model, "resolve", "var", False, "String")
|
|
|
+ model_define_attribute(model, "access", "var", False, "resolve")
|
|
|
+ model_define_attribute(model, "constant", "node", False, "PrimitiveType")
|
|
|
+ model_define_attribute(model, "output", "node", False, "Expression")
|
|
|
+ model_define_attribute(model, "global", "var", False, "String")
|
|
|
+ model_define_attribute(model, "param", "name", False, "String")
|
|
|
+ model_define_attribute(model, "param", "value", False, "Expression")
|
|
|
+ model_define_attribute(model, "param", "next_param", True, "param")
|
|
|
+ model_define_attribute(model, "funcdef", "body", False, "Statement")
|
|
|
+ model_define_attribute(model, "call", "func", False, "Statement")
|
|
|
+ model_define_attribute(model, "call", "params", True, "param")
|
|
|
+ model_define_attribute(model, "call", "last_param", True, "param")
|
|
|
+
|
|
|
instantiate_link(model, "Inheritance", "", "statement_next", "dict_link")
|
|
|
instantiate_link(model, "Inheritance", "", "if_cond", "dict_link")
|
|
|
- instantiate_link(model, "Inheritance", "", "if_then", "dict_link")
|
|
|
- instantiate_link(model, "Inheritance", "", "if_else", "dict_link")
|
|
|
+ instantiate_link(model, "Inheritance", "", "if_true", "dict_link")
|
|
|
+ instantiate_link(model, "Inheritance", "", "if_false", "dict_link")
|
|
|
instantiate_link(model, "Inheritance", "", "while_cond", "dict_link")
|
|
|
instantiate_link(model, "Inheritance", "", "while_body", "dict_link")
|
|
|
instantiate_link(model, "Inheritance", "", "assign_var", "dict_link")
|
|
@@ -394,46 +378,4 @@ Void function add_AL_to_MM(model : Element):
|
|
|
instantiate_link(model, "Inheritance", "", "call_params", "dict_link")
|
|
|
instantiate_link(model, "Inheritance", "", "call_last_param", "dict_link")
|
|
|
|
|
|
- // Add cardinalities on how many connections are allowed: one of each
|
|
|
- // instantiate_attribute(model, "statement_next", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "if_cond", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "if_cond", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "if_then", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "if_then", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "if_else", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "while_cond", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "while_cond", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "while_body", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "while_body", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "assign_var", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "assign_var", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "assign_value", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "assign_value", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "break_while", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "break_while", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "continue_while", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "continue_while", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "return_value", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "resolve_var", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "resolve_var", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "access_var", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "access_var", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "constant_node", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "constant_node", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "output_node", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "output_node", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "global_var", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "global_var", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "param_name", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "param_name", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "param_value", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "param_value", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "param_next_param", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "funcdef_body", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "funcdef_body", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "call_func", "target_lower_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "call_func", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "call_params", "target_upper_cardinality", 1)
|
|
|
- // instantiate_attribute(model, "call_last_param", "target_upper_cardinality", 1)
|
|
|
-
|
|
|
return !
|