Writing A Compiler In Go
Эта книга представляет собой практическое руководство по созданию компилятора и виртуальной машины с нуля на языке программирования Go. Автор проводит читателя через все этапы разработки интерпретатора для языка Monkey, начиная с базовых концепций компиляции и виртуальных машин.
Вы изучите, как работают компиляторы: от лексического анализа и парсинга до генерации байт-кода и его исполнения. Книга начинается с объяснения фундаментальных понятий — что такое компиляторы, виртуальные машины, байт-код и чем они отличаются от реальных машин. Затем вы приступите к реализации собственного интерпретатора, шаг за шагом добавляя новые возможности.
В процессе вы реализуете поддержку различных типов данных (целые числа, булевы значения, строки, массивы, хэши), операторов (арифметических, сравнения, логических), условных выражений и функций с локальными и глобальными переменными. Особое внимание уделяется работе со стеком, управлению памятью и организации символических таблиц.
Книга ориентирована на разработчиков, которые хотят глубоко понять, как работают языки программирования "под капотом". Практический подход позволяет не только изучить теорию, но и создать работающую систему, которую можно расширять и модифицировать. Примеры кода на Go делают материал доступным для программистов среднего уровня.









