Awesome
Это не очередной awesome-список о компиляторостроении. В будущем мы хотим получить коллективный труд, схожий по форме с известными Readings in Database Systems и Teach Yourself Logic 2020a A Study Guide. По этой причине pull requests приветствуются в формате, включающем в себя не только ссылку на источник, но и абзац-другой его описания, с указанием желаемого подраздела.
Что читать о разработке компиляторов
Литература для начинающих
- Учебники для начинающих
- Рекурсивный спуск в современных компиляторах
- Кратчайшее введение в создание компилятора (Python)
Учебные курсы
- Учебные курсы по конструированию компиляторов
- Учебные курсы по конструированию компиляторов (на русском языке)
Общие вопросы компиляции
Специальные вопросы компиляции
- Метавычисления
- Статический и динамический анализ
- Порождение целевого кода
- Среды выполнения: виртуальные машины, сборка мусора и прочее
- Тестирование и формальная верификация компиляторов
- Теория языков программирования: типы, семантика, интерпретация и прочее
- Синтез программ и супероптимизация
- ЧаВо по лексическому и синтаксическому разборам
Неотсортированное
- Sea of Nodes
- SSA без phi-узлов
- ChocoPy — язык программирования (статически типизированное подмножество Python), набор учебных курсов и сопроводительных материалов для создания (учебных) компиляторов.
- Англо-русский словарь терминов по вопросам компиляции
Полезные ссылки
- Телеграм-канал с новостями и полезными ссылками по тематике разработки языков и компиляторов PLComp.
- Телеграм-чат с обсуждением вопросов компиляции Compiler Development.
- Список компаний, которые занимаются компиляторами github.com/mgaudet/CompilerJobs.