CompilersCourse icon indicating copy to clipboard operation
CompilersCourse copied to clipboard

Theory of compilation course, MIPT

CompilersCourse

Docker build Docker Pulls

Курс "Языки программирования и теории компиляции" ФПМИ МФТИ, 2 курс.

Содержание

  • Грамматика
  • Список семинаров
    • 01. Лексический анализатор
    • 02. Синтаксический анализатор
    • 03. Построение AST-дерева
    • 04. Интерпретатор через Visitor
    • 05. Таблицы символов
    • 06. Механизмы вызова функций
    • 07. Построение дерева IR
    • 08. Оптимизация дерева IR
  • Список чекпоинтов:
    • Одиночные:
      • 01. AST
      • 02. Visitors
      • 03. Подготовка семантики
      • 04. Дерево scope-ов
      • 05. Система типов
      • 06. Промежуточное представление LLVM
      • 07. Создание исполняемого файла
    • Парные:
      • 01. AST + locations
      • 02. Visitors + подготовка семантики
      • 03. Дерево scope-ов + Система Типов
      • 04. Обработка функций + ошибок
      • 05. IR-tree

Сдача заданий

Сдавать задание на почту: [email protected]

На почту кидаем номер checkpoint-a, ссылку на github

Flow работы в проекте

  • В ветке main/master находится работающая версия кода, в нее будут сливать изменения кураторы
  • Для разработки проекта создается ветка dev, в которой выполняется разработка
  • После того, как вы считаете, что определенную часть задания выполнили, создаете отдельную ветку checkpoint_x (x=1,2,3) из ветки dev, создаете pull request из ветки checkpoint_x в ветку main/master, добавляете ревьюера на pull request
  • Если ревьюер попросил сделать изменения, то вы делаете изменения в ветке checkpoint_x и вливаете ее в dev, НЕ СЛИВАЯ при этом ветку в main/master
  • В описании pull request-а пишете списком (добавляете в README.md) список изменений, который произошел в новой версии проекта (от одного чекпоинта к другому)

Сборка Docker контейнера

Ссылка на image - https://hub.docker.com/r/akhtyamovpavel/compilers_course_image

Скачивание образа:

docker pull akhtyamovpavel/compilers_course_image

Сборка образа:

docker build -t akhtyamovpavel/compilers_course_image .