compiler for a pascal-like language