DigitableCourses
База знаний

Тема: Языки Программирования

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

Материалы

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

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

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

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

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

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

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

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

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

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

Парадигмы программирования: карта, история и как они связаны

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

#парадигмы#проектирование#функциональное программирование
18 мин
Статья

Компиляторы: карта трека и что происходит между кодом и процессором

Обзор трека: как текст программы превращается в исполняемые инструкции, из каких фаз собран компилятор, чем он отличается от интерпретатора и JIT, и какой маленький язык …

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

Генерация кода: целевые архитектуры, распределение регистров, ABI

Как оптимизированное IR превращается в машинные инструкции: выбор инструкций и покрытие дерева плитками, анализ живости, распределение регистров раскраской графа и linear …

#компиляторы#кодогенерация#ассемблер
22 мин
Статья

Виртуальные машины: стековые и регистровые, байткод, интерпретация

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

#компиляторы#виртуальные машины#байткод
26 мин