6 October 2011

Roslyn Project — compiler as a service

.NETC#
Не так давно в рамках конференции Build был доклад «Future directions for C# and Visual Basic» от Anders Hejlsberg, в котором анонсировался Roslyn Project. Сейчас об этой разработке известно не так много, но я постараюсь осветить наиболее интересные моменты, имеющиеся на данный момент.

В настоящее время компиляторы C# и Visual Basic представляют из себя чёрный ящик — они берут исходный высокоуровневый код и выдают нам готовый IL-код. Roslyn Project представляет из себя compiler as a service, т.е. компилятор, предоставляющий разработчику API, позволяющее добираться до его внутренних данных. Теперь можно анализировать код и принимать участие в компиляции — проводить модификацию исходного кода, создавать дополнительную функциональность для C# и VB.


Среди прочего Roslyn Project предоставляет 4 вида API, на основе которых будут построены Language serivces (они указаны в скобках):
  • SyntaxTree (Formatter, Colorizer, Outlining)
  • Emit API (Edit And Continue)
  • Symbol API (Object Browser, Navigate To)
  • Binding & Flow Analysis API (Go To Definition, Extract Method, Signature Help, Quick Info, Rename, Find All References, Completion List)


Во время доклада была показана ещё одна интересная функциональность проекта — это Copy Paste C#-кода в VB.NET и обратно.

На текущий момент Roslyn Project ещё не выпущен, но CTP (Community Technology Preview) можно будет посмотреть недели через две, а полноценно он выйдет в свет вместе с C# vNext (версия C#, которая будет после C# 5.0) и войдёт в Visual Studio.
Tags:.netBUILDcompiler as a serviceroslyn project
Hubs: .NET C#
+23
3.3k 17
Comments 8
Popular right now
Профессия Project Manager
December 2, 202098,000 ₽Нетология
C++ Developer. Professional
December 28, 202060,000 ₽OTUS
Рефакторинг кода .NET
December 7, 202030,200 ₽Luxoft Training
Программирование на языке C (Си)
December 14, 202022,990 ₽Специалист.ру