code: def _maybe_compile(compiler, source, filename, symbol):
      # Check for source consisting of only blank lines and comments.
      for line in source.split("\n"):
          line = line.strip()
          if line and line[0] != "#":
              break  # Leave it alone.
      else:
          if symbol != "eval":
              source = "pass"  # Replace it with a 'pass' statement
  
      # Disable compiler warnings when checking for incomplete input.
      with warnings.catch_warnings():
          warnings.simplefilter(
              "ignore", (SyntaxWarning, DeprecationWarning)
          )
          try:
              compiler(source, filename, symbol)
          except SyntaxError:  # Let other compile() errors propagate.
              try:
                  compiler(source + "\n", filename, symbol)
                  return None
              except SyntaxError as e:
                  if "incomplete input" in str(e):
                      return None
                  # fallthrough
  
      return compiler(source, filename, symbol, incomplete_input=False)
  
file_path: cpython/Lib/codeop.py
imports: import __future__
  import warnings
label_desc: Use image node_id 1 for calling a global function with example usage: _maybe_compile(compiler, source, filename, symbol) and returns: compiler, None, None