Roslyn Primer – Part I: Anatomy of a Compiler