How Karel syntax, code structure and compilation works