Fix unary minus operator
Extend the grammar to parse maps

A map is like a function but restricted to math expressions, e.g.

    f = (x) -> 3*(sin(x) + cos(x));

On the right hand side of the map operator -> arithmetic math expressions with identifiers, numbers and calls of other maps (if none or at least one of the map parameters is involved) or functions (if none of the map parameters is involved) are allowed.

Maps will be used to symbolically determine the derivative and antiderivative of a mathematical expression.

Maps can not be nested.
Fix chained assignments