En el caso de la presencia de brackets de varios tipos, todo se vuelve un poco más complicado. Creamos una pila para que actúe como esa variable de equilibrio. Esto es necesario porque los paréntesis no se pueden superponer. Cuando recorremos una línea y encontramos un paréntesis de apertura, lo colocamos en la pila. Cuando encontramos una llave de cierre, intentamos sacar la llave de apertura de ese tipo de la pila. Si hay una llave de un tipo diferente en la pila, la secuencia no es válida. Si la pila no está vacía al final, la secuencia tampoco es válida.