code: private Token tryAndMatchOnLine(Token.Kind kind) {
  		int next = skipLineSpace(index);
  		if (next < tokens.size()) {
  			Token t = tokens.get(next);
  			if (t.kind == kind) {
  				index = next + 1;
  				return t;
  			}
  		}
  		return null;
  	}
docs: Attempt to match a given token on the *same* line, whilst ignoring any
  whitespace in between. Note that, in the case it fails to match, then the
  index will be unchanged. This latter point is important, otherwise we
  could accidentally gobble up some important indentation.
  
  @param kind
  @return