Я создаю компилятор, предназначенный для .NET, и ранее я генерировал CIL напрямую, но создание деревьев DLR значительно облегчит мою жизнь. Я поддерживаю несколько динамических функций, а именно создание функций времени выполнения и типирование, но подавляющее большинство кода полностью статично.
Итак, теперь, когда это объяснено, у меня есть следующие вопросы:
- Использовался ли DLR для статической компиляции, кроме небольших примеров в блогах MSDN?
- Если да, то какого рода производительность была достигнута?
- Если нет, то есть что-нибудь, что в корне мешает этому?
- Существуют ли более эффективные механизмы генерации кода, чем использование DLR или прямой эмиссии IL?
Любое понимание этого или ссылки на блоги / код / переговоры будет принята с благодарностью.