CourseHunter
  • Категории
    • Frontend logo Frontend
      • Angular logo Angular
      • HTML logo HTML
      • CSS logo CSS
      • JavaScript logo JavaScript
      • Vue logo Vue
      • jQuery logo jQuery
      • React logo React
      • AngularJS logo AngularJS
      • Backbone logo Backbone
      • TypeScript logo TypeScript
      • Ember logo Ember
      • Next.js logo Next.js
      • Elm logo Elm
      • Svelte logo Svelte
      • Single SPA logo Single SPA
      • Three.js logo Three.js
      • D3.js logo D3.js
      • RxJS logo RxJS
      • WebGL logo WebGL
      • barba.js logo barba.js
    • Backend logo Backend
      • PHP logo PHP
      • Python logo Python
      • Ruby on Rails logo Ruby on Rails
      • Yii logo Yii
      • Laravel logo Laravel
      • SQL logo SQL
      • Ruby logo Ruby
      • Symfony logo Symfony
      • Java logo Java
      • Scala logo Scala
      • Node.js logo Node.js
      • MongoDB logo MongoDB
      • Golang (Google Go) logo Golang (Google Go)
      • Slim logo Slim
      • Silex logo Silex
      • Firebase logo Firebase
      • C Sharp (C#) logo C Sharp (C#)
      • Deno logo Deno
      • Redis logo Redis
      • Django logo Django
      • NestJS logo NestJS
      • Spring logo Spring
      • Spring Boot logo Spring Boot
      • Spring Data logo Spring Data
      • Spring Cloud logo Spring Cloud
      • Spring Security logo Spring Security
      • Spring Integration logo Spring Integration
      • Spring HATEOAS logo Spring HATEOAS
      • Spring MVC logo Spring MVC
      • Elixir logo Elixir
      • Phoenix logo Phoenix
    • System programming logo System programming
      • Rust logo Rust
      • WebAssembly logo WebAssembly
      • C++ logo C++
    • Marketing logo Marketing
      • SEO logo SEO
    • Video and 3D logo Video and 3D
      • Blender logo Blender
      • Cinema 4D logo Cinema 4D
      • ZBrush logo ZBrush
    • Graphic logo Graphic
      • Figma logo Figma
      • Sketch logo Sketch
      • Photoshop logo Photoshop
      • After Effects logo After Effects
      • Illustrator  logo Illustrator
      • Adobe XD logo Adobe XD
      • Lightroom logo Lightroom
      • CorelDRAW logo CorelDRAW
    • DevOps logo DevOps
      • AWS logo AWS
      • Azure logo Azure
      • Docker logo Docker
      • Git logo Git
      • GitHub logo GitHub
      • Gitlab logo Gitlab
      • Google Cloud logo Google Cloud
      • Grafana logo Grafana
      • Kubernetes logo Kubernetes
      • Jenkins logo Jenkins
      • Terraform logo Terraform
      • Другое logo Другое
    • Tools logo Tools
      • GraphQL logo GraphQL
      • Flux logo Flux
      • Webpack logo Webpack
      • Ansible logo Ansible
      • Gulp logo Gulp
      • Grunt logo Grunt
      • Visual Studio Code logo Visual Studio Code
      • VIM logo VIM
      • OpenCV logo OpenCV
      • Salt logo Salt
      • SVN logo SVN
      • Atom logo Atom
      • Elasticsearch logo Elasticsearch
      • Сборки, готовые решения logo Сборки, готовые решения
      • Electron logo Electron
      • Chrome DevTools logo Chrome DevTools
      • Yarn logo Yarn
      • Babel logo Babel
      • Grep logo Grep
      • npm logo npm
      • Vite logo Vite
      • Gatsby logo Gatsby
      • PhpStorm logo PhpStorm
      • Webflow logo Webflow
      • Hibernate logo Hibernate
      • Socket.io logo Socket.io
      • Bash logo Bash
    • Разработка мобильных приложений logo Разработка мобильных приложений
      • React Native logo React Native
      • Ionic logo Ionic
      • Swift logo Swift
      • Progressive Web App (PWA) logo Progressive Web App (PWA)
      • Core Data logo Core Data
      • Xamarin logo Xamarin
      • NativeScript logo NativeScript
      • Dart и Flutter logo Dart и Flutter
    • Gamedev logo Gamedev
      • Unreal Engine logo Unreal Engine
      • Unity logo Unity
    • CMS logo CMS
      • Wordpress logo Wordpress
      • OpenCart logo OpenCart
      • Drupal logo Drupal
      • Joomla logo Joomla
      • 1C-Bitrix logo 1C-Bitrix
      • MODX logo MODX
      • Magento logo Magento
      • Shopify logo Shopify
    • Blockchain logo Blockchain
      • Криптовалюты logo Криптовалюты
      •  Decentralized Applications (dApps) (Web 3) logo Decentralized Applications (dApps) (Web 3)
    • Тестирование logo Тестирование
      • Postman logo Postman
      • Selenium logo Selenium
      • Appium logo Appium
      • Protractor logo Protractor
      • WebdriverIO logo WebdriverIO
      • Cypress logo Cypress
      • Playwright logo Playwright
    • Другое logo Другое
      • Linux logo Linux
      • WebRTC logo WebRTC
      • OpenGL Shading Language (GLSL) logo OpenGL Shading Language (GLSL)
    • Подготовка к собеседованию logo Подготовка к собеседованию
    • Обработка и анализ данных logo Обработка и анализ данных
    • Информационная безопасность logo Информационная безопасность
      • Этический взлом / Тестирование на проникновение logo Этический взлом / Тестирование на проникновение
    • Английский язык logo Английский язык
    • Конференции logo Конференции
  • Источники
  • Все курсы
    • Популярные
    • Бесплатные (100+ Курсов)
  • Разделы
  • Книги
    • Бесплатные
    • Популярные
  • Краудфандинг logo Краудфандинг
🇺🇸 English
🇷🇺 Русский
🇺🇦 Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
Главная страница Категория golang (google go) Написание интерпретатора на Go

Написание интерпретатора на Go

Writing An Interpreter In Go

Thorsten Ball logo Thorsten Ball
Написание интерпретатора на Go logo Начать Сейчас
Категория
Golang (Google Go)
Дата добавления
01.02.2024
Язык
Английский

В этой книге мы вместе создадим язык программирования. Мы начнем с нуля строк кода и придем к полноценному интерпретатору для языка программирования "Monkey". Пошагово. От токенов до результата. Весь код будет показан и включен. Полностью протестирован.


Купите эту книгу, чтобы узнать:

  • Как создать интерпретатор для языка программирования, похожего на C, с нуля
  • Что такое лексер, парсер и абстрактное синтаксическое дерево (AST) и как создать свои собственные
  • Что такое замыкания и как они работают и почему
  • Что представляют собой метод разбора Парсинга по Пратту и парсер рекурсивного спуска
  • О чем говорят другие, когда говорят о встроенных структурах данных
  • Что означает аббревиатура REPL и как построить такой интерфейс

Почему эта книга?

Это книга, которую я хотел бы иметь год назад. Это книга, которую я не мог найти. Я написал эту книгу для вас и для себя.

Так почему же вам стоит ее купить? Чем она отличается от другой литературы по интерпретаторам или компиляторам?

  • Работающий код - в фокусе. Код не просто приложен в конце. Код - главный объект внимания этой книги.
  • Она небольшая! В ней около 250 страниц, большая часть которых - это читаемый, с подсветкой синтаксиса, работающий код.
  • Представленный в книге код легко понять, расширить и поддерживать.
  • Без сторонних библиотек! Вас не оставят с вопросом: "Но как инструмент X это делает?" Мы не будем использовать инструмент X. Мы используем только стандартную библиотеку Go и пишем все сами.
  • Тесты! Интерпретатор, который мы строим в книге, полностью протестирован! Иногда в стиле TDD, иногда тесты пишутся после. Вы можете легко запустить тесты, чтобы экспериментировать с интерпретатором и вносить изменения.

Эта книга для вас, если вы…

  • учитесь, создавая, и любите заглядывать под капот
  • обожаете программирование и программировать ради учебы и удовольствия!
  • интересуетесь, как работает ваш любимый интерпретируемый язык программирования
  • никогда не проходили курс по компиляторам в университете
  • хотите начать работать с интерпретаторами или компиляторами…
  • … но не хотите начинать с теоретически насыщенной, 800-страничной книги по компиляторам весом в 4 фунта как начинающий
  • всегда кричали "покажите мне код!", читая о интерпретаторах и компиляторах
  • всегда хотели сказать: "Черт возьми, я создал язык программирования!"


Посмотреть больше

Авторы

Изображение источника Thorsten Ball

Thorsten Ball

Привет, меня зовут Торстен Балл. Я программист, живущий в Германии. На протяжении всей моей профессиональной жизни в качестве разработчика программного обеспечения я работал с веб-технологиями и развертывал код на Ruby, JavaScript, Go и даже C в продакшн-системах.

Автор
Посмотреть
-1

Категории

Golang (Google Go) logo

Golang (Google Go)

Комментарии
User Avatar
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.

Другие материалы в этой категории

Изображение курса Основы интерпретации
udemy logo udemy Дмитрий Сошников logo Дмитрий Сошников
18.03.2020
Другое

Основы интерпретации

Building an Interpreter from scratch

Семантика языков программирования. Как языки программирования работают под капотом? В чем разница между компилятором и интерпретатором? Что такое виртуальная машина и JIT-компилятор? А как насчет разницы между функциональным и императивным программированием?

2 ч 59 мин
Английский
Посмотреть
+44
Удален по просьбе правообладателя
Изображение курса Структура и интерпретация компьютерных программ
hexlet logo hexlet
09.12.2018
Другое

Структура и интерпретация компьютерных программ

Фундаментальный курс, основанный на одноименной книге от профессоров MIT рассказывает об абстракции данных и кода, рекурсии, состоянии и метаязыковой абстракции. Первая часть соответствует первому разделу книги.

3 ч 7 мин
Русский
Посмотреть
+16
Изображение курса Создание транспайлера с нуля
Дмитрий Сошников logo Дмитрий Сошников
07.01.2025
Другое

Создание транспайлера с нуля

Building a Transpiler from scratch

В современных реализациях компиляторов стало популярным преобразовывать один высокоуровневый язык в другой. Примеры включают транспиляцию новых версий JavaScript в более старые или преобразование TypeScript в JavaScript. Такие компиляторы называются транспайлерами, и именно им посвящён этот курс.

2 ч 0 мин
Английский
Посмотреть
+4
Написание компилятора на Go logo

Написание компилятора на Go

Thorsten Ball
English
View
Премиум

Ресурс видеоуроков программирования для front и back end разработчиков. Бери знания своего профиля у нас, ведь мы самые лучшие блеать. Серьезно.

Категории
Все категории JavaScript React.js Python Java Golang (Google Go) Другое TypeScript C Sharp (C#) Подготовка к собеседованию Обработка и анализ данных
Источники
Все источники Alex Chiou Andreas Kretz Aurimas Griciūnas balun.courses Dometrain frontendmasters udemy zerotomastery.io Дмитрий Холстинин
Telegram CourseTrain Цена Контакты Распространенные вопросы Плейлисты Приватность Условия
Темы:
Язык: