Open VTsarevNSU opened 2 weeks ago
SYN5.1 - Макрос объявлен, но не используется можно хранить все макросы в базе и для каждого указывать, был он использован или нет требуется сделать эту базу; лучше сделать это как вектор объектов класса Макрос ПРОПУЩЕНО аст не содержит информацию о макросах по различным причинам ошибка не очень важная, поэтому пропущена
SYN5.2 - Имя, определенное в операторе let, не используется возможно создать базу данных всех идентификаторов, а не только базовых имён, чтобы было удобно отслеживать база данных -- дерево, с метками узлов в виде имён вызванных функций (коллстек), и в каждом узле есть список объявленных имён, ДУБЛИКАТОВ В НЁМ НЕТ (использовать множество) РЕАЛИЗОВАНО
SYN5.3 - Базовое имя ФД, определенное в операторе df, не используется пройтись по списку базовых имён и узнать, были ли использования или нет РЕАЛИЗОВАНО
SYN5.4 - Атомарный ФК не используется создать базу РЕАЛИЗОВАНО
SYN5.5 - Структурированный ФК не используется создать базу РЕАЛИЗОВАНО
SYN5.6 - Параметр структурированного ФК не используется проверять метки use у параметров по выходу из анализа блока ФК РЕАЛИЗОВАНО, НО МЕТКИ РАБОТАЮТ ПЛОХО, НУЖНА РЕВИЗИЯ
SYN5.7 - Счетчик оператора for не используется проверять метки use у счётчика по выходу из блока МОЖНО РЕАЛИЗОВАТЬ
SYN5.8 - Счетчик оператора while не используется проверять метки use у счётчика по выходу из блока МОЖНО РЕАЛИЗОВАТЬ
для идентификаторов -- обход всех вершин и проверка на пустоту множеств use и def для макросов и ФК -- сохранение каждого из них в отдельную структуру, в которой существует флаг isUsed