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

Алексей Садомов
Алексей Садомов
Ned Software Consulting Oy
Разработчик, архитектор и партнер финской компании Ned Software Consulting Oy. Занимается разработкой веб-приложений в стеке .Net и на платформе Sharepoint. Microsot MVP с 2011 года, к.ф.-м.н.
В лекции будет рассказано как с помощью деревьев выражений можно создать транслятор, преобразующий код C# в другой язык. Будут показаны способы создания деревьев выражений, их синтаксический анализ, а также компиляция и исполнение кода. В качестве примера будет использована библиотека с открытым исходным кодом Camlex, которая использует деревья выражений для трансляции исходного кода в виде лямбда-выражений на языке C# в язык запросов CAML, используемый в платформе Sharepoint. Также будет освещен обратный процесс преобразования CAML в C# с помощью построения деревьев выражений и кодогенерации. Слушателям желательно иметь в арсенале базовые знания .Net и C#.