Playing around with writing compilers