LINUX.ORG.RU
ФорумTalks

Microsoft Roslyn CTP


0

1

Традиционно компиляторы работают по принципу «черного ящика» - на вход подается исходный код, на выходе получаем объектные файлы или сборки. Проект Roslyn изменяет эту модель, открывая API компиляторов VB и C#. API, предоставленное компиляторами позволяет инструментам и конечным пользователям получить доступ к информации о коде, имеющейся у компилятора.

Подробности

★★★★★
Ответ на: комментарий от encyrtid

При чем тут LLVM?

При вот этом:

> Традиционно компиляторы работают по принципу «черного ящика»

> открывая API компиляторов VB и C#

Микрософт снова изобрела лиспед и громко кудахтает.

tailgunner ★★★★★
()

VB и C#

а у них не JIT

доступ к информации о коде, имеющейся у компилятора.

так эт самое, она же дополняется и изменяется по мере выполнения программы, ну я так себе это представлял.

Так зачем это надо то?

RedPossum ★★★★★
()
Ответ на: комментарий от RedPossum

Так зачем это надо то?

Метапрограммирование, не?

encyrtid ★★★★★
() автор топика
Ответ на: комментарий от encyrtid

LLVM умеет динамическую кодогенерацию?

Вроде бы речь шла о революции в SE - компиляторе с программно-доступным API? А сейчас вдруг «динамическая компиляция». Сначала скажи, что именно вы с микрософт подразумеваете под «динамической кодогенерацией».

tailgunner ★★★★★
()

...и тут микрософт обнаружил в LLVM фатальный недостаток - его сделали не в Microsoft!

Обострение NIH синдрома, чо.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от tailgunner

Доступ ко всем частям процесса компиляции, например работа с синтаксическими деревьями, модификация кода на лету.

encyrtid ★★★★★
() автор топика

И каково практическое применение этого?

Ramen ★★★★
()

Пишу в удаленный тред.

Сабж.

sleepflint ★★★
()
Ответ на: комментарий от encyrtid

Сначала скажи, что именно вы с микрософт подразумеваете под «динамической кодогенерацией».

работа с синтаксическими деревьями, модификация кода на лету.

Мде. Да, работа с AST есть; «модификация кода на лету» - это что? Какой код имеется в виду - исходный, промежуточный, машинный? Что значит «модификация» - генерация или модификация существующего?

tailgunner ★★★★★
()

MS готовит компилятор для себя. В чем проблема, нерды?
И это будет не сферический llvm-c# мост, а конкретное решение, идеально встраиваемое в вижуал студию.
Если под открытой лицензией, совсем славно.

wxw ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.