Ведутся технические работы. Это может временно повлиять на скорость работы сайта. Приносим извинения за неудобства и благодарим за ваше понимание!
Использование деревьев выражений .Net для создания транслятора на языке C#
Открытая лекция CS центра
Лектор: Алексей Садомов
О лекторе: Разработчик, архитектор и партнер финской компании Ned Software Consulting Oy. Занимается разработкой веб-приложений в стеке .Net и на платформе Sharepoint. Microsot MVP с 2011 года, к.ф.-м.н.
Аннотация лекции: В лекции рассказано как с помощью деревьев выражений можно создать транслятор, преобразующий код C# в другой язык. Показаны способы создания деревьев выражений, их синтаксический анализ, а также компиляция и исполнение кода. В качестве примера использована библиотека с открытым исходным кодом Camlex, которая использует деревья выражений для трансляции исходного кода в виде лямбда-выражений на языке C# в язык запросов CAML, используемый в платформе Sharepoint. Также освещен обратный процесс преобразования CAML в C# с помощью построения деревьев выражений и кодогенерации. Слушателям желательно иметь в арсенале базовые знания .Net и C#.
( ! ) Warning: Invalid argument supplied for foreach() in /home/domains/malitikov.ru/public_html/wp-content/themes/malitikov/single.php on line 44
( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /home/domains/malitikov.ru/public_html/wp-includes/class-wpdb.php on line 2322
wpdb->get_col( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ', $x = ??? )
.../class-wp-query.php:3300
9
0.4988
22756080
wpdb->query( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ' )
.../class-wpdb.php:3107
10
3.2036
552104328
mysqli_fetch_object( $result = class mysqli_result { public $current_field = 0; public $field_count = 1; public $lengths = [0 => 7]; public $num_rows = 1516847; public $type = 0 } )