<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Языки Программирования on Digitable courses</title>
    <link>https://courses.digitable.life/tags/%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F/</link>
    <description>Recent content in Языки Программирования on Digitable courses</description>
    <generator>Hugo</generator>
    <language>ru-RU</language>
    <lastBuildDate>Sat, 01 Aug 2026 00:12:59 +0300</lastBuildDate>
    <atom:link href="https://courses.digitable.life/tags/%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Виртуальные машины: стековые и регистровые, байткод, интерпретация</title>
      <link>https://courses.digitable.life/post/compilers/09-virtual-machines/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/09-virtual-machines/</guid>
      <description>Второй бэкенд компилятора: как спроектировать набор инструкций, чем стековая машина отличается от регистровой, как устроены кадры, диспетчеризация и представление значений — с работающим компилятором Mini в байткод и двумя виртуальными машинами на Python.</description>
    </item>
    <item>
      <title>Генерация кода: целевые архитектуры, распределение регистров, ABI</title>
      <link>https://courses.digitable.life/post/compilers/08-code-generation/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/08-code-generation/</guid>
      <description>Как оптимизированное IR превращается в машинные инструкции: выбор инструкций и покрытие дерева плитками, анализ живости, распределение регистров раскраской графа и linear scan, вытеснение, System V ABI и устройство кадра вызова — с работающим генератором x86-64 для языка Mini, который собирается ассемблером и линкуется с C.</description>
    </item>
    <item>
      <title>Компиляторы: карта трека и что происходит между кодом и процессором</title>
      <link>https://courses.digitable.life/post/compilers/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/00-overview/</guid>
      <description>Обзор трека: как текст программы превращается в исполняемые инструкции, из каких фаз собран компилятор, чем он отличается от интерпретатора и JIT, и какой маленький язык мы построим за четырнадцать статей — с работающим мини-компилятором уже здесь.</description>
    </item>
    <item>
      <title>Парадигмы программирования: карта, история и как они связаны</title>
      <link>https://courses.digitable.life/post/paradigms/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/paradigms/00-overview/</guid>
      <description>Обзорная статья трека: что такое парадигма как инженерное понятие, по каким осям парадигмы различаются, откуда они взялись исторически, как они смешиваются в реальных системах — и как читать остальные девять статей трека.</description>
    </item>
    <item>
      <title>Проверка и вывод типов: системы типов, унификация, Хиндли-Милнер</title>
      <link>https://courses.digitable.life/post/compilers/05-type-checking/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/05-type-checking/</guid>
      <description>Как компилятор доказывает, что программа не сложит число со строкой: суждения типизации, бидирекциональная проверка, унификация с occurs check и полный алгоритм Хиндли — Милнера с let-полиморфизмом — с работающей реализацией на Python.</description>
    </item>
    <item>
      <title>Промежуточное представление: IR, SSA, зачем нужен средний слой</title>
      <link>https://courses.digitable.life/post/compilers/06-intermediate-representation/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/06-intermediate-representation/</guid>
      <description>Почему после проверки типов дерево выбрасывают: трёхадресный код, базовые блоки и граф потока управления, доминаторы и фронт доминирования, построение SSA по Cytron и выход из неё — с работающим конвертером AST языка Mini в SSA-форму на Python.</description>
    </item>
    <item>
      <title>Семантический анализ: области видимости, таблицы символов, разрешение имён</title>
      <link>https://courses.digitable.life/post/compilers/04-semantic-analysis/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/04-semantic-analysis/</guid>
      <description>Фаза, связывающая каждое имя с его объявлением: лексические области видимости, таблица символов, слоты кадра и захват переменных замыканиями, порядок объявлений в разных языках и рабочий резолвер для языка Mini на Python.</description>
    </item>
    <item>
      <title>Синтаксический анализ: грамматики, рекурсивный спуск, приоритеты операторов</title>
      <link>https://courses.digitable.life/post/compilers/02-parsing/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/compilers/02-parsing/</guid>
      <description>Как из плоского потока токенов получается дерево: контекстно-свободные грамматики, BNF, неоднозначность, левая рекурсия, FIRST/FOLLOW, рекурсивный спуск и Pratt-разбор — с полным работающим парсером языка Mini на Python.</description>
    </item>
  </channel>
</rss>
