For this one, TeachYourselfCS recommends a web-based introductory text, “Crafting Interpreters“. It looks as though it should be an interesting read. I should also like to go through the second half of “The Structure and Interpretation of Computer Programs”, as it has a great deal to do with compilation and the creation of languages.