Требуемый минимальный процент покрытия тестами для всех задач кроме первой - 80%.
-
AST(-0.5 балла)
Необходимо спроектировать AST выбранного ЯП.
Должно быть возможно представить реализацию функции факториала.
Пример представления факториала должен быть в проекте и успешно компилироваться. -
Parsing 1(-0.5 балла)
Необходимо реализовать часть парсера выбранного ЯП.
Парсер должен корректно обрабатывать реализацию функции факториала. -
Parsing 2(-1 балл)
Необходимо доработать парсер выбранного ЯП.
Парсер должен корректно обрабатывать заранее предоставленный проверяющими модуль.
Парсер должен быть автоматически протестирован QuickCheck-подобным способом. -
Type check / type inference(-1 балл)
Необходимо разработать type checker / inferencer для выбранного ЯП.
Type checker должен корректно обрабатывать заранее предоставленный проверяющими модуль. -
Eval(-1 балл)
Необходимо разработать непосредственно интерпретатор выбранного ЯП.
Интерпретатор должен корректно обрабатывать заранее предоставленный проверяющими модуль.