VM осень 2017 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
м
м
Строка 10: Строка 10:
 
Код ваших решений для заданий 1,2,3 будет собираться и запускаться в docker контейнере wtf42/mathvm (ubuntu 16.04 с пакетами python make g++) на архитектуре x86-64. Задание 4 будет проверяться в ubuntu 16.04 с пакетами python make g++ libsdl-dev.
 
Код ваших решений для заданий 1,2,3 будет собираться и запускаться в docker контейнере wtf42/mathvm (ubuntu 16.04 с пакетами python make g++) на архитектуре x86-64. Задание 4 будет проверяться в ubuntu 16.04 с пакетами python make g++ libsdl-dev.
  
Для того, чтобы сдать задание нужно закоммитить ваш код в репозиторий до дедлайна, пул-реквесты и прочие сообщения писать не нужно. Результаты будут появляться в табличке [TODO].
+
Для того, чтобы сдать задание нужно закоммитить ваш код в репозиторий до дедлайна, пул-реквесты и прочие сообщения писать не нужно. Результаты будут появляться в табличке [TBA].
  
 
Пожалуйста, если меняете файлы не из своей директории, то делайте это отдельным коммитом.
 
Пожалуйста, если меняете файлы не из своей директории, то делайте это отдельным коммитом.
Строка 29: Строка 29:
  
 
== Задание 4 ==
 
== Задание 4 ==
TODO
+
TBA
  
 
== Экзамен ==
 
== Экзамен ==

Версия 12:52, 15 сентября 2017

Лекции

Преподаватель: Николай Иготти (igotti (at) gmail.com)

Освещаемые вопросы: здесь

Практика

Репозиторий на гитхабе. Присылайте запросы на почту для добавления в коллабораторы.

Код ваших решений для заданий 1,2,3 будет собираться и запускаться в docker контейнере wtf42/mathvm (ubuntu 16.04 с пакетами python make g++) на архитектуре x86-64. Задание 4 будет проверяться в ubuntu 16.04 с пакетами python make g++ libsdl-dev.

Для того, чтобы сдать задание нужно закоммитить ваш код в репозиторий до дедлайна, пул-реквесты и прочие сообщения писать не нужно. Результаты будут появляться в табличке [TBA].

Пожалуйста, если меняете файлы не из своей директории, то делайте это отдельным коммитом.

Задание 1

Реализовать код для трансформации AST назад в исходный код, автоформаттер. Ваша программа должна получив на вход программу на языке MathVM (см. гитхаб) вывести эквивалентный исходный код. Основная цель задания - освоится с окружением и кодовой базой.

Задание 2

Реализовать код для трансформации AST в байткод, который описан в заголовке mathvm.h. Ваша программа должна получив на вход программу на языке MathVM и напечатать получившийся байткод. Для целей отладки, можно параллельно делать Задание 3, интерпретатор.

Задание 3

Реализовать интерпретатор байткода полученного транслятором в Задании 2, позволяющий исполнять программы на MathVM. Для тестирования в каталоге tests есть expect файлы, описывающие ожидаемый вывод.

Задание 4

TBA

Экзамен

Вопросы

Конспект