- •Введение
- •Общие требования к курсовой работе
- •Этапы выполнения курсовой работы
- •2.2.2. Определение синтаксиса лексем
- •2.2.3. Построение диаграммы лексического анализатора
- •2.2.4. Тестирование лексического анализатора
- •2.3. Описание этапа синтаксического анализа
- •2.3.1. Построение кс-грамматики входного языка
- •2.4.8. Построение атрибутного дмп-процессора
- •2.4.9. Тестирование атрибутного дмп-процессора
- •3. Задания на курсовую работу
- •Задание 1
2.4.9. Тестирование атрибутного дмп-процессора
Тестирование атрибутного ДМП-процессора заключается в моделировании его работы. Для простых языковых конструкций, когда длина теста и их число невелики, а тестирование выполняется отдельно для каждой конструкции, начиная с простейших, работа эта не только необходима, но и реально выполнима.
Результаты тестирования ДМП-процессора рекомендуется описывать при помощи конфигураций, форма которых зависит от применяемого метода синтаксического анализа.
Пример
Используются следующие обозначения:
1.├2s – перенос двух символов (при переносе одного символа цифра опускается);
2.├sac – выполнение переноса, записи на выход и запоминания атрибутов;
3.├red7 – выполнение свертки по правилу (7);
4. Основа в магазине отмечается двойной линией;
5. Тетрады, построенные на данном шаге отмечаются двойной линией.
Магазин |
Входная цепочка |
Выход (тетрады) |
|
| ||||||||||||||
|
|
|
|
|
|
|
|
|
| |||||||||
( |
|
|
|
, |
IF b1 THEN a1 ELSE IF b2 THEN a2 END END |
, |
|
) |
├2s | |||||||||
|
|
|
|
|
|
|
|
|
|
|
|
( |
b |
|
R1 |
, |
THEN a1 ELSE IF b2 THEN a2 END END |
, |
|
) |
├red7 | ||||||
|
IF |
|
|
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
Exp |
|
R1 |
, |
THEN a1 ELSE IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├sac |
|
IF |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
THEN |
|
lab1 |
, |
a1 ELSE IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├s | ||||||
|
Exp |
|
R1 |
|
|
BF |
R1 |
lab1 |
|
|
| |||||||
|
IF |
|
|
|
|
|
|
|
|
|
|
| ||||||
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||
( |
a |
|
|
, |
ELSE IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├red6 | ||||||
|
THEN |
|
lab1 |
|
|
BF |
R1 |
lab1 |
|
|
| |||||||
|
Exp |
|
R1 |
|
|
|
|
|
|
|
|
| ||||||
|
IF |
|
|
|
|
|
|
|
|
|
|
| ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
Op |
|
|
, |
ELSE IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├red4 |
|
THEN |
|
lab1 |
|
|
BF |
R1 |
lab1 |
|
|
| |
|
Exp |
|
R1 |
|
|
|
a1 |
|
|
|
|
|
|
IF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
Lop |
|
|
, |
ELSE IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├sac |
|
THEN |
|
lab1 |
|
|
BF |
R1 |
lab1 |
|
|
| |
|
Exp |
|
R1 |
|
|
|
a1 |
|
|
|
|
|
|
IF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
ELSE |
|
lab2 |
, |
IF b2 THEN a2 END END |
, |
b1 |
|
|
R1 |
) |
├2s |
|
Lop |
|
|
|
|
BF |
R1 |
lab1 |
|
|
| |
|
THEN |
|
lab1 |
|
|
|
a1 |
|
|
|
|
|
|
Exp |
|
R1 |
|
|
|
BRL |
lab2 |
|
|
|
|
|
IF |
|
|
|
|
|
DEFL |
lab1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|