Использование деревьев выражений .Net для создания транслятора на языке C#

Открытая лекция CS центра

Лектор: Алексей Садомов

О лекторе: Разработчик, архитектор и партнер финской компании Ned Software Consulting Oy. Занимается разработкой веб-приложений в стеке .Net и на платформе Sharepoint. Microsot MVP с 2011 года, к.ф.-м.н.

Аннотация лекции: В лекции рассказано как с помощью деревьев выражений можно создать транслятор, преобразующий код C# в другой язык. Показаны способы создания деревьев выражений, их синтаксический анализ, а также компиляция и исполнение кода. В качестве примера использована библиотека с открытым исходным кодом Camlex, которая использует деревья выражений для трансляции исходного кода в виде лямбда-выражений на языке C# в язык запросов CAML, используемый в платформе Sharepoint. Также освещен обратный процесс преобразования CAML в C# с помощью построения деревьев выражений и кодогенерации. Слушателям желательно иметь в арсенале базовые знания .Net и C#.