Лабораторная №6 — задание 6.1E #
Нужно реализовать и покрыть тестами построение AST в утилите проверки программ, основанной на ANTLR4.
⚠️ Обратите внимание #
Это задание выполняется на основе иерархии классов узлов AST, подготовленной разработчиком в задании 5.1D.
Порядок выполнения #
- Получите у разработчика (или напишите вместе с ним) модуль Ast, описывающий иерархию классов узлов AST
- Выясните, как можно построить AST с помощью ANTLR4
- Реализуйте построение AST и пройдите тесты:
- позитивные тесты программ, правильных с точки зрения синтаксиса и семантики
- негативные тесты программ, неправильных с точки зрения синтаксиса
Другими словами, вы частично переиспользуете код вместе с разработчиком:
- в утилите проверки программ вы используете свой лексер/парсер на базе ANTLR4, а также общий модуль Ast
- в интерпретаторе разработчик использует свой рукописный лексер/парсер, а также общий модуль Ast
Проверка построения факта AST #
На данном этапе вам достаточно проверять, что:
- в позитивных тестах AST построено без выброса исключения
- в негативных тестах выброшено исключение ожидаемого типа
Более глубоких проверок самого AST не требуется.