Browse Source

Fixed sort algorithm

Yentl Van Tendeloo 7 years ago
parent
commit
b65182b94d

+ 8 - 6
examples/multi_conformance.py

@@ -30,11 +30,15 @@ SimpleAttribute string {
 
 
 Class A {
 Class A {
     d : integer
     d : integer
+    name = "A"
 }
 }
 Class B {
 Class B {
     d : string
     d : string
+    name = "B"
+}
+Class C {
+    name = "C"
 }
 }
-Class C {}
 
 
 Inheritance (C, A) {}
 Inheritance (C, A) {}
 Inheritance (C, B) {}
 Inheritance (C, B) {}
@@ -59,13 +63,11 @@ model_add("models/model_string", "formalisms/simple_mm", model_string)
 model_add("models/model_integer", "formalisms/simple_mm", model_integer)
 model_add("models/model_integer", "formalisms/simple_mm", model_integer)
 
 
 transformation_add_AL({"model": "formalisms/Bottom", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_AToMPM", open("models/Conformance/AToMPM.alc", 'r').read())
 transformation_add_AL({"model": "formalisms/Bottom", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_AToMPM", open("models/Conformance/AToMPM.alc", 'r').read())
-#transformation_add_AL({"model": "formalisms/simple_mm", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_MetaDepth", open("models/Conformance/MetaDepth.alc", 'r').read())
+transformation_add_AL({"model": "formalisms/Bottom", "metamodel": "formalisms/SimpleClassDiagrams", "type_mapping": "formalisms/TypeMapping"}, {}, "models/conformance_MetaDepth", open("models/Conformance/MetaDepth.alc", 'r').read())
 
 
 print(model_types("models/model_string"))
 print(model_types("models/model_string"))
 
 
-#print(verify("models/model_string", "formalisms/simple_mm", "models/conformance_AToMPM"))
 transformation_execute_AL("models/conformance_AToMPM", {"model": "models/model_integer", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_integer").pop()[1]}, {})
 transformation_execute_AL("models/conformance_AToMPM", {"model": "models/model_integer", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_integer").pop()[1]}, {})
 transformation_execute_AL("models/conformance_AToMPM", {"model": "models/model_string", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_string").pop()[1]}, {})
 transformation_execute_AL("models/conformance_AToMPM", {"model": "models/model_string", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_string").pop()[1]}, {})
-#print(verify("models/model_integer", "formalisms/simple_mm", "models/conformance_AToMPM"))
-#print(verify("models/model_string", "formalisms/simple_mm", "models/conformance_MetaDepth"))
-#print(verify("models/model_integer", "formalisms/simple_mm", "models/conformance_MetaDepth"))
+transformation_execute_AL("models/conformance_MetaDepth", {"model": "models/model_integer", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_integer").pop()[1]}, {})
+transformation_execute_AL("models/conformance_MetaDepth", {"model": "models/model_string", "metamodel": "formalisms/simple_mm", "type_mapping": model_types("models/model_string").pop()[1]}, {})

+ 2 - 2
kernel/modelverse_kernel/primitives.py

@@ -433,10 +433,10 @@ def is_error(a, **remainder):
 
 
 def list_sort(a, **remainder):
 def list_sort(a, **remainder):
     elements, = yield [("RO", [a['id']])]
     elements, = yield [("RO", [a['id']])]
-    values = yield [("RD", [a['id'], i]) for i in range(elements)]
+    values = yield [("RD", [a['id'], i]) for i in range(len(elements))]
     values = yield [("RV", [i]) for i in values]
     values = yield [("RV", [i]) for i in values]
     new_list, = yield [("CN", [])]
     new_list, = yield [("CN", [])]
-    values = yield [("CNV", [v]) for v in sorted(values))
+    values = yield [("CNV", [v]) for v in sorted(values)]
     yield [("CD", [new_list, i, v]) for i, v in enumerate(values)]
     yield [("CD", [new_list, i, v]) for i, v in enumerate(values)]
 
 
     yield [("RETURN", [{'id': new_list}])]
     yield [("RETURN", [{'id': new_list}])]

+ 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)
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
 
-Date:   Fri May 25 15:31:24 2018
+Date:   Fri May 25 16:06:09 2018
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
 Model name:   MvK Server