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.

Купить этот курс за 109 рублей

Возможно Вас заинтересует

[LoftBlog] 110 Уникальных видео уроков по web разработке

Автор: LoftBlog Название: 110 Уникальных [...]

[WebPromoExperts] Онлайн-конференция SEO Day (19 октября) (2018)

Автор: WebPromoExperts Название: Онлайн-конференция SEO [...]

Профессия PHP-программист

#PHP действительно не самый сложный [...]

[Александр Приходько] Дизайн жизни 4.0. Перезагрузка

Автор: Александр Приходько Название: Дизайн [...]

[Аноним] Заработок и продвижение в СоцСетях (март 2017)

Автор: Аноним Название: Заработок и [...]

[Моргунов Евгений Павлович] PostgreSQL. Основы языка SQL. Учебное пособие (2018)

Учебно-практическое пособие охватывает первую, базовую, [...]

[Кротов] Построение сложных отчетов в 1С (2014)

Автор: Кротов Название: Построение сложных [...]

Udemy – Improve English by Movies

Что я получу от этого [...]

[OTUS] Подготовительный курс по Python разработке (2019)

Данный курс позволит вам овладеть [...]

1 Занятие

Продажи как система (2017) Михаил [...]

[Роман Карловский] Холотропное дыхание (2019)

Название: Холотропное дыхание (2019) Автор: [...]

[Джон Сонмез] Путь программиста (2016)

Любой программист – прежде всего, [...]

[Udemy] Алгоритмы и структуры данных в Javascript (Eng)

Автор: Udemy Название: Алгоритмы и [...]

YouTube Channel Art Maker – для ваших каналов YouTube

Название: YouTube Channel Art Maker [...]

bool fileIsEmpty = new FileInfo(path).Length == 0

Купить этот курс за 109 [...]

Добавить комментарий