code: def parse(src, preamble_len=0, single_node=True):
      """Returns the AST of given piece of code.
  
      Args:
        src: Text
        preamble_len: Int, indicates leading nodes in the parsed AST which should be
          dropped.
        single_node: Bool, whether `src` is assumed to be represented by exactly one
          AST node.
  
      Returns:
        ast.AST
      """
      module_node = gast.parse(src)
      nodes = module_node.body
      if preamble_len:
          nodes = nodes[preamble_len:]
      if single_node:
          if len(nodes) != 1:
              raise ValueError(
                  "expected exactly one node, got {}".format(nodes)
              )
          return nodes[0]
      return nodes
  
imports: import ast
  import inspect
  import linecache
  import re
  import sys
  import textwrap
  import tokenize
  import astunparse
  import gast
  import six
  from nvidia.dali._autograph.pyct import errors
  from nvidia.dali._autograph.pyct import inspect_utils
label_desc: Use image node_id 8 for calling a global function with example usage: parse(src, preamble_len, single_node) and returns: nodes, nodes