I looked at the source code at <http://referencesource.microsoft.com/>, and it appears all the source code is in C#.

I also looked at the source code for the new C# compiler platform ([Roslyn](https://en.wikipedia.org/wiki/.NET_Compiler_Platform)), and it is also in C#. How is that possible? Is C# language compiler written in C#? Or am I missing something obvious? If C# compiler is written in C# then how does it work?