stringtranslate.com

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

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

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

Функции

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

История

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

Microsoft сделала предварительную версию технологии сообщества (CTP) доступной для публичной загрузки в октябре 2011 года. Она была установлена ​​как расширение 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 версии 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. ^ «Выпуск .NET 7.0.0». Гитхаб. 14 декабря 2021 г. . Проверено 5 мая 2022 г.
  2. ^ «C# и Visual Basic — используйте Roslyn для написания живого анализатора кода для вашего API» . msdn.microsoft.com . Проверено 7 января 2019 г.
  3. ^ ab Платформа компилятора .NET («Roslyn») на GitHub
  4. ^ Нил Макаллистер, Рослин из Microsoft: заново изобретая компилятор, каким мы его знаем, DEVELOPER_WORLD , 20 октября 2011 г.
  5. ^ «Сказочные приключения в программировании». Об Эрике Липперте . Эрик Липперт. 29 ноября 2012 г.
  6. ^ «Найм для Рослин». Блог Эрика Липперта MSDN . Эрик Липперт. 16 декабря 2010 г.
  7. Мьюир, Пэт (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы». Якима Вестник . Архивировано из оригинала 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» . ИнфоQ . Проверено 26 декабря 2021 г.
  14. ^ Microsoft Roslyn против CodeDom
  15. ^ Visual Studio 2015 RTM, 20 июля 2015 г.
  16. ^ Мы переезжаем на GitHub! Архивировано 1 декабря 2015 г. в Wayback Machine , блог MSDN VBTeam, 10 января 2015 г.
  17. ^ «Информационный документ: Обзор проекта Рослин» . Майкрософт .
  18. ^ Обзор Roslyn из документации GitHub.

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

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