Главная » Архив меток: compiler

Архив меток: compiler

Устройство компилятора Swift. Часть 4

Я покажу, как можно осуществить генерацию LLVM IR из AST и что выдаёт настоящий фронтенд. Это последняя часть моего обзора компилятора Swift. Если вы не читали предыдущие части, то переходите по ссылкам: Генератор LLVM IR преобразует SIL в промежуточное представление LLVM. Для фронтенда — это завершающий шаг. Оно передаётся в бекенд для дальнейшей оптимизации и генерации машинного кода. Пример реализации ...

Читать далее »

ld -z separate-code

30 в декабре 2018 года. Речь в этой статье пойдёт о небольшой security-фиче, добавленной в GNU ld к релизу 2. На русском языке это улучшение упоминалось на opennet с такой аннотацией: режим "-z separate-code", повышающий защищённость исполняемых файлов ценой небольшого увеличения размера и потребления памяти Чтобы объяснить, о какой проблеме безопасности идёт речь и в чём состоит решение, начнём с ...

Читать далее »

Каково делать Kotlin: интервью с Андреем Бреславом

Но остаётся куда менее освещённой другая сторона: а как вообще выглядит процесс разработки языка? Дефицита технических материалов о Kotlin нет, узнать о корутинах или nullability можно много где. Каковы задачи у «самого главного человека»? Как принимаются решения? Остаётся ли у него в жизни время на что-либо ещё? 3, мы расспросили «самого главного» Андрея Бреслава не про корутины, а про совсем ...

Читать далее »

JavaParser. Корёжим код легко и непринуждённо

В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами. Сегодня расскажу о JavaParser. JavaParser — это набор инструментов для парсинга, анализа, трансформации и генерации Java-кода. Иначе говоря, если нужно взять кусок джавакода и как-то его покорёжить подручными методами и без необходимости в особых ...

Читать далее »