parameters: (tb)
return_statement: return tb[0]
docstring: Find the deepest stack frame that is not part of SCons.
  
      Input is a "pre-processed" stack trace in the form
      returned by traceback.extract_tb() or traceback.extract_stack()
docstring_summary: Find the deepest stack frame that is not part of SCons.
docstring_tokens: Find the deepest stack frame that is not part of SCons .
function: def find_deepest_user_frame(tb):
      """
      Find the deepest stack frame that is not part of SCons.
  
      Input is a "pre-processed" stack trace in the form
      returned by traceback.extract_tb() or traceback.extract_stack()
      """
  
      tb.reverse()
  
      # find the deepest traceback frame that is not part
      # of SCons:
      for frame in tb:
          filename = frame[0]
          if filename.find(os.sep+'SCons'+os.sep) == -1:
              return frame
      return tb[0]
function_tokens: def find_deepest_user_frame ( tb ) : tb . reverse ( ) # find the deepest traceback frame that is not part # of SCons: for frame in tb : filename = frame [ 0 ] if filename . find ( os . sep + 'SCons' + os . sep ) == - 1 : return frame return tb [ 0 ]