VM, 6 курс, 3 семестр, 2016/17 — различия между версиями
(Новая страница: « Преподаватель: Иготти Н. == Лекции ==») |
Golovanov (обсуждение | вклад) |
||
(не показано 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 файлы, описывающие ожидаемый вывод.