code: function parseResult(text, callback) {
    var errors = [], i = 0, l, errBlock, match, match2, lines;
  
    text = text.replace(/\r/g, '');
    lines = text.split('\n');
  
    match = skippingRegex.exec(lines[i]);
    if (match) {
      i++;
    }
  
    match = successRegex.exec(lines[i]);
    if (match) {
      callback(null, createParseSuccessObj(match));
      return;
    }
  
    for (l = lines.length; i < l; i++) {
      match = fileRegex.exec(lines[i]);
      if (match) {
        match2 = errorRegex.exec(lines[++i]);
        errBlock = createFailObj(match);
        for (var j = i; match2 && j < lines.length;) {
          errBlock.errors.push(createErrorObj(match2));
          match2 = errorRegex.exec(lines[++j]);
        }
        i = --j;
        errors.push(errBlock);
      } else {
        match = abstractRegex.exec(lines[i]);
        if (match) {
          callback(createErrorGJSLintFailed(match, errors));
          return;
        }
      }
    }
    callback(createParseErrorUnknown(lines));
  
  }
docs: FIXME: Think better this piece of shit