Exemplo n.º 1
0
 def load_models(self, model, encoding='utf-8'):
     from textx.model import get_metamodel
     from textx.scoping import GlobalModelRepository
     # do we already have loaded models (analysis)? No -> check/load them
     if hasattr(model, "_tx_model_repository"):
         pass
     else:
         if hasattr(get_metamodel(model), "_tx_model_repository"):
             model_repository = GlobalModelRepository(get_metamodel(
                 model)._tx_model_repository.all_models)
         else:
             model_repository = GlobalModelRepository()
         model._tx_model_repository = model_repository
     self._load_referenced_models(model, encoding=encoding)
Exemplo n.º 2
0
 def load_models(self, model, encoding='utf-8'):
     from textx.model import get_metamodel
     from textx.scoping import GlobalModelRepository
     # do we already have loaded models (analysis)? No -> check/load them
     if hasattr(model, "_tx_model_repository"):
         pass
     else:
         if hasattr(get_metamodel(model), "_tx_model_repository"):
             model_repository = GlobalModelRepository(get_metamodel(
                 model)._tx_model_repository.all_models)
         else:
             model_repository = GlobalModelRepository()
         model._tx_model_repository = model_repository
     self._load_referenced_models(model, encoding=encoding)
Exemplo n.º 3
0
 def get_metamodel(parent_model, filename):
     from textx.model import get_metamodel
     import fnmatch
     for p, mm in MetaModelProvider._pattern_to_metamodel.items():
         if fnmatch.fnmatch(filename, p):
             # print("loading model {} with special mm".format(filename));
             return mm
     # print("loading model {} with present mm".format(filename))
     return get_metamodel(parent_model)
Exemplo n.º 4
0
 def get_metamodel(parent_model, filename):
     from textx.model import get_metamodel
     import fnmatch
     for p, mm in MetaModelProvider._pattern_to_metamodel.items():
         if fnmatch.fnmatch(filename, p):
             # print("loading model {} with special mm".format(filename));
             return mm
     # print("loading model {} with present mm".format(filename))
     if parent_model:
         return get_metamodel(parent_model)
     else:
         raise Exception(
             "unexpected: no meta model found for {}".format(filename))