VM, 6 курс, 3 семестр, 2016/17 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Задание 1)
Строка 14: Строка 14:
 
Ваша программа должна получив на вход программу на языке MathVM (см. гитхаб) вывести эквивалентный исходный код.
 
Ваша программа должна получив на вход программу на языке MathVM (см. гитхаб) вывести эквивалентный исходный код.
 
Основная цель задания - освоится с окружением и кодовой базой.
 
Основная цель задания - освоится с окружением и кодовой базой.
 +
 +
 +
== Задание 2 ==
 +
Реализовать код для трансформации AST в байткод, который описан в заголовке mathvm.h.
 +
Ваша программа должна получив на вход программу на языке MathVM и напечатать получившийся байткод.
 +
Для целей отладки, можно параллельно делать Задание 3, интерпретатор.
 +
 +
== Задание 3 ==
 +
Реализовать интерпретатор байткода полученного транслятором в Задании 2, позволяющий исполгнять программы на MathVM.
 +
Для тестирования в каталоге tests есть expect файлы, описывающие ожидаемый вывод.

Версия 09:56, 7 ноября 2016

Преподаватель: Иготти Н.

Лекции

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

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

Практика

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

Задание 1

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


Задание 2

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

Задание 3

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