.NET Compiler Platform (Codename Roslyn) ist der Name für eine von Microsoft entwickelte Plattform, die Compiler für die .NET-Programmiersprachen C# und Visual Basic .NET beinhaltet. Diese Compiler dienen der Kompilierung von C#- oder VB-Code in CIL-Code und wurden als Nachfolger für die ursprünglichen, für diese Sprachen entstandenen Compiler entwickelt, unter anderem deshalb, um besser mit dem im Laufe der Zeit gestiegenen Funktionsumfang der beiden Programmiersprachen umgehen zu können. Die Plattform beinhaltet zudem eine Klassenbibliothek und Programmierschnittstellen, unter anderem für die Codeanalyse, für Erweiterungen der Entwicklungsumgebung Visual Studio und für die Erweiterung des Compilers selbst. Im Gegensatz zu den ursprünglichen Compilern, die in C++ programmiert wurden, sind die in der Plattform enthaltenen Compiler in den Programmiersprachen geschrieben, für die sie vorgesehen sind, d. h. der C#-Compiler wurde in C# programmiert und der VB-Compiler in VB .NET. Der Peachpie-Compiler für die Programmiersprache PHP (Vorschau im September 2020) dagegen wird in C# entwickelt.
Geschichte
Die Geschichte der Plattform reicht bis mindestens 2010 zurück. Ehe Visual Studio 2015 erschien, trug das Projekt den Codenamen Roslyn. Microsoft veröffentlichte eine erste Vorabversion im Oktober 2011 als Visual-Studio-2010-Erweiterung, die nach vielen Aktualisierungen der Roslyn-API für Visual Studio 2012 als Erweiterung heruntergeladen werden konnte. Im April 2014 folgte die Freigabe als quelloffene Software unter der Apache-Lizenz 2.0. Die Spracheigenschaften der Versionen C# 6 und Visual Basic.NET 14 sind ausschließlich mit der Roslyn-Erweiterung zu nutzen. Die APIs sind mit dem Paket-Manager NuGet ab Version 2.8.1 erhältlich.
Mit dem Erscheinen von VS 2015 verließ das Projekt die Entwicklungsphase, einhergehend mit der Umbenennung in .NET Compiler Platform und der Veröffentlichung als Open-Source-Software. In VS 2015 ersetzen die in der Plattform enthaltenen Compiler erstmals die ursprünglichen Compiler.
Anwendung
Durch Roslyn wird es möglich in einem .NET-Programm .NET-Programmcode zu analysieren, zu generieren, syntaktisch zu überprüfen, zu transformieren etc. So könnten z. B. bestehende C#-Befehle erweitert, abgeändert und neue hinzugenommen werden, indem der Compiler durch eigenen Programmcode erweitert oder geändert wird. Auch könnte man für andere Plattformen kompilieren, indem man die Generierung des .NET-Bytecode (CIL-Code) durch die Erstellung einer anderen ausführbaren Datei ersetzt. Codegeneratoren, die z. B. VB.NET in andere Sprachen übersetzen oder C#-Syntaxprüfung bzw. -Syntaxhervorhebung werden damit ebenfalls relativ einfach möglich, da jeweils über die API auf einzelne Teile des Compilers (z. B. auf den Parser oder den Syntaxbaum) zugegriffen werden kann.
Literatur
- Fabian Deitelhoff: Rosige Aussichten, in: heise developer vom 15. August 2014
- Rainer Stropek: Die neue .NET Compiler Platform. In: Windows Developer Nr. 10/2015, S. 16–19.
- Matthias Withopf: Scheibenweise. Microsoft öffnet .Net-Compiler mit Roslyn, in: iX – Magazin für professionelle Informationstechnik Nr. 4/2012
Weblinks
- Dokumentation auf CodePlex
- Quelltext der .NET Compiler Platform auf GitHub
- .NET Compiler Platform SDK in der Visual Studio Gallery
Einzelnachweise
- ↑ peachpiecompiler/peachpie. PeachPie Compiler Platform, 26. September 2020, abgerufen am 26. September 2020.
- ↑ Microsoft “Roslyn” CTP, Microsoft Download Center
- ↑ NET Languages features in C# 6 and VB 14 (Memento vom 2. April 2015 im Internet Archive), Microsoft Open Technologies: Compiler Platform ("Roslyn")
- ↑ Sebastian Grüner: Visual Studio 2015 erschienen: Ganz viel für Apps und Open Source. In: Golem.de. 15. Juli 2015, abgerufen am 10. Dezember 2015.
- ↑ Peter Monadjemi: Die kommenden Generationen von C# und Visual Basic. Windows Developer. Abgerufen am 11. Juni 2015.
- ↑ Fabian Deitelhoff: Neues zu Roslyn und C# Rosige Aussichten Heise Developer. Abgerufen am 9. Juni 2015.
- ↑ Holger Schwichtenberg: Sprachcompiler für C# und Visual Basic sind jetzt Open Source. Heise Developer. Abgerufen am 9. Juni 2015.
- ↑ Matthias Withopf: Microsoft öffnet .Net-Compiler mit Roslyn. iX Magazin für professionelle Informationstechnik. Abgerufen am 11. Juni 2015.