private Token scanAnchor (Token tok) {
		char indicator = peek();
		String name = indicator == '*' ? "alias" : "anchor";
		forward();
		int length = 0;
		int chunk_size = 16;
		Matcher m = null;
		for (;;) {
			String chunk = prefix(chunk_size);
			if ((m = NON_ALPHA.matcher(chunk)).find()) break;
			chunk_size += 16;
		}
		length = m.start();
		if (length == 0)
			throw new TokenizerException("While scanning an " + name + ", a non-alpha, non-numeric character was found.");
		String value = prefixForward(length);
		// forward(length);
		if (NON_ALPHA_OR_NUM.indexOf(peek()) == -1)
			throw new TokenizerException("While scanning an " + name + ", expected an alpha or numeric character but found: "
				+ ch(peek()));
		if (tok instanceof AnchorToken)
			((AnchorToken)tok).setInstanceName(value);
		else
			((AliasToken)tok).setInstanceName(value);
		return tok;
	}