Writing a C Compiler: Build a Real Programming Language from Scratch
Эта книга проведет вас шаг за шагом через процесс создания собственного компилятора для значительного подмножества языка C. Вам не потребуется предварительный опыт в разработке компиляторов или ассемблере. После создания рабочего компилятора для простейшей программы на C вы будете добавлять новые возможности глава за главой. Алгоритмы в книге представлены в виде псевдокода, поэтому вы можете реализовать компилятор на любом удобном языке программирования.
Вы узнаете, как писать лексер и рекурсивный нисходящий парсер для преобразования кода C в абстрактное синтаксическое дерево. Затем вы научитесь генерировать код x64 для таких конструкций, как арифметические операции, вызовы функций и операторы управления потоком. Книга также охватывает методы оптимизации, включая свертку констант, удаление мертвого кода и распределение регистров.
Автор, Нора Сандлер, — инженер-программист из Сиэтла, имеющая степень бакалавра в области компьютерных наук Чикагского университета. Она исследовала реализацию языков параллельного программирования и работала над предметно-ориентированными языками в компании по обеспечению безопасности конечных точек. Ее блог о компиляторах и других темах информатики доступен по адресу https://norasandler.com.










