code: func toHex(l yyLexer, lval *yySymType, str string) int {
  	h, err := types.ParseHex(str)
  	if err != nil {
  		// If parse hexadecimal literal to numerical value error, we should treat it as a string.
  		hexStr, err1 := types.ParseHexStr(str)
  		if err1 != nil {
  			l.Errorf("hex literal: %v", err)
  			return int(unicode.ReplacementChar)
  		}
  		lval.item = hexStr
  		return hexLit
  	}
  	lval.item = h
  	return hexLit
  }
docs: // See https://dev.mysql.com/doc/refman/5.7/en/hexadecimal-literals.html