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 {
     d : integer
+    name = "A"
 }
 Class B {
     d : string
+    name = "B"
+}
+Class C {
+    name = "C"
 }
-Class C {}
 
 Inheritance (C, A) {}
 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)
 
 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(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_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):
     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]
     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 [("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)
 
-Date:   Fri May 25 15:31:24 2018
+Date:   Fri May 25 16:06:09 2018
 
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server