Estou tendo problemas com o sinal de subtração ainda...
O código está igualzinho o dos outros operadores binários, e nenhum deles dá errado...
Além disso, o menos unário também está retornando com problema, por isso estou suspeitando muito que é problema com o próprio símbolo digitado.
E agora, com duas expressões seguidas sem sequer alterar o código, uma retorna corretamente e a outra não...
Mas o que está acontecendo?!?!?!?!
PS: aparentemente, a única string que retorna direitinho é "3 2-" ...