private int handleWord(LexicalAnalyser analyser, int beginIndex)
			throws AnalyseException {
		String content = analyser.getSentence();
		for (int index = beginIndex; index < content.length(); index++) {
			char c = content.charAt(index);
			if (!WordTable.isDigit(c) && !WordTable.isLetter(c)) {
				int endIndex = index;
				if (!WordTable.isDelimiter(c) && !WordTable.isOverableLetter(c)
				/* && !WordTable.isDelimiterPart(c) */) {
					throw new AnalyseException(String.format(
							"Error: Undefined word [%s]",
							content.substring(beginIndex, endIndex + 1)));
				} else {
					return addResultToAnalyserAndGetResult(analyser,
							beginIndex, endIndex);
				}

			}
		}
		return addResultToAnalyserAndGetResult(analyser, beginIndex,
				content.length());
	}