Roslyn (компилятор) - Roslyn (compiler)

Платформа компилятора .NET (Roslyn)
Оригинальный автор (ы)Microsoft
Разработчики).NET Foundation
Стабильный выпуск
Visual-Studio-2019-Version-16.7.3 / 4 сентября 2020 г.; 3 месяца назад (2020-09-04)
Репозиторийgithub.com/ dotnet/ roslyn
Написано вC #, Visual Basic .NET
Операционная системаМайкрософт Виндоус, Linux
ПлатформаIA-32, x86-64
ТипКомпилятор
ЛицензияЛицензия MIT
Интернет сайтдокументы.microsoft.com/ en-us/ dotnet/ csharp/ roslyn-sdk/

Платформа компилятора .NET, также известный под своим ником Рослин,[1] это набор Открытый исходный код компиляторы и анализ кода API для C # и Visual Basic .NET языки из Microsoft.[2]

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

Функции

Наиболее заметные основные особенности Roslyn включают:[нужна цитата ]

История

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

Microsoft сделала Предварительный просмотр технологии сообщества (CTP) доступен для публичной загрузки в октябре 2011 года. Он установлен как расширение для Visual Studio 2010 SP1.[7]

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

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

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

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

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

Архитектура

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

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

Рекомендации

  1. ^ «C # и Visual Basic - используйте Roslyn для написания анализатора живого кода для вашего API». msdn.microsoft.com. Получено 7 января, 2019.
  2. ^ а б Платформа компилятора .NET («Рослин») на GitHub
  3. ^ Нил Макаллистер, Рослин из Microsoft: новое изобретение компилятора, каким мы его знаем, DEVELOPER_WORLD, 2011-10-20
  4. ^ «Сказочные приключения в кодировании». Об Эрике Липперте. Эрик Липперт.
  5. ^ «Найм для Рослин». Блог Эрика Липперта MSDN. Эрик Липперт. 16 декабря 2010 г.
  6. ^ Мьюир, Пэт (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы». Якима Геральд. Архивировано из оригинал 2 ноября 2014 г.. Получено 1 ноября, 2014.
  7. ^ ОСАГО Microsoft "Рослин" В архиве 18 апреля 2012 г. Wayback Machine, Центр загрузки Microsoft
  8. ^ ОСАГО Microsoft "Рослин", Центр загрузки Microsoft
  9. ^ Что нового в Microsoft "Roslyn" Сентябрь 2012 ОСАГО, Форумы по Visual Studio vNext
  10. ^ Известные ограничения и нереализованные языковые функции, Форумы по Visual Studio vNext
  11. ^ .NET Foundation - Фонд с открытым исходным кодом для сообщества .NET
  12. ^ Visual Studio 2015 RTM, 2015-07-20
  13. ^ Microsoft Roslyn против CodeDom
  14. ^ Мы переходим на GitHub!, Блог MSDN VBTeam, 10 января 2015 г.
  15. ^ Обзор Roslyn из документации GitHub

внешняя ссылка