var char c ;
var int remain;
...
let remain= number - (number / 10 * 10 ) ;
let c= remain + 48; // "In subroutine setInt: a char value is expected"
This is a compiler bug. Jack is supposed to be an
untyped language so this construct should be legal.
You can change c to an "int".
Also note that "-" creates a
String object not a char constant. You need to use the numeric value of the '-' character:
do appendChar(45);
--Mark