code: function (commentObj, code, filepath, context, emitter) {
          var tagRegexp = tags.getTagRegexp();
          var sym = new Symbol({file:filepath});
          var comment = commentObj.comment,
              match = tagRegexp.exec(comment), description,
              l = comment.length, i;
          if (match && match[1]) {
              parseCode(code, commentObj.end, sym, context);
              i = match.index;
              sym.description = comment.substr(0, i);
              comment = comment.substr(i);
              i = 0;
              while (i < l) {
                  var subComment = comment.substr(i), nextIndex;
                  match = tagRegexp.exec(comment.substr(i + 2));
                  if (match && match[1]) {
                      nextIndex = match.index;
                      nextIndex += i + 1;
                      parseTag(comment.substr(i, nextIndex - i), sym, context);
                      i = nextIndex;
                  } else {
                      parseTag(subComment, sym, context);
                      i = l;
                  }
              }
          } else {
              parseCode(code, commentObj.end, sym, context);
              sym.description = comment;
          }
          sym.fullName = sym.memberof ? [sym.memberof, sym.name].join(".") : sym.name;
          return {symbol:sym, comment:comment};
      }
docs: Parses tags from a comment string.
  
  @ignore
  
  @param commentObj
  @param code
  @param filepath
  @param context
  @param emitter
  @return {Object}