Компиляторы осень 2020

Материал из CSC Wiki
Перейти к:навигация, поиск

Березун Даниил danya.berezun@gmail.com Группа в Телеграм, где можно и нужно задавать вопросы

Get Started

Пререквизиты

  • linux (если нет Linux и вы не хотите его устанавлвать, то вы можете поставить его на любую VM (выделите ей хотя бы 2GB оперативной памяти), воспользоваться docker-образом или попытаться использовать Windows Subsystem for Linux (последнее не проверено))
  • opam (version >= 2.0.4; to check version run # opam --version; see Installation guide)
  • gcc-multilib (ubuntu: sudo apt-get install gcc-multilib)

Установка

Простая проверка

  • lamac -v
  • on any tutorial file (ex. Expressions.lama)
    • lamac Expressions.lama
    • ./Expressions

При желании можно пользоваться "готовым" docker-образом (не забудьте # eval $(opam env))

Плагин для VSC (м.б. нестабилен)

Лекции

Практики и ДЗ

1

2

  • В ветке [1] реализовать
    • Интерпретатор языка выражений
    • Интерпретатор операторов
    • Интерпретатор стековой машины
    • Компилятор из языка операторов в стековую машину

Как сдавать ДЗ

  • Fork репозиторий с дз
  • Выполнить дз в соответствующей ветке
  • Когда все тесты прошли открыть pull-request в соответствующую домашнему заданию ветку исходного репозитория с дз
  • NB:
    • Travis byuild должен успешно завершаться на вашем pull-request (должна появится зелёная галочка рядом с ним; если появился красный крестик, то что-то пошло не так (не компилится или тесты не прошли) --- надо исправить)
    • Ваш pull-request может содержать исключительно изменения необходимых файлов 'src/*.lama' и '.gitignore'; pull-request, изменяющий любые другие файлы будет отклонён и не проверен
  • Deadline по каждому заданию: 2 недели (в 19-00 пятницы)

Литература