LiP course final project: compiler for an imperative language