fix compiler warnings about shadowed variables
fix support for hex numbers
add support for optional semicolon after }