code: def scan_macro(
      program: Union[Any, str], extra_vars: Dict[str, Any] = None
  ) -> Any:
      """Generate the AST, and the source code for __repr__."""
      # The AST will be converted into TIR at the time of expansion.
      source = Source(program)
      closure_vars = extra_vars or _default_globals()
      return source, closure_vars
  
file_path: tvm/python/tvm/script/parser/core/entry.py
imports: import inspect
  from typing import Any, Dict, Union
  from ...ir_builder import IRBuilder
  from .None import doc
  from .diagnostics import Source
  from .error import ParserError
  from .parser import Parser
label_desc: Use image node_id 2 for calling a global function with example usage: scan_macro(program, extra_vars) and returns: source,  closure_vars