LLVM: инфраструктура для разработки компиляторов

Bibliographic Details
Main Author: Бруно К. Л.
Other Authors: Рафаэль А.
Summary:LLVM – новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем познакомит с архитектурой LLVM и особенностями работы всех компонентов компилятора: анализатора исходных текстов, генератора кода промежуточного представления, генератора выполняемого кода, механизма JIT-компиляции, возможностями кросскомпиляции и интерфейсом расширений. На множестве наглядных примеров и фрагментов исходного кода книга поможет вам войти в мир разработки компиляторов на основе LLVM. Издание предназначено энтузиастам, студентам, а также разработчикам компиляторов, интересующимся LLVM. Читатели должны знать язык программирования C++ и, желательно, иметь некоторые представления о теории компиляции.
Книга из коллекции ДМК Пресс - Информатика
Published: Москва, ДМК Пресс, 2015
Subjects:
Online Access:https://e.lanbook.com/book/90119
https://e.lanbook.com/img/cover/book/90119.jpg
Format: Electronic Book

MARC

LEADER 00000nam0a2200000 i 4500
001 90119
010 |a 978-5-97060-305-5 
100 |a 20250516d2015 k y0rusy01020304ca 
101 0 |a rus 
102 |a RU 
105 |a y z 000zy 
106 |a z 
200 1 |a LLVM: инфраструктура для разработки компиляторов  |b Электронный ресурс  |f Бруно К. Л.,Рафаэль А. 
210 |a Москва  |b Москва  |c ДМК Пресс  |d 2015 
215 |a 342 с. 
330 |a LLVM – новейший фреймворк для разработки компиляторов. Благодаря простоте расширения и организации в виде множества библиотек, LLVM легко поддается освоению даже начинающими программистами, вопреки устоявшемуся мнению о сложности разработки компиляторов. Сначала эта книга покажет, как настроить, собрать и установить библиотеки, инструменты и внешние проекты LLVM. Затем познакомит с архитектурой LLVM и особенностями работы всех компонентов компилятора: анализатора исходных текстов, генератора кода промежуточного представления, генератора выполняемого кода, механизма JIT-компиляции, возможностями кросскомпиляции и интерфейсом расширений. На множестве наглядных примеров и фрагментов исходного кода книга поможет вам войти в мир разработки компиляторов на основе LLVM. Издание предназначено энтузиастам, студентам, а также разработчикам компиляторов, интересующимся LLVM. Читатели должны знать язык программирования C++ и, желательно, иметь некоторые представления о теории компиляции.  
333 |a Книга из коллекции ДМК Пресс - Информатика 
610 0 |a сборка и установка llvm 
610 0 |a порядок нумерации версий llvm 
610 0 |a установка скомпилированных пакетов llvm 
610 0 |a установка с использованием диспетчера пакетов 
610 0 |a сборка из исходных текстов 
610 0 |a системные требования 
610 0 |a получение исходных текстов 
610 0 |a windows и microsoft visual studio 
610 0 |a mac os x и xcode 
610 0 |a внешние проекты 
610 0 |a сборка и установка дополнительных инструментов clang 
610 0 |a compiler-rt 
610 0 |a compiler-rt в действии 
610 0 |a расширение dragonegg 
610 0 |a сборка dragonegg 
610 0 |a конвейер компиляции 
610 0 |a пакет тестов llvm 
610 0 |a использование lldb 
610 0 |a стандартная библиотека libc++ 
610 0 |a основные принципы организации llvm 
610 0 |a llvm сегодня 
610 0 |a взаимодействие с драйвером компилятора 
610 0 |a использование автономных инструментов 
610 0 |a внутренняя организация llvm 
610 0 |a основные библиотеки llvm 
610 0 |a приемы программирования на c++ в llvm 
610 0 |a эффективные приемы программирования на c++ в llvm 
610 0 |a демонстрация расширяемого интерфейса проходов 
610 0 |a реализация первого собственного проекта llvm 
610 0 |a makefile 
610 0 |a общие советы по навигации в исходных текстах llvm 
610 0 |a читайте код как документацию 
610 0 |a знакомьтесь с обновлениями 
610 0 |a обращайтесь за помощью к сообществу 
610 0 |a введение в clang 
610 0 |a анализатор исходного кода 
610 0 |a работа анализатора исходного кода 
610 0 |a библиотеки 
610 0 |a диагностика в clang 
610 0 |a лексический анализ 
610 0 |a этапы работы анализатора clang 
610 0 |a синтаксический анализ 
610 0 |a семантический анализ 
610 0 |a промежуточное представление llvm 
610 0 |a зависимость llvm ir от целевой архитектуры 
610 0 |a основные инструменты для работы с форматами ir 
610 0 |a введение в синтаксис языка llvm ir 
610 0 |a представление llvm ir в памяти 
610 0 |a реализация собственного генератора llvm ir 
610 0 |a сборка и запуск генератора ir 
610 0 |a к как генерировать любые конструкции ir с использованием генератора кода c++ 
610 0 |a оптимизации времени компиляции и времени компоновки 
610 0 |a оптимизация на уровне ir 
610 0 |a определение проходов 
610 0 |a зависимости между проходами 
610 0 |a прикладной интерфейс проходов 
610 0 |a реализация собственного прохода 
610 0 |a генератор выполняемого кода 
610 0 |a инструменты генераторов кода 
610 0 |a структура генератора кода 
610 0 |a библиотеки генераторов кода 
610 0 |a язык tablegen 
610 0 |a использование файлов .td с генераторами кода 
610 0 |a этап выбора инструкций 
610 0 |a класс selectiondag 
610 0 |a упрощение 
610 0 |a объединение dag и легализация 
610 0 |a выбор инструкций с преобразованием dag-to-dag 
610 0 |a визуализация процесса выбора инструкций 
610 0 |a быстрый выбор инструкций 
610 0 |a маршруты инструкций 
610 0 |a планирование инструкций 
610 0 |a единицы планирования 
610 0 |a машинные инструкции 
610 0 |a определение опасностей 
610 0 |a распределение регистров 
610 0 |a объединение регистров 
610 0 |a замена виртуальных регистров 
610 0 |a архитектурно-зависимые обработчики 
610 0 |a пролог и эпилог 
610 0 |a индексы кадров стека 
610 0 |a инфраструктура машинного кода 
610 0 |a инструкции mc 
610 0 |a эмиссия кода 
610 0 |a реализация собственного прохода для генератора кода 
700 1 |a Бруно  |b К. Л. 
701 1 |a Рафаэль  |b А. 
801 1 |a RU  |b Издательство Лань  |c 20250516  |g RCR 
856 4 |u https://e.lanbook.com/book/90119 
856 4 1 |u https://e.lanbook.com/img/cover/book/90119.jpg 
953 |a https://e.lanbook.com/img/cover/book/90119.jpg