a small complier for the language