private static Expression  parseMultExpression()
    {
    	System.out.println("解析乘法表达式");
        if (check(FirstExpExp) )
        {
            Expression exp = parseExpExpression();

            while (check( new TokenSet( TokenType.Multiply | TokenType.Divide ) ) )
            {
                int opType = CurrentToken.type;
                eat( opType );
                if ( !check( FirstExpExp ) )
                {
                    try {
						throw new Exception( "Expected an expression after * or / operator" );
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
                }
                Expression right = parseExpExpression();

                switch ( opType )
                {
                case TokenType.Multiply:
                    exp = new MultExpression( exp, right );
                    break;

                case TokenType.Divide:
                    exp = new DivExpression( exp, right );
                    break;

                default:
                    try {
						throw new Exception( "Expected mult or divide, got: " + opType );
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
                }
            }
            return exp;
        }
        else
        {
            try {
				throw new Exception( "Invalid expression" );
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
        return null;
    }