from stack import Stack

def balance(expr):
    """Test if expr is an expression of balanced brackets."""
    s = Stack()
    for b in expr:
        if b == "(":
            s.push(b)
        elif b == ")":
            if s.empty():
                return False
            else:
                s.pop()
        else:
            return False
    return s.empty()


if __name__ == "__main__":
    print balance("()()")
    print balance("((())")
    print balance("()((()()()()))(()))()")
    print balance("")
