Комментарии 8
Не сочтите за грубость, но думается мне, что никто не будет отправлять PR в репозиторий, в котором даже README не предусмотрено,,,
Я свои PR-ы разгребать не успеваю :)
С одной стороны - нет многих деталей (SSA в IR, оптимизации на уровне IR и машинного кода и т.д.), с другой - так коротенько изложить процесс компиляции надо суметь! Вопрос насколько оно понятно тем, кто в потроха компилятора никогда не заглядывал (это же целевая аудитория?).
Спасибо! Может быть, если руки дойдут, напишу серию статей подробно про каждый этап
Для человека, который знает только про лексинг/парсинг и ассемблер (т.е. для меня =) ), добавилось несколько промежуточных шагов: AST, IR, 3AC.
Интересно и теперь захотелось подробностей)
Написал вторую часть – https://habr.com/ru/articles/890344/
Какая-то странная и нелепая статья. С одной стороны, описана внутренняя кухня какого-то гипотетического компилятора, хотя нет никаких фундаментальных законов и ограничений, предписывающих все существующие в мире компиляторы использовать именно такой подход с такими уровнями/слоями /стадиями и такой терминологией.
С другой стороны — ни слова об объектных файлах, о форматах ELF, COFF и (забыл, как называется борландовский формат).
Ни слова о линковке, манглинге имён, COMDAT folding, PGO, LTCG, технологии Lego/BBT, которую раньше применяли в недрах Microsoft.
Путь от Кода до Бинарного Файла