modified mini_lang.y