4 compiler homework