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