added support for minus(-) and div(/)
fix a bug, correctly using mul instead of div
fixed a bug where epsilon  productions weren't handled correctly

Also added debugging logs and a way to disable them