If you are interested by uncommon approach to implementing programming language, toy should have a look at the K framework (http://www.kframework.org/index.php/Main_Page)
The idea is to write the spec (is grammar and semantics) only once and have for free a compiler as well as some formal tools (model checker,...)
C had been formalized with it for instance.