Аннотация: LLVM. Инфраструктура для разработки компиляторов
LLVM (Low Level Virtual Machine, низкоуровневая виртуальная машина)- новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем вы познакомитесь с архитектурой LLVM и особенностями работы всех компонентов компилятора: анализатора исходных текстов, генератора кода промежуточного представления, генератора выполняемого кода, механизма JIT-компиляции, возможностями кросс-компиляции и интерфейсом расширений. На множестве наглядных примеров и фрагментов исходного кода книга поможет вам войти в мир разработки компиляторов на основе LLVM.
Эта книга адресована энтузиастам, студентам, изучающим информационные технологии, и разработчикам компиляторов, интересующимся фреймворком LLVM. Читатели должны знать язык программирования C++ и, желательно, некоторые представления о теории компиляции. И для начинающих, и для опытных специалистов эта книга послужит практическим введением в LLVM, не содержащим сложных сценариев. Если вас интересует данная технология, тогда эта книга определенно для вас.
Настройка, сборка и установка дополнительных открытых проектов LLVM, включая инструменты Clang, статический анализатор, Compiler-RT, LLDB, LLDB, DragonEgg, libc++ и комплект тестов для LLVM;
Архитектура библиотек LLVM и особенности взаимодействий между библиотеками и автономными инструментами.
Стадии обработки исходного программного кода и порядок выполнения лексического, синтаксического и семантического анализа анализатором исходного кода Clang.
Как создаются и обрабатываются файлы LLVM IR с промежуточным представлением, а также разработка собственных проходов анализа и трансформации IR-кода.
Создание инструментов для использования средств динамической компиляции LLVM (Just-in-Time, JIT).
Поиск ошибок и оптимизация кода с помощью статического анализатора.
Анализ архитектуры исходного кода и создание инструментов его преобразования с использованием LibClang, LibTooling и интерфейса расширений Clang.
| Автор/составитель | Кардос Лопес Бруно, Аулер Рафаэль |
| Год выпуска | 2015 |
| ISBN | 978-5-97060-305-5 |
| Производитель | ДМК-Пресс |
| Издательство | ДМК-Пресс |
| Количество томов | 1 |
| Количество страниц | 342 |
| Переплет | Мягкая обложка |
| Размеры | 205x140x19 мм |
| Цвет | Голубой |
| Тип бумаги | офсетная (60-220 г/м2) |
| Тип крепления | клеевое (КБС - клеевое бесшовное соединение) |
| Наличие иллюстраций | без иллюстраций |
| Формат | 60x88/16 (140x205 мм) |
| Стандарт | 20 |
| Вес | 356 |
| Язык | русский |

