Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Особенности [ править ]

Наиболее заметные основные особенности Roslyn включают в себя: [ необходима ссылка ]

  • Компиляторы для языков C # и Visual Basic .NET, предоставляемые как службы через API.
  • API для анализа кода и рефакторинга .

История [ править ]

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

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

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

На конференции Build 2014 в Сан-Франциско в апреле 2014 года Microsoft сделала проект Roslyn открытым и выпустила предварительную версию языковой интеграции для Visual Studio 2013 . По состоянию на 3 апреля 2014 г. Roslyn находится под лицензией Apache License 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] Используя реализацию Common Language Infrastructure (CLI) с открытым исходным кодом, такую ​​как .NET Core , Roslyn сможет компилировать платформенно-независимым способом, способным запускать код CLI в Linux , OS X и Windows . [ необходима цитата ] /

См. Также [ править ]

  • Список компиляторов
  • Phoenix (каркас компилятора)

Ссылки [ править ]

  1. ^ «C # и Visual Basic - используйте Roslyn для написания анализатора живого кода для вашего API» . msdn.microsoft.com . Проверено 7 января 2019 года .
  2. ^ a b Платформа компилятора .NET ("Roslyn") на GitHub
  3. ^ Нил Макаллистер, Microsoft Roslyn: переосмысление компилятора, каким мы его знаем , DEVELOPER_WORLD , 2011-10-20
  4. ^ «Сказочные приключения в кодировании» . Об Эрике Липперте . Эрик Липперт.
  5. ^ "Наем для Рослин" . Блог Эрика Липперта MSDN . Эрик Липперт. 16 декабря 2010 г.
  6. Перейти ↑ Muir, Pat (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы» . Якима Геральд . Архивировано из оригинала на 2 ноября 2014 года . Проверено 1 ноября 2014 года .
  7. ^ Microsoft "Roslyn" CTP. Архивировано 18 апреля 2012 г. на Wayback Machine в Центре загрузки Microsoft.
  8. ^ Microsoft "Roslyn" CTP , Центр загрузки Microsoft
  9. ^ Что нового в Microsoft "Roslyn" CTP за сентябрь 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

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Представляем Microsoft «Roslyn» CTP в разделе часто задаваемых вопросов по C # Блог MSDN
  • Большой выбор Roslyn в разделе часто задаваемых вопросов о C # Блог MSDN