stringtranslate.com

Рослин (компилятор)

.NET Compiler Platform , также известная под кодовым названием Roslyn , [2] представляет собой набор компиляторов с открытым исходным кодом и API-интерфейсов анализа кода для языков C# и Visual Basic (VB.NET) от Microsoft . [3]

Проект в частности включает в себя самостоятельные версии компиляторов C# и VB.NET — компиляторов, написанных на самих языках. Компиляторы доступны через традиционные программы командной строки, но также как API, доступные изначально из кода .NET. Roslyn предоставляет модули для синтаксического ( лексического ) анализа кода, семантического анализа, динамической компиляции в CIL и эмиссии кода. [4]

Функции

Особенности Roslyn включают в себя:

История

Кодовое имя «Рослин» впервые было написано Эриком Липпертом (бывшим инженером Microsoft [5] ) в посте [6] , который он опубликовал в 2010 году, чтобы нанять разработчиков для нового проекта. Сначала он сказал, что происхождение названия связано с городом Рослин, штат Вашингтон , но позже в посте он иронично говорит о «северной экспозиции» его офиса; город Рослин был одним из мест, где снимался телесериал « Северная экспозиция ». [7]

В октябре 2011 года Microsoft сделала общедоступную предварительную версию технологии (CTP). Она устанавливается как расширение для Visual Studio 2010 SP1. [8]

CTP был обновлен в сентябре 2012 года [9] для включения многих обновлений API Roslyn, представленных в CTP за июнь 2012 года и октябрь 2011 года, включая критические изменения. [10] Хотя API CTP за июнь 2012 года завершено для компиляторов, не все функции были реализованы для языков C# и VB.NET. [11]

На конференции Build 2014 в Сан-Франциско в апреле 2014 года Microsoft сделала проект «Roslyn» проектом с открытым исходным кодом и выпустила предварительную версию интеграции языка для Visual Studio 2013. По состоянию на 3 апреля 2014 года Roslyn находится под лицензией Apache License 2.0. [3] Проект был фактически передан под управление недавно созданного .NET Foundation. [12] На той же конференции Xamarin объявила, что они работают над интеграцией новых компиляторов и инструментов в Xamarin Studio . [13]

Компиляторы не были полностью функциональными в этом выпуске. Каждый из компиляторов содержит функции, которые запланированы для будущих версий языка (C# 6 и Visual Basic.NET 14). API также доступны через менеджер пакетов NuGet . [ необходима цитата ]

По состоянию на 2013 год Roslyn поддерживает VB и C#, а компиляторы написаны на соответствующих языках. [14] Первый выпуск Roslyn для производства (RTM) был с Visual Studio 2015. [ 15]

В январе 2015 года Microsoft перенесла исходный код Roslyn из CodePlex на GitHub . [16]

Архитектура

Традиционно компиляторы .NET были черным ящиком для разработчиков приложений. [17] Однако с ростом сложности и требований к анализу исходного кода в современных интегрированных средах разработки компиляторам необходимо предоставлять интерфейсы прикладного программирования (API), которые помогут разработчикам напрямую выполнять фазы компиляции, такие как лексический и синтаксический структурный анализ исходного кода. Roslyn был разработан с этой целью с самого начала. Это снижает барьер при разработке инструментов, специально предназначенных для анализа исходного кода. API Roslyn бывают трех типов: API функций, API рабочего пространства и API компилятора. API функций позволяют разработчикам инструментов исходного кода выполнять рефакторинг и исправления кода. API рабочего пространства позволяют разработчикам плагинов выполнять действия, специально требуемые в интегрированных средах разработки (IDE), таких как Visual Studio , такие как поиск ссылок на переменную или форматирование кода. API компилятора позволяют выполнять еще более сложный анализ исходного кода, предоставляя прямые вызовы для выполнения анализа дерева синтаксиса и потока привязки. [18] Используя реализацию Common Language Infrastructure (CLI) с открытым исходным кодом, такую ​​как .NET Core , Roslyn сможет компилироваться платформенно-независимым образом, способным запускать код CLI в Linux , OS X и Windows . [ требуется ссылка ]

Смотрите также

Ссылки

  1. ^ "Release .NET 7.0.0". GitHub. 14 декабря 2021 г. Получено 5 мая 2022 г.
  2. ^ "C# и Visual Basic — используйте Roslyn для написания живого анализатора кода для вашего API". msdn.microsoft.com . Получено 7 января 2019 г. .
  3. ^ ab .NET Compiler Platform («Roslyn») на GitHub
  4. ^ Нил МакАллистер, Roslyn от Microsoft: переосмысление компилятора, каким мы его знаем, DEVELOPER_WORLD , 2011-10-20
  5. ^ "Fabulous adventures in coding". Об Эрике Липперте . Эрик Липперт. 29 ноября 2012 г.
  6. ^ "Наем сотрудников для Roslyn". Блог Эрика Липперта на MSDN . Эрик Липперт. 16 декабря 2010 г.
  7. ^ Muir, Pat (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы». Yakima Herald . Архивировано из оригинала 2 ноября 2014 г. Получено 1 ноября 2014 г.
  8. Microsoft "Roslyn" CTP Архивировано 18 апреля 2012 г. на Wayback Machine , Центр загрузки Microsoft
  9. ^ Microsoft "Roslyn" CTP, Центр загрузки Microsoft
  10. ^ Что нового в Microsoft "Roslyn" CTP за сентябрь 2012 г., форумы Visual Studio vNext
  11. ^ Известные ограничения и нереализованные возможности языка, форумы Visual Studio vNext
  12. ^ .NET Foundation – Фонд открытого исходного кода для сообщества .NET
  13. ^ "Основные моменты второго доклада Build 2014". InfoQ . Получено 26 декабря 2021 г. .
  14. ^ Microsoft Roslyn против CodeDom
  15. ^ Visual Studio 2015 RTM, 2015-07-20
  16. ^ Мы переезжаем на GitHub! Архивировано 1 декабря 2015 г. в Wayback Machine , блог MSDN VBTeam, 10 января 2015 г.
  17. ^ "Белая книга: Обзор проекта Roslyn". Microsoft .
  18. ^ Обзор Roslyn из документации GitHub

Дальнейшее чтение

Внешние ссылки