code: function process_token(token, index, tokens) {
  	var last = (index === (tokens.length - 1));
  	if (token[0] === "+") return process_single(token, last);
  	else if (token[0] === "#") return process_multi(token, last);
  	else return process_raw(token, last);
  }
docs: Processes token and determines if it's a `single`, `multi` or `raw` token Each token contains the type, an optional parameter name, and a piece of the regex The piece can have a different syntax for when it is last