a mini-pascal compiler