Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Технология отладки модулей транслятора
Цель работы - получение навыков автономной отладки модулей многомодульной программы и разработки отладочных средств на примере расширения возможностей транслятора С0 из лабораторной работы 3.
Планирование отладки
План отладки программы составляется на основании ее модульной структуры [4]. Модульная структура изображается в виде схемы взаимодействия модулей [8], пример которой показан на рис. 1. Линии на этой схеме идут вниз от вызывающего модуля к вызываемым.
Для облегчения отладки перед тестированием программы в целом автономно отлаживают ее отдельные модули. Это упрощает поиск и устранение ошибок, позволяет более полно проверить модули и организовать их параллельное тестирование.
Для автономного тестирования модуля или группы модулей в общем случае требуется специальный драйвер и столько имитаторов, сколько модулей вызывается из тестируемого модуля или группы модулей.
Например, для отладки модуля G нужно собрать программу или программный проект в составе самого модуля G, написанного для него драйвера, а также имитаторов вызываемых из G модулей H и I (рис. 2).
На рис. 3 показана программа для совместного тестирования модулей G и H, включающая имитаторы вызываемых из них модулей I и J, а также драйвер модулей G и H, который может отличаться от драйвера для одного модуля G.
Драйвер – это отладочная программа (функция main на языке С), которая запускает тестируемые модули и создает необходимую обстановку для их автономной работы. Для выполнения отлаживаемых модулей в тестовом режиме работу всех вызываемых из этих модулей подпрограмм упрощенно воспроизводят их имитаторы.
Модульная структура компилятора С0 представлена не в виде схемы, а в форме таблицы, в которой перечислены все вызываемые подпрограммы каждого модуля (см. приложение 2). Отладку измененного компилятора С0 на примере реализации операций ++ и -- из работы 3 удобно проводить в два этапа.
1. Автономная отладка подпрограммы чтения лексемы chleks. Параллельно и независимо от этого - автономная отладка группы подпрограмм трансляции выражения: virag, operac, adrper, zopreg с использованной в них подпрограммой vitsk. Подпрограмму virag, хотя она и не изменялась, необходимо проверить, т. к. не исключена возможность, что ее надо было бы изменить. Кроме того, без нее трудно убедиться в правильности трансляции выражений с новыми операциями.
2. Затем необходимо тестировать транслятор целиком (комплексно), в том числе убедиться, что не нарушилась его работа на старых тестах (без операций ++ и --).
Дата публикования: 2015-03-29; Прочитано: 309 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!