Bug TW-1254

- TW-1254 Calc command can segfault on negative numbers (thanks to Renato
          Alves).
- Implemented a recursive descent parser to syntax check the expression,
  and disambiguate unary minus. The syntax checking is not generating any
  diagnostics yet.