docs: def parse_header(data, verbose=False, *args, **kwargs):
      """Parse the data using the grammar specified in this module
      
      :param str data: delimited data to be parsed for metadata
      :return list parsed_data: structured metadata 
      """
      # the parser
      if verbose:
          print >> sys.stderr, "Creating parser object..."
      parser = Parser(amira_header_grammar)
      
      # the processor
      if verbose:
          print >> sys.stderr, "Defining dispatch processor..."
      amira_processor = AmiraDispatchProcessor()
      
      # parsing
      if verbose:
          print >> sys.stderr, "Parsing data..."
      success, parsed_data, next_item = parser.parse(data, production='amira', processor=amira_processor)
      
      if success:
          if verbose:
              print >> sys.stderr, "Successfully parsed data..."
          return parsed_data
      else:
          raise TypeError("Parse: {}\nNext: {}\n".format(parsed_data, next_item))