private boolean doKeyword(Segment line, int i, char c)
	{
		int i1 = i+1;

		if(token == S_END)
		{
			addToken(i - lastOffset,Token.LITERAL2);
			token = Token.NULL;
			lastOffset = i;
			lastKeyword = i1;
			return false;
		}

		int len = i - lastKeyword;
		byte id = keywords.lookup(line,lastKeyword,len);
		if(id == S_ONE || id == S_TWO)
		{
			if(lastKeyword != lastOffset)
				addToken(lastKeyword - lastOffset,Token.NULL);
			addToken(len,Token.LITERAL2);
			lastOffset = i;
			lastKeyword = i1;
			if(Character.isWhitespace(c))
				matchChar = '\0';
			else
				matchChar = c;
			matchSpacesAllowed = true;
			token = id;
			return true;
		}
		else if(id != Token.NULL)
		{
			if(lastKeyword != lastOffset)
				addToken(lastKeyword - lastOffset,Token.NULL);
			addToken(len,id);
			lastOffset = i;
		}
		lastKeyword = i1;
		return false;
	}