a toy compiler training project