Рослин (компилятор)
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2016 г. ) |
![]() | |
Оригинальный автор(ы) | Майкрософт |
---|---|
Разработчик(и) | .NET Foundation и сообщество открытого исходного кода |
Стабильная версия | .NET 7.0.0 / 8 ноября 2022 г [1] |
Репозиторий | github |
Написано в | С# , Визуальный Бейсик |
Операционная система | Windows , Linux и MacOS |
Платформа | ИА-32 , x86-64 |
Тип | Компилятор |
Лицензия | МОЯ лицензия |
Веб-сайт | учиться |
Платформа компилятора .NET , также известная под кодовым названием Roslyn , [2] — это набор с открытым исходным кодом компиляторов и анализа кода API для C# и Visual Basic языков (VB.NET) от Microsoft . [3]
В частности, проект включает в себя автономные версии компиляторов C# и VB.NET — компиляторы, написанные на самих языках. Компиляторы доступны через традиционные программы командной строки, а также в виде API-интерфейсов, доступных непосредственно из кода .NET. Roslyn предоставляет модули для синтаксического ( лексического ) анализа кода, семантического анализа, динамической компиляции в CIL и генерации кода. [4]
Функции
[ редактировать ]Особенности Рослин включают в себя:
- Компиляторы для языков C# и Visual Basic, предоставляемые как службы через API.
- API для кода анализа и рефакторинга . [ нужна ссылка ]
История
[ редактировать ]Кодовое имя «Рослин» было впервые написано Эриком Липпертом (бывшим 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 г. [update], Рослин пользуется лицензией Apache 2.0. [3] Проект был фактически передан под управление недавно основанного .NET Foundation. [12] На той же конференции Xamarin объявила, что работает над интеграцией новых компиляторов и инструментов в Xamarin Studio . [13]
В этом выпуске компиляторы не были полнофункциональными. Каждый из компиляторов содержит функции, запланированные для следующих языковых версий (C# 6 и Visual Basic.NET 14). API также доступны через менеджер пакетов NuGet . [ нужна ссылка ]
По состоянию на 2013 год [update]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] (CLI) с открытым исходным кодом, Используя реализацию Common Language Infrastructure такую как .NET Core , Roslyn сможет компилировать независимо от платформы способ запуска кода CLI в Linux , OS X и Windows . [ нужна ссылка ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск .NET 7.0.0» . Гитхаб. 14 декабря 2021 г. . Проверено 5 мая 2022 г.
- ^ «C# и Visual Basic — используйте Roslyn для написания анализатора живого кода для вашего API» . msdn.microsoft.com . Проверено 7 января 2019 г.
- ^ Jump up to: а б Платформа компилятора .NET («Roslyn») на GitHub
- ^ Нил Макаллистер, Рослин из Microsoft: заново изобретая компилятор, каким мы его знаем , DEVELOPER_WORLD , 20 октября 2011 г.
- ^ «Сказочные приключения в программировании» . Об Эрике Липперте . Эрик Липперт. 29 ноября 2012 г.
- ^ «Найм сотрудников для Рослин» . Блог Эрика Липперта MSDN . Эрик Липперт. 16 декабря 2010 г.
- ^ Мьюир, Пэт (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы» . Якима Вестник . Архивировано из оригинала 2 ноября 2014 года . Проверено 1 ноября 2014 г.
- ^ Microsoft "Roslyn" CTP. Архивировано 18 апреля 2012 г., в Wayback Machine , Центр загрузки Microsoft.
- ^ Microsoft "Roslyn" CTP , Центр загрузки Microsoft
- ^ Что нового в Microsoft Roslyn CTP, сентябрь 2012 г. , форумы Visual Studio vNext
- ^ Известные ограничения и нереализованные возможности языка , Форумы Visual Studio vNext
- ^ .NET Foundation - Фонд открытого исходного кода для сообщества .NET.
- ^ «Основные моменты второго выступления Build 2014» . ИнфоQ . Проверено 26 декабря 2021 г.
- ^ Microsoft Roslyn против CodeDom
- ^ Visual Studio 2015 RTM , 20 июля 2015 г.
- ^ Мы переезжаем на GitHub! Архивировано 1 декабря 2015 г. в Wayback Machine , блог MSDN VBTeam, 10 января 2015 г.
- ^ «Информационный документ: Обзор проекта Roslyn» . Майкрософт .
- ^ Обзор Roslyn из документации GitHub.
Дальнейшее чтение
[ редактировать ]- Васани, Маниш (2017). Поваренная книга Рослин: компилятор как услуга, анализ кода, качество кода и многое другое . Пакт Паблишинг. ISBN 978-1787286832 .
- Харрисон, Ник (2017). Генерация кода с помощью Roslyn . Апресс. ISBN 978-1484222102 .
- Мукерджи, Судипта (2017). Аналитика исходного кода с помощью Roslyn и визуализация данных JavaScript . Апресс. ISBN 978-1484219249 .
Внешние ссылки
[ редактировать ]
- Официальный сайт
- Представляем Microsoft Roslyn CTP в блоге C# Часто задаваемые вопросы MSDN
- Переключение на Рослин в часто задаваемые вопросы по C# блоге MSDN: