parameters: (data)
return_statement: return out
docstring: Parses the merged callgrind_annotate output |data| and generates execution
    counts for all annotated files.
docstring_summary: Parses the merged callgrind_annotate output |data| and generates execution
    counts for all annotated files.
docstring_tokens: Parses the merged callgrind_annotate output |data| and generates execution counts for all annotated files .
function: def generate(data):
    """Parses the merged callgrind_annotate output |data| and generates execution
    counts for all annotated files."""
    out = {}
    data = [p.strip() for p in data.split(SECTION_SEPERATOR)]
  
  
    # Most sections are ignored, but a section with:
    #  User-annotated source: <file>
    # precedes a listing of execution count for that <file>.
    for i in range(len(data)):
      if 'User-annotated source' in data[i] and i < len(data) - 1:
        filename = data[i].split(':', 1)[1].strip()
        res = data[i + 1]
        if filename not in out:
          out[filename] = None
        if 'No information' in res:
          res = []
        else:
          res = res.split('\n')
        out[filename] = parse(filename, res, out[filename])
    return out
function_tokens: def generate ( data ) : out = { } data = [ p . strip ( ) for p in data . split ( SECTION_SEPERATOR ) ] # Most sections are ignored, but a section with: #  User-annotated source: <file> # precedes a listing of execution count for that <file>. for i in range ( len ( data ) ) : if 'User-annotated source' in data [ i ] and i < len ( data ) - 1 : filename = data [ i ] . split ( ':' , 1 ) [ 1 ] . strip ( ) res = data [ i + 1 ] if filename not in out : out [ filename ] = None if 'No information' in res : res = [ ] else : res = res . split ( '\n' ) out [ filename ] = parse ( filename , res , out [ filename ] ) return out