|
@@ -67,98 +67,102 @@ bottom = [
|
|
|
|
|
|
action_language = [
|
|
|
"model",
|
|
|
- "instantiate_node", "1", "AttributeValue", "Action",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "Action", "PrimitiveType",
|
|
|
- "instantiate_node", "1", "AttributeValue", "Statement",
|
|
|
- "instantiate_node", "1", "AttributeValue", "Expression",
|
|
|
- "instantiate_node", "1", "AttributeValue", "funcdef",
|
|
|
- "instantiate_node", "1", "AttributeValue", "param",
|
|
|
- "instantiate_node", "1", "AttributeValue", "if",
|
|
|
- "instantiate_node", "1", "AttributeValue", "break",
|
|
|
- "instantiate_node", "1", "AttributeValue", "while",
|
|
|
- "instantiate_node", "1", "AttributeValue", "continue",
|
|
|
- "instantiate_node", "1", "AttributeValue", "assign",
|
|
|
- "instantiate_node", "1", "AttributeValue", "return",
|
|
|
- "instantiate_node", "1", "AttributeValue", "output",
|
|
|
- "instantiate_node", "1", "AttributeValue", "declare",
|
|
|
- "instantiate_node", "1", "AttributeValue", "global",
|
|
|
- "instantiate_node", "1", "AttributeValue", "access",
|
|
|
- "instantiate_node", "1", "AttributeValue", "constant",
|
|
|
- "instantiate_node", "1", "AttributeValue", "input",
|
|
|
- "instantiate_node", "1", "AttributeValue", "resolve",
|
|
|
- "instantiate_node", "1", "AttributeValue", "call",
|
|
|
+ "instantiate_model", "2", "1",
|
|
|
+ "instantiate_node", "2", "Class", "Action",
|
|
|
+ "instantiate_node", "2", "Class", "Statement",
|
|
|
+ "instantiate_node", "2", "Class", "Expression",
|
|
|
+ "instantiate_node", "2", "Class", "funcdef",
|
|
|
+ "instantiate_node", "2", "Class", "param",
|
|
|
+ "instantiate_node", "2", "Class", "if",
|
|
|
+ "instantiate_node", "2", "Class", "break",
|
|
|
+ "instantiate_node", "2", "Class", "while",
|
|
|
+ "instantiate_node", "2", "Class", "continue",
|
|
|
+ "instantiate_node", "2", "Class", "assign",
|
|
|
+ "instantiate_node", "2", "Class", "return",
|
|
|
+ "instantiate_node", "2", "Class", "output",
|
|
|
+ "instantiate_node", "2", "Class", "declare",
|
|
|
+ "instantiate_node", "2", "Class", "global",
|
|
|
+ "instantiate_node", "2", "Class", "access",
|
|
|
+ "instantiate_node", "2", "Class", "constant",
|
|
|
+ "instantiate_node", "2", "Class", "input",
|
|
|
+ "instantiate_node", "2", "Class", "resolve",
|
|
|
+ "instantiate_node", "2", "Class", "call",
|
|
|
|
|
|
- "instantiate_link", "1", "Inheritance", "", "Action", "Element",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "funcdef", "Action",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "param", "Action",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "Statement", "Action",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "Expression", "Action",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "resolve", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "if", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "break", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "continue", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "global", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "while", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "assign", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "return", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "call", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "declare", "Statement",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "call", "Expression",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "access", "Expression",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "constant", "Expression",
|
|
|
- "instantiate_link", "1", "Inheritance", "", "input", "Expression",
|
|
|
+ "instantiate_node", "2", "SimpleAttribute", "Natural",
|
|
|
+ "instantiate_node", "2", "SimpleAttribute", "String",
|
|
|
+ "instantiate_node", "2", "SimpleAttribute", "Boolean",
|
|
|
+
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "Action", "Element",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "funcdef", "Action",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "param", "Action",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "Statement", "Action",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "Expression", "Action",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "resolve", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "if", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "break", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "continue", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "global", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "while", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "assign", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "return", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "call", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "declare", "Statement",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "call", "Expression",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "access", "Expression",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "constant", "Expression",
|
|
|
+ "instantiate_link", "2", "Inheritance", "", "input", "Expression",
|
|
|
|
|
|
- "model_define_attribute", "1", "Statement", "next", True, "Statement",
|
|
|
- "model_define_attribute", "1", "if", "cond", False, "Expression",
|
|
|
- "model_define_attribute", "1", "if", "then", False, "Statement",
|
|
|
- "model_define_attribute", "1", "if", "else", True, "Statement",
|
|
|
- "model_define_attribute", "1", "while", "cond", False, "Expression",
|
|
|
- "model_define_attribute", "1", "while", "body", False, "Statement",
|
|
|
- "model_define_attribute", "1", "assign", "var", False, "resolve",
|
|
|
- "model_define_attribute", "1", "assign", "value", False, "Expression",
|
|
|
- "model_define_attribute", "1", "break", "while", False, "while",
|
|
|
- "model_define_attribute", "1", "continue", "while", False, "while",
|
|
|
- "model_define_attribute", "1", "return", "value", True, "Expression",
|
|
|
- "model_define_attribute", "1", "resolve", "var", False, "PrimitiveType",
|
|
|
- "model_define_attribute", "1", "access", "var", False, "resolve",
|
|
|
- "model_define_attribute", "1", "constant", "node", False, "PrimitiveType",
|
|
|
- "model_define_attribute", "1", "output", "node", False, "Expression",
|
|
|
- "model_define_attribute", "1", "global", "var", False, "String",
|
|
|
- "model_define_attribute", "1", "param", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "param", "value", False, "Expression",
|
|
|
- "model_define_attribute", "1", "param", "next_param", True, "param",
|
|
|
- "model_define_attribute", "1", "funcdef", "body", False, "Statement",
|
|
|
- "model_define_attribute", "1", "call", "func", False, "Expression",
|
|
|
- "model_define_attribute", "1", "call", "params", True, "param",
|
|
|
- "model_define_attribute", "1", "call", "last_param", True, "param",
|
|
|
+ "model_define_attribute", "2", "Statement", "next", True, "Statement",
|
|
|
+ "model_define_attribute", "2", "if", "cond", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "if", "then", False, "Statement",
|
|
|
+ "model_define_attribute", "2", "if", "else", True, "Statement",
|
|
|
+ "model_define_attribute", "2", "while", "cond", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "while", "body", False, "Statement",
|
|
|
+ "model_define_attribute", "2", "assign", "var", False, "resolve",
|
|
|
+ "model_define_attribute", "2", "assign", "value", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "break", "while", False, "while",
|
|
|
+ "model_define_attribute", "2", "continue", "while", False, "while",
|
|
|
+ "model_define_attribute", "2", "return", "value", True, "Expression",
|
|
|
+ "model_define_attribute", "2", "resolve", "var", False, "PrimitiveType",
|
|
|
+ "model_define_attribute", "2", "access", "var", False, "resolve",
|
|
|
+ "model_define_attribute", "2", "constant", "node", False, "PrimitiveType",
|
|
|
+ "model_define_attribute", "2", "output", "node", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "global", "var", False, "String",
|
|
|
+ "model_define_attribute", "2", "param", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "param", "value", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "param", "next_param", True, "param",
|
|
|
+ "model_define_attribute", "2", "funcdef", "body", False, "Statement",
|
|
|
+ "model_define_attribute", "2", "call", "func", False, "Expression",
|
|
|
+ "model_define_attribute", "2", "call", "params", True, "param",
|
|
|
+ "model_define_attribute", "2", "call", "last_param", True, "param",
|
|
|
|
|
|
# TODO these Strings are actually supposed to be more restricted!
|
|
|
- "model_define_attribute", "1", "Statement_next", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "if_cond", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "if_then", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "if_else", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "while_cond", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "while_body", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "assign_var", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "assign_value", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "break_while", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "continue_while", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "return_value", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "resolve_var", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "access_var", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "constant_node", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "output_node", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "global_var", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "param_name", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "param_value", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "param_next_param", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "funcdef_body", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "call_func", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "call_params", "name", False, "String",
|
|
|
- "model_define_attribute", "1", "call_last_param", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "Statement_next", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "if_cond", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "if_then", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "if_else", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "while_cond", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "while_body", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "assign_var", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "assign_value", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "break_while", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "continue_while", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "return_value", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "resolve_var", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "access_var", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "constant_node", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "output_node", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "global_var", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "param_name", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "param_value", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "param_next_param", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "funcdef_body", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "call_func", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "call_params", "name", False, "String",
|
|
|
+ "model_define_attribute", "2", "call_last_param", "name", False, "String",
|
|
|
|
|
|
- "model_define_attribute", "1", "Element", "constraint", True, "funcdef",
|
|
|
- "model_define_attribute", "1", "AttributeValue", "to_string", True, "funcdef",
|
|
|
+ "model_define_attribute", "2", "Element", "constraint", True, "funcdef",
|
|
|
+ "model_define_attribute", "2", "AttributeValue", "to_string", True, "funcdef",
|
|
|
"exit",
|
|
|
]
|
|
|
|
|
@@ -238,19 +242,18 @@ instantiate_example = [
|
|
|
"instantiate_model", "1", "2",
|
|
|
"instantiate_node", "2", "Class", "A",
|
|
|
"instantiate_node", "2", "Class", "B",
|
|
|
- "instantiate_node", "2", "Class", "C",
|
|
|
+ "instantiate_node", "2", "SimpleAttribute", "C",
|
|
|
"instantiate_link", "2", "Inheritance", "b_inherits_a", "B", "A",
|
|
|
- "model_define_attribute", "2", "A", "tokens", "B",
|
|
|
- "model_define_attribute", "2", "C", "tokens", "B",
|
|
|
+ "instantiate_link", "2", "Association", "a_to_b", "A", "B",
|
|
|
+ "model_define_attribute", "2", "A", "tokens", False, "C",
|
|
|
"export_node", "2", "models/example_MM",
|
|
|
"exit",
|
|
|
"model",
|
|
|
"instantiate_model", "2", "3",
|
|
|
"instantiate_node", "3", "A", "a",
|
|
|
- "instantiate_attribute", "3", "a", "tokens", "b",
|
|
|
+ "instantiate_link", "3", "a_to_b", "a", "b",
|
|
|
"instantiate_node", "3", "B", "b",
|
|
|
- "instantiate_node", "3", "C", "c",
|
|
|
- "instantiate_attribute", "3", "c", "tokens", "b",
|
|
|
+ "instantiate_attribute", "3", "a", "tokens", "c",
|
|
|
"export_node", "3", "models/example_M",
|
|
|
"exit",
|
|
|
]
|