DigitableCourses
Настройки портала
Показать возможности портала

Локально и без аккаунта. Аккаунта нет, регистрация не нужна: введённое в инструменты остаётся в localStorage браузера и на сервер не уходит.

Свой счётчик считает открытия страниц и дочитывания: уезжает адрес и десятая доля текста. Без cookies и чужих счётчиков, IP не хранится, Do Not Track уважается. Как это проверить

Репозиторий портала не выложен, «открытым кодом» мы его не зовём. Открыто это:

Живёт портал на донатах, платных консультациях и разборах по запросу и покупке Workbench.

Планов делать курсы платными нет.

База знаний

Тема: компиляторы

21 материалов в этой теме.

Материалы

12 на странице
Статья

Компилятор, написанный на самом себе

Две переписки на самом языке: ядро исполняемых спецификаций — целиком тотальное, побайтово сверенное с эталоном; и компилятор самого flang, у которого сошлась неподвижная …

#flang#самоприменение#самохостинг
31 мин
Статья

Кодогенерация: печать в восемь языков

Восемь бэкендов — C, Go, Rust, Python, Java, C#, Elixir, JavaScript, — общее требование совпадения с интерпретатором и практические прогоны. Плюс две новости суток: …

#flang#кодогенерация#компиляторы
32 мин
Статья

Ускорение без правки кода: флаги сборки, инлайнинг, PGO, LTO и JIT

Последний рычаг, который не оплачивается сложностью кода: что на самом деле делает -O2 и почему -O3 бывает медленнее, как читать решения инлайнера, как поставить PGO на …

#производительность#компиляторы#оптимизация
25 мин
Статья

Синтаксический анализ: грамматики, рекурсивный спуск, приоритеты операторов

Как из плоского потока токенов получается дерево: контекстно-свободные грамматики, BNF, неоднозначность, левая рекурсия, FIRST/FOLLOW, рекурсивный спуск и Pratt-разбор — …

#компиляторы#парсеры#грамматики
26 мин
Статья

Семантический анализ: области видимости, таблицы символов, разрешение имён

Фаза, связывающая каждое имя с его объявлением: лексические области видимости, таблица символов, слоты кадра и захват переменных замыканиями, порядок объявлений в разных …

#компиляторы#языки программирования#области видимости
19 мин
Статья

Сборка мусора: подсчёт ссылок, mark-sweep, поколения, паузы

Как рантайм решает, что память больше не нужна: достижимость против живости, подсчёт ссылок и его циклы, трассирующая сборка и трёхцветный инвариант, копирование по …

#компиляторы#сборка мусора#управление памятью
30 мин
Статья

Проектирование языков и DSL: синтаксис, ошибки, эргономика

Язык — это интерфейс: когда свой DSL оправдан, а когда достаточно конфига; как проектировать синтаксис, однозначный и для человека, и для парсера; почему сообщение об …

#компиляторы#dsl#проектирование языков
26 мин
Статья

Продолжения и CPS: откуда взялись колбэки, генераторы и async/await

Одно преобразование лямбда-термов, из которого выросли колбэки, промисы, обработка исключений, генераторы и async/await: что такое продолжение, как работает …

#лямбда-исчисление#продолжения#функциональное программирование
19 мин
Статья

Проверка и вывод типов: системы типов, унификация, Хиндли-Милнер

Как компилятор доказывает, что программа не сложит число со строкой: суждения типизации, бидирекциональная проверка, унификация с occurs check и полный алгоритм Хиндли — …

#компиляторы#типы#вывод типов
28 мин
Статья

Основы C: типы, операторы, управление потоком, функции

Базовый C глазами системного программиста: абстрактная машина стандарта, целочисленные преобразования и их ловушки, операторы и порядок вычисления, управление потоком, …

#системное программирование#c#типы данных
20 мин
Статья

Оптимизации: свёртка констант, инлайнинг, устранение мёртвого кода

Как компилятор переписывает программу, не меняя её смысла: решётки и анализ потока данных, SCCP, нумерация значений, DCE, инлайнинг и проблема порядка проходов — с …

#компиляторы#оптимизация#ssa
31 мин