No caso da presença de colchetes de vários tipos, tudo fica um pouco mais complicado. Criamos uma pilha para atuar como essa variável de equilíbrio. Isso é necessário porque os parênteses não podem se sobrepor. Quando percorremos uma linha e encontramos um parêntese de abertura, nós o colocamos na pilha. Quando encontramos uma chave de fechamento, tentamos retirar a chave de abertura daquele tipo da pilha. Se uma chave de um tipo diferente estiver na pilha, a sequência é inválida. Se a pilha não estiver vazia no final, a sequência também é inválida.