private int dotDecimal(final Token token, final String text,
			final int start, final int length) {

		int position = start + 1;
		while (position < length) {
			final char c = text.charAt(position);

			if (isDigit(c)) {
				position += 1;
				continue;
			}

			final Token dotDecimal = token.subtoken(start, position);
			dotDecimal.addTag(AreaTag.PROGRAM_TEXT_AREA);
			dotDecimal.addTag(SyntacticTag.CHARACTER_STRING);
			dotDecimal.addTag(SyntacticTag.DECIMAL_LITERAL);
			dotDecimal.addTag(SyntacticTag.UNSIGNED);
			if (LOGGER.isTraceEnabled()) {
				LOGGER.trace("Dot decimal: " + dotDecimal);
			}
			enqueue(dotDecimal);
			return position;
		}

		final Token dotDecimal = token.subtoken(start);
		dotDecimal.addTag(AreaTag.PROGRAM_TEXT_AREA);
		dotDecimal.addTag(SyntacticTag.CHARACTER_STRING);
		dotDecimal.addTag(SyntacticTag.DECIMAL_LITERAL);
		dotDecimal.addTag(SyntacticTag.UNSIGNED);
		if (LOGGER.isTraceEnabled()) {
			LOGGER.trace("Dot decimal: " + dotDecimal);
		}
		enqueue(dotDecimal);
		return length;
	}