Thursday, October 06, 2011

Roslyn Project — compiler as a service

Не так давно в рамках конференции 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 и обратно.

Read more: Habrahabr.ru
QR: https://chart.googleapis.com/chart?chs=80x80&cht=qr&choe=UTF-8&chl=http://habrahabr.ru/blogs/net/129833/

Posted via email from Jasper-Net