start of a basic compiler, it only supports nop