def _ConsumeSingleByteString(self):
text = self.token<EOL>if len(text) < <NUM_LIT:1> or text[<NUM_LIT:0>] not in _QUOTES:<EOL><INDENT>raise self._ParseError('<STR_LIT>' % (text,))<EOL><DEDENT>if len(text) < <NUM_LIT:2> or text[-<NUM_LIT:1>] != text[<NUM_LIT:0>]:<EOL><INDENT>raise self._ParseError('<STR_LIT>' % (text,))<EOL><DEDENT>try:<EOL><INDENT>result = text_encoding.CUnescape(text[<NUM_LIT:1>:-<NUM_LIT:1>])<EOL><DEDENT>except ValueError as e:<EOL><INDENT>raise self._ParseError(str(e))<EOL><DEDENT>self.NextToken()<EOL>return result<EOL>
Consume one token of a string literal.

        String literals (whether bytes or text) can come in multiple adjacent
        tokens which are automatically concatenated, like in C or Python.  This
        method only consumes one token.

        Returns:
          The token parsed.
        Raises:
          ParseError: When the wrong format data is found.