Have you considered Minsk? -- Worf, naming things.
This repo contains Minsk, a handwritten compiler in C#. It illustrates basic concepts of compiler construction and how one can tool the language inside of an IDE by exposing APIs for parsing and type checking.
This compiler uses many of the concepts that you can find in the Microsoft C# and Visual Basic compilers, code named Roslyn.