code: def walk_mirteFiles(name, logger=None):
      
      stack = [(name, find_mirteFile(name, (os.getcwd(),)))]
      loadStack = []
      had = dict()
      while stack:
          name, path = stack.pop()
          if path in had:
              d = had[path]
          else:
              d = _parse_mirteFile(path, logger)
              had[path] = d
          loadStack.append((name, path, d))
          if 'includes' not in d:
              continue
          for include in d['includes']:
              stack.append(
                  (include,
                   find_mirteFile(include, (os.path.dirname(path),))))
      had = set()
      for name, path, d in reversed(loadStack):
          if path in had:
              continue
          had.add(path)
          yield name, path, d
docs: Yields (cpath, d) for all dependencies of and including the
          mirte-file <name>, where <d> are the dictionaries from
          the mirte-file at <cpath>