浏览代码

Remove loader and minor fixes

Yentl Van Tendeloo 8 年之前
父节点
当前提交
9c3f4e0f1e
共有 3 个文件被更改,包括 4 次插入81 次删除
  1. 3 2
      bootstrap/bootstrap.py
  2. 1 1
      bootstrap/conformance_finding.alc
  3. 0 78
      interface/HUTN/hutn_compiler/loader.py

+ 3 - 2
bootstrap/bootstrap.py

@@ -190,7 +190,7 @@ def bootstrap():
                     return model_code + "\n"
 
                 # Compile all model definitions to ALC directly
-                total_alc = ""
+                total_alc = []
                 binding_alc = 'Void function initialize_MMs():\n\tinitialize_SCD("models/SimpleClassDiagrams")\n'
 
                 bootstrap_models = sorted(glob.glob("bootstrap/*.mvc"))
@@ -200,8 +200,9 @@ def bootstrap():
                     model_name = bootstrap_model.rsplit(".mvc", 1)[0].rsplit("/", 1)[1]
                     print("[MVC] %s" % model_name)
                     alc = compile_code_MO(bootstrap_model, model_name)
-                    total_alc += alc
+                    total_alc.append(alc)
                     binding_alc += "\tinitialize_%s()\n" % model_name
+                total_alc = "".join(total_alc)
 
                 # Write out the ALC to a new .metamodels.alc
                 binding_alc += "\treturn!\n"

+ 1 - 1
bootstrap/conformance_finding.alc

@@ -53,7 +53,7 @@ Boolean function find_type_mapping(model : Element):
 		log("Elements in metamodel: " + set_to_string(elems))
 		while (set_len(elems) > 0):
 			elem = set_pop(elems)
-			log("Check " + elem)
+			// log("Check " + elem)
 
 			if (bool_not(is_edge(model["metamodel"]["model"][elem]))):
 				if (element_neq(node_element, read_root())):

+ 0 - 78
interface/HUTN/hutn_compiler/loader.py

@@ -1,78 +0,0 @@
-import os
-import sys
-from codecs import open
-
-from grammar_compiler_visitor import GrammarCompilerVisitor
-from hutnparser import Parser
-from meta_grammar import Grammar
-
-
-def dump(obj, nested_level=0, output=sys.stdout):
-    spacing = '   '
-    if type(obj) == dict:
-        print >> output, '%s{' % ((nested_level) * spacing)
-        for k, v in obj.items():
-            if hasattr(v, '__iter__'):
-                print >> output, '%s%s:' % ((nested_level + 1) * spacing, k)
-                dump(v, nested_level + 1, output)
-            else:
-                print >> output, '%s%s: %s' % ((nested_level + 1) * spacing, k, v)
-        print >> output, '%s}' % (nested_level * spacing)
-    elif type(obj) == list:
-        print >> output, '%s[' % ((nested_level) * spacing)
-        for v in obj:
-            if hasattr(v, '__iter__'):
-                dump(v, nested_level + 1, output)
-            else:
-                print >> output, '%s%s' % ((nested_level + 1) * spacing, v)
-        print >> output, '%s]' % ((nested_level) * spacing)
-    else:
-        print >> output, '%s%s' % (nested_level * spacing, obj)
-
-
-def read(n, *args):
-  CUR_PATH = os.path.split(__file__)[0]
-  with open(os.path.join(CUR_PATH, n), *args, encoding='utf-8') as f:
-    return f.read()
-
-def loader(inputfile = './grammars/examples/meta_grammar.g', grammarfile = './grammars/examples/meta_grammar.g'):
-    grammar = Grammar()
-
-#    out1 = open('previous.rules', 'w')
-#    dump(grammar.rules, 0, out1)
-#    out2 = open('previous.tokens', 'w')
-#    dump(grammar.tokens, 0, out2)
-
-    result = parser = Parser(grammar, hide_implicit = True).parse(read(grammarfile))
-    if(not result['status'] == Parser.Constants.Success):
-        print 'not a valid grammar!'
-        print result
-        return
-    
-    tree = result['tree']
-    visitor = GrammarCompilerVisitor()
-    structure = visitor.visit(tree)            
-    grammar.rules = structure['rules']
-    grammar.tokens = structure['tokens']        
-
-#    out3 = open('after.rules', 'w')
-#    dump(structure['rules'], 0, out3)
-#    out4 = open('after.tokens', 'w')
-#    dump(structure['tokens'], 0, out4)
-
-    result = parser = Parser(grammar, hide_implicit = True).parse(read(inputfile))
-    if(not result['status'] == Parser.Constants.Success):
-        print 'not a valid input file!'
-        print result
-        return
-
-    Parser.DefaultPrinter().visit(result['tree'])
-    Parser.PrettyPrinter().visit(result['tree'])
-
-
-if __name__ == "__main__":
-    if(len(sys.argv) == 3):
-        fileName = sys.argv[1]
-        loader(sys.argv[1], sys.argv[2])
-    else:
-        loader()