@@ -0,0 +1,1170 @@
+%22%22%22%0ALoad a module using metacircular versions of both compiler and%0Abyterun.interpreter.%0A%22%22%22%0A%0Aimport ast, sys, types%0Aimport compiler, byterun.interpreter%0A%0Adef read_file(filename):%0A    f = open(filename)%0A    text = f.read()%0A    f.close()%0A    return text%0A%0Aclass Loader:%0A    def __init__(self, piler, terp):%0A        self.compiler = piler%0A        self.interpreter = terp%0A%0A    def load_file(self, filename, module_name):%0A        source = read_file(filename)%0A        return self.module_from_ast(module_name, filename, ast.parse(source))%0A%0A    def module_from_ast(self, module_name, filename, t):%0A        code = self.compiler.code_for_module(module_name, filename, t)%0A        module = types.ModuleType(module_name, ast.get_docstring(t))%0A        self.interpreter.vm_exec(code, module.__dict__, None)%0A        return module%0A%0Abase_loader = Loader(compiler, byterun.interpreter)%0A%0Ameta_compiler    = base_loader.load_file('compiler.py', 'compiler')%0Ameta_interpreter = base_loader.load_file('byterun/interpreter.py', 'interpreter')%0A%0Ameta_loader = Loader(meta_compiler, meta_interpreter)%0A%0Aif __name__ == '__main__':%0A    sys.argv.pop(0)%0A    meta_loader.load_file(sys.argv%5B0%5D, '__main__')%0A

add metameta driver