@startuml !define RESULT result !define UNPARSED_RESULT unparsed_result start :Получаем данные, обработанные\nTextFSM со списком правил ACL acl_entries; :Создаем два результирующих массива: - RESULT для хранения хороших результатов - UNPARSED_RESULT для хранения необработанных; :Начинаем итерацию по acl_entries; repeat :Берем следующий элемент из acl_entries - acl_entry; :Проверяем его содержание и в зависимости от\nнего обрабатываем соответственно; if (acl_entry = ACL header) :Пропускам элемент; elseif (acl_entry = unparsed ACE) :Записываем в список UNPARSED_RESULT; elseif (acl_entry = ACE) :Обрабатываем правило; note _parse_remark_acl_entry() end note :Добавляем обработанный результат в results; elseif (acl_entry = Remark) :Обрабатываем согласно правилам\nработы c Remark; note _parse_ace_acl_entry() end note :Добавляем обработанный результат в results; endif repeat while (В acl_entries есть еще элементы?) :Возвращаем RESULT, UNPARSED_RESULT; stop @enduml