code: def compile_for_aexec(source, filename="<aexec>", mode="single",
                        dont_imply_dedent=False, local={}):
      
      flags = ast.PyCF_ONLY_AST
      if dont_imply_dedent:
          flags |= codeop.PyCF_DONT_IMPLY_DEDENT
      if compat.PY35:
          # Avoid a syntax error by wrapping code with `async def`
          indented = '\n'.join(line and ' ' * 4 + line
                               for line in source.split('\n'))
          coroutine = CORO_DEF + '\n' + indented + '\n'
          interactive = compile(coroutine, filename, mode, flags).body[0]
          # Check EOF errors
          try:
              compile(source, filename, mode, flags)
          except SyntaxError as exc:
              if exc.msg == 'unexpected EOF while parsing':
                  raise
      else:
          interactive = compile(source, filename, mode, flags)
      return [make_tree(statement, filename, mode) for
              statement in interactive.body]
docs: Return a list of (coroutine object, abstract base tree).