Roslyn
.NET Compiler Platform (Roslyn) | |
---|---|
Тип | компилятор и свободное и открытое программное обеспечение |
Автор | Microsoft |
Разработчик | .NET Foundation |
Написана на | C# и Visual Basic .NET |
Операционные системы | Windows, Linux, macOS |
Аппаратные платформы | IA-32, x86-64 |
Последняя версия | |
Репозиторий | github.com/dotnet/roslyn |
Лицензия | лицензия MIT |
Сайт | github.com/dotnet/roslyn docs.microsoft.com/dotne… |
.NET Compiler Platform (кодовое название Roslyn) — платформа с открытым исходным кодом, содержащая компиляторы и средства для статического анализа кода, написанного на языках C# и Visual Basic (VB.NET) от Microsoft[2].
Платформа включает в себя самодостаточные версии компиляторов C# и VB.NET — компиляторов, написанных на этих же языках. Взаимодействие с компиляторами может осуществляться через традиционные инструменты командной строки, а также через API из кода .NET. Roslyn предоставляет модули для синтаксического и лексического анализа кода, семантического анализа и динамической компиляции в CIL[3].
История
В 2010 году инженер Microsoft Эрик Липперт опубликовал объявление о наборе разработчиков для участия в новом проекте под кодовым названием Roslyn[4]. В октябре 2011 года Microsoft выпустила предварительный выпуск Roslyn, поставляемый в виде расширения для IDE Visual Studio 2010[5].
В апреле 2014 года в Сан-Франциско состоялась конференция Build, на которой Microsoft объявила о переводе проекта Roslyn на open source и выпустила версию для Visual Studio 2013. Тогда же компания Xamarin заявила об интеграции инструментов платформы в свою IDE Xamarin Studio[6].
В 2015 году исходный код проекта был перемещён на GitHub[7].
Архитектура
Roslyn предоставляет разработчикам API нескольких слоёв[8]:
- API компилятора — содержит объектные модели, соответствующие синтаксическим и семантическим сведениям на каждом этапе компиляции.
- API диагностики — предоставляет возможности для выполнения набора различных диагностик, позволяя задействовать пользовательские анализаторы в процессе компиляции.
- API скриптов — используется для выполнения скриптов, а также для работы с контекстом выполнения.
- API рабочих областей — предоставляет доступ к объектным моделям слоя компилятора.
Инструменты исходного кода, созданные на основе Roslyn, могут поставляться как в виде расширения Visual Studio, так и в виде самостоятельного приложения[9].
Примечания
- ↑ Release 5.0.1 — 2020.
- ↑ C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API (англ.). MSDN (24 июля 2015). Дата обращения: 12 мая 2023. Архивировано 8 декабря 2022 года.
- ↑ Neil McAllister. Microsoft's Roslyn: Reinventing the compiler as we know it (англ.). InfoWorld (20 октября 2011). Дата обращения: 12 мая 2023. Архивировано 24 апреля 2023 года.
- ↑ Eric Lippert. Hiring for Roslyn (англ.). Eric Lippert's Erstwhile Blog (16 декабря 2010). Дата обращения: 13 мая 2023. Архивировано 13 мая 2023 года.
- ↑ Microsoft “Roslyn” CTP (англ.). Microsoft Download Center. Дата обращения: 13 мая 2023. Архивировано из оригинала 18 апреля 2012 года.
- ↑ Jonathan Allen. Highlights from Build 2014’s Second Keynote (англ.). InfoQ (3 апреля 2014). Дата обращения: 13 мая 2023. Архивировано 25 сентября 2022 года.
- ↑ We're moving to GitHub . MSDN (10 января 2015). Дата обращения: 13 мая 2023. Архивировано из оригинала 1 декабря 2015 года.
- ↑ Understand the .NET Compiler Platform SDK model (англ.). MSDN (15 сентября 2021). Дата обращения: 13 мая 2023. Архивировано 22 января 2023 года.
- ↑ Введение в Roslyn. Использование для разработки инструментов статического анализа . Хабр. Блог компании PVS-Studio (19 мая 2016). Дата обращения: 13 мая 2023. Архивировано 13 мая 2023 года.