|
@@ -257,48 +257,71 @@ Element function initialize_SCD(location : String):
|
|
|
instantiate_link(scd, "Association", "call_func", "call", "Expression")
|
|
|
instantiate_link(scd, "Association", "call_params", "call", "param")
|
|
|
instantiate_link(scd, "Association", "call_last_param", "call", "param")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "statement_next", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "if_cond", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "if_true", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "if_false", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "while_cond", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "while_body", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "assign_var", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "assign_value", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "break_while", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "continue_while", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "return_value", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "resolve_var", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "access_var", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "constant_node", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "output_node", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "global_var", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "param_name", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "param_value", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "param_next_param", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "funcdef_body", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "call_func", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "call_params", "dict_link")
|
|
|
+ instantiate_link(scd, "Inheritance", "", "call_last_param", "dict_link")
|
|
|
|
|
|
// Add cardinalities on how many connections are allowed: one of each
|
|
|
- //instantiate_attribute(scd, "statement_next", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "if_cond", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "if_cond", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "if_true", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "if_true", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "if_false", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "while_cond", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "while_cond", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "while_body", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "while_body", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "assign_var", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "assign_var", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "assign_value", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "assign_value", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "break_while", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "break_while", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "continue_while", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "continue_while", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "return_value", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "resolve_var", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "resolve_var", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "access_var", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "access_var", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "constant_node", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "constant_node", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "output_node", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "output_node", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "global_var", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "global_var", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "param_name", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "param_name", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "param_value", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "param_value", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "param_next_param", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "funcdef_body", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "funcdef_body", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "call_func", "target_lower_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "call_func", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "call_params", "target_upper_cardinality", 1)
|
|
|
- //instantiate_attribute(scd, "call_last_param", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "statement_next", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "if_cond", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "if_cond", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "if_true", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "if_true", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "if_false", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "while_cond", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "while_cond", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "while_body", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "while_body", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "assign_var", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "assign_var", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "assign_value", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "assign_value", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "break_while", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "break_while", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "continue_while", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "continue_while", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "return_value", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "resolve_var", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "resolve_var", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "access_var", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "access_var", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "constant_node", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "constant_node", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "output_node", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "output_node", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "global_var", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "global_var", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "param_name", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "param_name", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "param_value", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "param_value", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "param_next_param", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "funcdef_body", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "funcdef_body", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "call_func", "target_lower_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "call_func", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "call_params", "target_upper_cardinality", 1)
|
|
|
+ instantiate_attribute(scd, "call_last_param", "target_upper_cardinality", 1)
|
|
|
|
|
|
// Add constraints to all primitive classes
|
|
|
//add_constraint(scd, "if", constraint_if)
|