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

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: « Преподаватель: Иготти Н. == Лекции ==»)
 
 
(не показано 5 промежуточных версий 2 участников)
Строка 2: Строка 2:
 
Преподаватель: Иготти Н.  
 
Преподаватель: Иготти Н.  
 
== Лекции ==
 
== Лекции ==
 +
Преподаватель: Николай Иготти (igotti (at) gmail.com)
 +
 +
Освещаемые вопросы: [https://docs.google.com/document/d/1nuP_kCqjctoQFIlfwVUKvX-4q9J-2Pe5lJoaLI7s_60/edit?usp=sharing здесь]
 +
 +
== Практика ==
 +
 +
[https://github.com/olonho/mathvm Репозиторий на гитхабе.] Присылайте запросы на почту для добавления в коллабораторы.
 +
 +
== Задание 1 ==
 +
Реализовать код для трансформации AST назад в исходный код, автоформаттер.
 +
Ваша программа должна получив на вход программу на языке 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 файлы, описывающие ожидаемый вывод.


Экзамен

Вопросы

Конспект