Pull to refresh

Roslyn Project — compiler as a service

.NET *C# *
Не так давно в рамках конференции 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:
Hubs:
Total votes 33: ↑28 and ↓5 +23
Views 3.4K
Comments Comments 8