2-е изд.: пер. с англ. — М.: Вильямс, 2008. — 1184 с. — ISBN
978-5-8459-1349-4.
Эта книга начинается с изложения основных принципов разработки
компиляторов, включая детальное рассмотрение лексического и
синтаксического анализа и генерации кода. Особенностью данного
издания является широкое освещение вопросов оптимизации кода, в том
числе для работы в многопроцессорных системах.
Строгость изложения материала смягчается большим количеством практических примеров. Написание компиляторов охватывает такие области знаний, как языки программирования, архитектура вычислительных систем, теория языков, алгоритмы и технология создания программного обеспечения. Помочь в освоении этих технологий и соответствующего инструментария и призвана данная книга. Несмотря на её учебную ориентацию — в первую очередь, она предназначена для студентов и преподавателей соответствующих специальностей — книга будет полезна всем, кто работает над созданием компиляторов или просто интересуется данной темой. Введение в компиляцию
Простой синтаксически управляемый транслятор
Лексический анализ
Синтаксический анализ
Синтаксически управляемая трансляция
Генерация промежуточного кода
Среды времени выполнения
Генерация кода
Машинно-независимые оптимизации
Параллелизм на уровне команд
Оптимизация параллелизма и локальности
Межпроцедурный анализ
Приложение А. Завершённый пример начальной стадии компилятора
Приложение Б. Поиск линейно независимых решений
Строгость изложения материала смягчается большим количеством практических примеров. Написание компиляторов охватывает такие области знаний, как языки программирования, архитектура вычислительных систем, теория языков, алгоритмы и технология создания программного обеспечения. Помочь в освоении этих технологий и соответствующего инструментария и призвана данная книга. Несмотря на её учебную ориентацию — в первую очередь, она предназначена для студентов и преподавателей соответствующих специальностей — книга будет полезна всем, кто работает над созданием компиляторов или просто интересуется данной темой. Введение в компиляцию
Простой синтаксически управляемый транслятор
Лексический анализ
Синтаксический анализ
Синтаксически управляемая трансляция
Генерация промежуточного кода
Среды времени выполнения
Генерация кода
Машинно-независимые оптимизации
Параллелизм на уровне команд
Оптимизация параллелизма и локальности
Межпроцедурный анализ
Приложение А. Завершённый пример начальной стадии компилятора
Приложение Б. Поиск линейно независимых решений