A pascal compiler written in scala