Компиляторные плагины в Котлин: почувствуй себя системным программистом

Компиляторные плагины — потрясающая фича, которая позволяет нам, обычным разработчикам, почувствовать себя в шкуре системных программистов без зазубривания теории компиляции, педантичной поддержки краевых случаев разных платформ и написания собственных лексеров c парсерами. Вместо этого мы можем сразу работать с абстрактными синтаксическими деревьями (AST) или любым другим промежуточным представлением (IR) и изменять код программ или процесс компиляции под себя.

Возможность кастомизировать процесс компиляции и добавлять в него небольшие улучшения будет полезна каждому. Ярким примером является широко известный среди разработчиков Kotlin Spring плагин 'allopen'. В грядущем релизе Kotlin 2.0 писать компиляторные плагины станет еще проще, т.к. в нем вводятся новые сопособы взаимодействия, как с компиляторным фронтендом, так и бэкендом.

В докладе обсудим, почему компиляторные плагины так полезны и рассмотрим примеры компиляторов для различных языков с такой функциональностью. Кроме того, посмотрим на последние веяния и тренды в этой области с учетом приближающегося релиза Kotlin 2.0: заглянем в кишочки его компиляторного плагина и даже попробуем написать свой маленький плагин для компилятора Kotlin.




Андрей Кулешов,

Huawei


Компиляторные плагины в Котлин: почувствуй себя системным программистом
Андрей Кулешов,
Huawei
Компиляторные плагины — потрясающая фича, которая позволяет нам, обычным разработчикам, почувствовать себя в шкуре системных программистов без зазубривания теории компиляции, педантичной поддержки краевых случаев разных платформ и написания собственных лексеров c парсерами. Вместо этого мы можем сразу работать с абстрактными синтаксическими деревьями (AST) или любым другим промежуточным представлением (IR) и изменять код программ или процесс компиляции под себя.

Возможность кастомизировать процесс компиляции и добавлять в него небольшие улучшения будет полезна каждому. Ярким примером является широко известный среди разработчиков Kotlin Spring плагин 'allopen'. В грядущем релизе Kotlin 2.0 писать компиляторные плагины станет еще проще, т.к. в нем вводятся новые сопособы взаимодействия, как с компиляторным фронтендом, так и бэкендом.

В докладе обсудим, почему компиляторные плагины так полезны и рассмотрим примеры компиляторов для различных языков с такой функциональностью. Кроме того, посмотрим на последние веяния и тренды в этой области с учетом приближающегося релиза Kotlin 2.0: заглянем в кишочки его компиляторного плагина и даже попробуем написать свой маленький плагин для компилятора Kotlin.
О докладчике
О докладчике
Работал в Intel, Deutsche Bank, Huawei. Занимался разработкой в очень разных сферах: от C/C++- компиляторов до высоконагруженных торговых сервисов на Java, от Big Data-хранилищ для банковских данных до статических анализаторов и сервисов для разработчиков.

Тимлид Java/Kotlin R&D команды в Huawei.

Активный open source-энтузиаст, контрибьютор в экосистему Kotlin. Создатель библиотеки ktoml и статического анализатора diktat.

Все спикеры SnowOne
Все спикеры SnowOne
Показать ещё
Партнёры SnowOne