Roslyn (компилятор) - Roslyn (compiler)
Эта статья нужны дополнительные цитаты для проверка.Июнь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Оригинальный автор (ы) | Microsoft |
---|---|
Разработчики) | .NET Foundation |
Стабильный выпуск | Visual-Studio-2019-Version-16.7.3 / 4 сентября 2020 г. |
Репозиторий | github |
Написано в | C #, Visual Basic .NET |
Операционная система | Майкрософт Виндоус, Linux |
Платформа | IA-32, x86-64 |
Тип | Компилятор |
Лицензия | Лицензия MIT |
Интернет сайт | документы |
Платформа компилятора .NET, также известный под своим ником Рослин,[1] это набор Открытый исходный код компиляторы и анализ кода API для C # и Visual Basic .NET языки из Microsoft.[2]
В частности, проект включает самостоятельный хостинг версии компиляторов C # и VB.NET - компиляторы, написанные на самих языках. Компиляторы доступны через традиционные программы командной строки, а также в виде API-интерфейсов, изначально доступных из кода .NET. Roslyn предоставляет модули для синтаксических (лексический ) анализ кода, семантический анализ, динамическая компиляция в CIL, и эмиссия кода.[3]
Функции
Наиболее заметные основные особенности Roslyn включают:[нужна цитата ]
- Компиляторы для C # и Visual Basic .NET языки, представленные в виде сервисов через API.
- API для анализ кода и рефакторинг.
История
Кодовое название «Рослин» впервые написал Эрик Липперт (бывший 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.[нужна цитата ]
Смотрите также
Рекомендации
- ^ «C # и Visual Basic - используйте Roslyn для написания анализатора живого кода для вашего API». msdn.microsoft.com. Получено 7 января, 2019.
- ^ а б Платформа компилятора .NET («Рослин») на GitHub
- ^ Нил Макаллистер, Рослин из Microsoft: новое изобретение компилятора, каким мы его знаем, DEVELOPER_WORLD, 2011-10-20
- ^ «Сказочные приключения в кодировании». Об Эрике Липперте. Эрик Липперт.
- ^ «Найм для Рослин». Блог Эрика Липперта MSDN. Эрик Липперт. 16 декабря 2010 г.
- ^ Мьюир, Пэт (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы». Якима Геральд. Архивировано из оригинал 2 ноября 2014 г.. Получено 1 ноября, 2014.
- ^ ОСАГО Microsoft "Рослин" В архиве 18 апреля 2012 г. Wayback Machine, Центр загрузки Microsoft
- ^ ОСАГО Microsoft "Рослин", Центр загрузки Microsoft
- ^ Что нового в Microsoft "Roslyn" Сентябрь 2012 ОСАГО, Форумы по Visual Studio vNext
- ^ Известные ограничения и нереализованные языковые функции, Форумы по Visual Studio vNext
- ^ .NET Foundation - Фонд с открытым исходным кодом для сообщества .NET
- ^ Visual Studio 2015 RTM, 2015-07-20
- ^ Microsoft Roslyn против CodeDom
- ^ Мы переходим на GitHub!, Блог MSDN VBTeam, 10 января 2015 г.
- ^ Обзор Roslyn из документации GitHub
внешняя ссылка
- Официальный веб-сайт
- Представляем ОСАГО Microsoft «Рослин» на C # Часто задаваемые вопросы Блог MSDN
- Большой переключатель на Рослин на C # Часто задаваемые вопросы Блог MSDN