В этой книге мы вместе создадим язык программирования. Мы начнем с нуля строк кода и придем к полноценному интерпретатору для языка программирования "Monkey". Пошагово. От токенов до результата. Весь код будет показан и включен. Полностью протестирован.
Купите эту книгу, чтобы узнать:
Как создать интерпретатор для языка программирования, похожего на C, с нуля
Что такое лексер, парсер и абстрактное синтаксическое дерево (AST) и как создать свои собственные
Что такое замыкания и как они работают и почему
Что представляют собой метод разбора Парсинга по Пратту и парсер рекурсивного спуска
О чем говорят другие, когда говорят о встроенных структурах данных
Что означает аббревиатура REPL и как построить такой интерфейс
Почему эта книга?
Это книга, которую я хотел бы иметь год назад. Это книга, которую я не мог найти. Я написал эту книгу для вас и для себя.
Так почему же вам стоит ее купить? Чем она отличается от другой литературы по интерпретаторам или компиляторам?
Работающий код - в фокусе. Код не просто приложен в конце. Код - главный объект внимания этой книги.
Она небольшая! В ней около 250 страниц, большая часть которых - это читаемый, с подсветкой синтаксиса, работающий код.
Представленный в книге код легко понять, расширить и поддерживать.
Без сторонних библиотек! Вас не оставят с вопросом: "Но как инструмент X это делает?" Мы не будем использовать инструмент X. Мы используем только стандартную библиотеку Go и пишем все сами.
Тесты! Интерпретатор, который мы строим в книге, полностью протестирован! Иногда в стиле TDD, иногда тесты пишутся после. Вы можете легко запустить тесты, чтобы экспериментировать с интерпретатором и вносить изменения.
Эта книга для вас, если вы…
учитесь, создавая, и любите заглядывать под капот
обожаете программирование и программировать ради учебы и удовольствия!
интересуетесь, как работает ваш любимый интерпретируемый язык программирования
никогда не проходили курс по компиляторам в университете
хотите начать работать с интерпретаторами или компиляторами…
… но не хотите начинать с теоретически насыщенной, 800-страничной книги по компиляторам весом в 4 фунта как начинающий
всегда кричали "покажите мне код!", читая о интерпретаторах и компиляторах
всегда хотели сказать: "Черт возьми, я создал язык программирования!"
Посмотреть больше
Комментарии
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Семантика языков программирования. Как языки программирования работают под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А как насчет разницы между функциональным и императивным программированием?
Фундаментальный курс, основанный на одноименной книге от профессоров MIT рассказывает об абстракции данных и кода, рекурсии, состоянии и метаязыковой абстракции. Первая часть соответствует первому разделу книги.
В современных реализациях компиляторов стало популярным преобразовывать один высокоуровневый язык в другой. Примеры включают транспиляцию новых версий JavaScript в более старые или преобразование TypeScript в JavaScript. Такие компиляторы называются транспайлерами, и именно им посвящён этот курс.