whole_func_string: function eatBraces(stream, root) {
  	if (stream.eat(LBRACE)) {
  		let stack = 1, token;
  
  		while (!stream.eof()) {
  			if (stream.eat(RBRACE)) {
  				stack--;
  				if (!stack) {
  					break;
  				}
  			} else if (stream.eat(LBRACE)) {
  				stack++;
  			} else if (eatUrl(stream) || eatString(stream)) {
  				continue;
  			} else if (token = comment(stream)) {
  				root.addComment(token);
  				continue;
  			} else {
  				stream.next();
  			}
  		}
  
  		return true;
  	}
  
  	return false;
  }
func_code_string: function eatBraces(stream, root) {
  	if (stream.eat(LBRACE)) {
  		let stack = 1, token;
  
  		while (!stream.eof()) {
  			if (stream.eat(RBRACE)) {
  				stack--;
  				if (!stack) {
  					break;
  				}
  			} else if (stream.eat(LBRACE)) {
  				stack++;
  			} else if (eatUrl(stream) || eatString(stream)) {
  				continue;
  			} else if (token = comment(stream)) {
  				root.addComment(token);
  				continue;
  			} else {
  				stream.next();
  			}
  		}
  
  		return true;
  	}
  
  	return false;
  }
func_documentation_string: Consumes content inside round braces. Mostly used to skip `;` token inside
  expressions since in LESS it is also used to separate function arguments
  @param  {StringReader} stream
  @param  {Stylesheet}   root   A stylesheet root. Used to accumulate comments
  @return {Boolean}