Задача D. Синтаксический анализ

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:10  

Условие

Требуется написать программу, проводящую синтаксический анализ подмножества выбранного вами языка программирования. Подмножество зависит от конкретного языка, но обычно включает следующие ограничения:

Репозиторий должен содержать файл с грамматикой реализованного подмножества. Грамматика должна быть получена путём удаления части стандартной грамматики для выбранного языка. Реализованное подмножество должно быть строгим, то есть стандартный компилятор / интерпретатор должен принимать любую программу, которую принимает ваш анализатор.

Анализатор должен представлять доработку утилиты командной строки из предыдущего задания, принимающую в качестве параметра имя файла с исходным кодом и ключ для отличения от прочих режимов работы.

Анализатор должен определить абстрактное синтаксическое дерево.

Репозиторий с анализатором должен содержать автоматические тесты, каждый тест должен включать входной и выходной файл.

Формат входных данных

Отправьте ссылку на конкретный коммит в репозитории на Github, например

https://github.com/klenin/cats-main/commit/dce22c8348808959881ed7d6852c520a41e47c9a

В качестве среды разработки укажите Answer text.

Формат выходных данных

Выходные данные должны содержать абстрактное синтаксическое дерево, изображённое с помощью отступов и, возможно, ASCII графики.

В случае обнаружения ошибки вместо дерева должна выводиться строка, номер символа и текст сообщения об ошибке. После этого анализатор может завершать работу.


0.074s 0.014s 13