Validar uma expressão PARENTIZADA

funciona da seguinte forma: devo receber uma expressão parentizada ((4*10)-(5/1)), recebendo a expressão terei que fazer a validação, todas as operações são binárias e também poderei receber números negativos, O PROBLEMA DEVE SER RESOLVIDO UTILIZANDO A ESTRUTURA DE DADOS PILHA, alguém pode me ajudar