How would I go about creating an interpreter for a new programming language? What language would I write it in?