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

Материал из SEWiki
Перейти к: навигация, поиск
(Практика)
 
(не показаны 3 промежуточные версии 2 участников)
Строка 11: Строка 11:
  
 
== Задание 1 ==
 
== Задание 1 ==
  Реализовать код для трансформации AST назад в исходный код, автоформаттер.  
+
Реализовать код для трансформации AST назад в исходный код, автоформаттер.  
 
Ваша программа должна получив на вход программу на языке MathVM (см. гитхаб) вывести эквивалентный исходный код.
 
Ваша программа должна получив на вход программу на языке MathVM (см. гитхаб) вывести эквивалентный исходный код.
 
Основная цель задания - освоится с окружением и кодовой базой.
 
Основная цель задания - освоится с окружением и кодовой базой.
 +
 +
 +
== Задание 2 ==
 +
Реализовать код для трансформации AST в байткод, который описан в заголовке mathvm.h.
 +
Ваша программа должна получив на вход программу на языке MathVM и напечатать получившийся байткод.
 +
Для целей отладки, можно параллельно делать Задание 3, интерпретатор.
 +
 +
== Задание 3 ==
 +
Реализовать интерпретатор байткода полученного транслятором в Задании 2, позволяющий исполгнять программы на MathVM.
 +
Для тестирования в каталоге tests есть expect файлы, описывающие ожидаемый вывод.
 +
 +
 +
== Экзамен ==
 +
[https://docs.google.com/document/d/19g4I1IWDZkErxL--C_toNz0tmSypLOUEfm-3RO1xfTA/edit Вопросы]
 +
 +
[https://ru.sharelatex.com/project/587802485fdfe97023a0ffd9 Конспект]

Текущая версия на 11:31, 13 января 2017

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

Лекции

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

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

Практика

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

Задание 1

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


Задание 2

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

Задание 3

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


Экзамен

Вопросы

Конспект