private Expression readExp7()
	throws ParserException
	{
		Expression exp = readExp8();
		
		try {
			Token token = stream.peek();
			do {
				     if (token.isType(Token.Type.TIMES))  { stream.get();  exp = new EMultiply(exp, readExp8()); }
				else if (token.isType(Token.Type.DIVIDE)) { stream.get();  exp = new EDivide  (exp, readExp8()); }
				else if (token.isType(Token.Type.MOD))    { stream.get();  exp = new EModulus (exp, readExp8()); }
				token = stream.peek();
			} while (token.isType(Token.Type.TIMES) || token.isType(Token.Type.DIVIDE) || token.isType(Token.Type.MOD));
		} catch (TokenException e) {
			throw new ParserException("*,/,% expression");
		}
		
		return exp;
	}