Engineering a Compiler, Second Edition
Engineering a Compiler — классический учебник по теории и практике построения компиляторов, написанный Кейтом Купером и Линдой Торцон из Университета Райса. Книга охватывает весь жизненный цикл компилятора: от лексического анализа и синтаксического разбора до генерации кода и оптимизации. Второе издание отличается более регулярной и последовательной структурой, дополнено учебными материалами — контрольными вопросами, примерами, врезками и заметками на полях.
Особое внимание уделено оптимизации кода — сигнатурной сильной стороне книги. Авторы подробно разбирают промежуточные представления, включая форму статического единственного присваивания (SSA), анализ потока данных, распределение регистров и планирование инструкций. По отзывам рецензентов, книга содержит лучшее введение в SSA-форму.
Издание включает обширные технические обновления: материал о нетрадиционных языках, реальных компиляторах (LISP, FORTRAN и др.) и нестандартных применениях компиляторных технологий. Теоретические концепции подкреплены практическими примерами из существующих компиляторов.
Книга сочетает исторический обзор с практическим взглядом разработчика на создание компиляторов, охватывая как вводные, так и продвинутые темы — распределение ресурсов и оптимизацию. Рекомендуется студентам компьютерных специальностей и профессионалам, занимающимся разработкой компиляторов.
