Paródia lamentável de uma calculadora

Calcule o resultado de uma expressão aritmética escrita sem espaços. Considere +, -, * e / com a precedência usual dos operadores. Um número pode começar com um sinal de menos, e a divisão pode produzir um resultado decimal.

calculator("13+2-5*2") // 5.0
calculator("5/2") // 2.5

A expressão não contém parênteses nem funções matemáticas.