
- •Федеральное агенство по образованию Троицкий филиал государственного учреждения высшего профессионального образования «Челябинский государственный университет»
- •1.1 Формулировка задания:
- •1.2. Описание входных и выходных данных
- •1.3. Примеры входных и выходных данных
- •2.2 Интерфейсы модулей
- •3.1 Структура текста программы
- •3.2 Алгоритмы реализации модулей
- •3.2.1 Блок транслитерации
- •3.2.2 Лексический блок
- •3.2.3 Синтаксический блок
- •4.1 Автономное тестирование
- •4.2 Комплексное тестирование
- •5. Заключение
- •6. Литература:
3.2.3 Синтаксический блок
Синтаксический блок работает на основе лексического блока, только к некоторым ошибкам лексического блока добавляются нахождение ошибок синтаксического характера. Результат же после выполнения этого блока может быть либо - Правильно, либо Ошибка.
4.1 Автономное тестирование
Автономное тестирование проводилось во время разработки модулей программы и включало в себя проверку возможных ошибок в программе.
Тестирование модуля выполнялось непосредственно после кодирования данного модуля.
Тестирование и последующая отладка модуля продолжались до тех пор, пока тестирование не привело к совпадению всех ожидаемых результатов.
Пример протокола тестирования модулей приведен в таблице 2.
Модуль |
Входные данные |
Ожидаемый результат |
Действительный результат |
Блок Транслитерации |
While Z>A do Z:=A[$A0+1]; |
(w, буква) (h, буква) (i, буква) (l,буква) (e, буква) (, пробел) (Z, буква) (<, знак) (M, буква) (, пробел) (d, буква) (o, буква) (, пробел) (Z,буква) (:, двоеточие) (=, равно) ([, скобка) ($, знак доллара) (A, буква) (0,цифра) (+, знак) (1, цифра) (], скобка) (;, тчкзпт)
|
(w, буква) (h, буква) (i, буква) (l,буква) (e, буква) (, пробел) (Z, буква) (<, знак) (M, буква) (, пробел) (d, буква) (o, буква) (, пробел) (Z,буква) (:, двоеточие) (=, равно) ([, скобка) ($, знак доллара) (A, буква) (0,цифра) (+, знак) (1, цифра) (], скобка) (;, тчкзпт)
|
Лексический блок |
While Z>A do Z:=A[$A0+1]; |
(while, Идентификатор) (Z, Идентификатор) (<, знак) (M, Идентификатор) (do, Идентификатор) (Z, Идентификатор) (:=, Присваивание) (A[$A0+1], Идентификатор) (;, Тчкзпт)
|
(while, Идентификатор) (Z, Идентификатор) (<, знак) (M, Идентификатор) (do, Идентификатор) (Z, Идентификатор) (:=, Присваивание) (A[$A0+1], Идентификатор) (;, Тчкзпт)
|
Блок идентификации ключевых слов |
While Z>A do Z:=A[$A0+1]; |
(while, Клслово) (do, Клслово)
|
(while, Клслово) (do, Клслово)
|
Синтаксический блок |
While Z>A do Z:=A[$A0+1]; |
Правильно |
Правильно |
Табл.2 Пример теста для модуля распознавателя цепочки
4.2 Комплексное тестирование
Комплексное тестирование проводилось по окончанию разработки модулей программы и включало в себя проверку всех ошибок, которые могут быть обнаружены в программе. Протокол тестирования программы в целом приведен в таблице 3.
№ |
Входные данные |
Ожидаемый результат |
Действительный результат |
|
While Z>A do Z:=A[$A0+1]; |
ACCEPT |
ACCEPT |
2 |
While id>=Max do id2:=Mem[$A10 mod 2]; |
ACCEPT |
ACCEPT |
3 |
While idl<>id2 do idl:=Arr[$FFFF-id2]; |
ACCEPT |
ACCEPT |
4 |
While bbbfg<hh do fg:=h[$A1*2]; |
ACCEPT |
ACCEPT |
5 |
Qwhile z><A while begin::==D($/7]. |
REJECT |
REJECT |
6 |
While d=f then d:=f[%A10-2]; |
REJECT |
REJECT |
7 |
If z>a do Z:=A[$A10 mod 2]; |
REJECT |
REJECT |
8 |
While A<S do f:=h[$FFFF div 2]; |
ACCEPT |
ACCEPT |
Табл.3 Пример протокола тестирования головного модуля.