Kapitel 27. Der Roslyn Compiler

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Der C#-Compiler ist selbst in C# geschrieben und als modulare Bibliotheken unter dem Namen Roslyn verfügbar. Indem du diese Bibliotheken referenzierst, kannst du die Funktionen des Compilers auf viele Arten nutzen, abgesehen von der Kompilierung des Quellcodes zu einer Assembly. So kannst du z. B. Werkzeuge für die statische Codeanalyse und das Refactoring, Editoren mit Syntaxhervorhebung und Codevervollständigung sowie Visual Studio Plug-ins schreiben, die C#-Code verstehen.

Du kannst die Roslyn-Bibliotheken von NuGet herunterladen, und es gibt Pakete sowohl für C# als auch für Visual Basic. Da beide Sprachen eine gemeinsame Architektur haben, gibt es gemeinsame Abhängigkeiten. Die NuGet-Paket-ID für die C#-Compiler-Bibliotheken lautet Microsoft.CodeAnalysis.CSharp.

Auf der GitHub-Website von Roslyn findest du außerdem Dokumentationen, Beispiele und Komplettlösungen, die Codeanalyse und Refactoring demonstrieren.

Roslyn Architektur

Die Roslyn-Architektur unterteilt die Kompilierung in drei Phasen:

  1. Code in Syntaxbäume zerlegen (die syntaktische Schicht)

  2. Bindung von Bezeichnern an Symbole (die semantische Schicht)

  3. Emittierende Zwischensprache (IL)

In der ersten Phase liest ein Parser den C#-Code und gibt Syntaxbäume aus. Ein Syntaxbaum ist ein Document Object Model (DOM), das den Quellcode in einer Baumstruktur ...

Get C# 8.0 in einer Kurzfassung now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.