
- •2011Г. Содержание:
- •Спецификация Разработка:
- •Описание входных данных:
- •Описание выходных данных:
- •Примеры входных и выходных данных:
- •Проектирование
- •Проектирование модульной структуры
- •Пример набора тестов для модулей распознавания цепочки:
- •3. Кодирование
- •3.1. Блок транслитерации
- •Транслитерация символьной цепочки:
- •3.2 Лексический блок
- •If b then X(f1, f2, f3) else d(e1, e2);
- •Конечный распознаватель лексического блока:
- •Редукция конечного распознавателя лексического блока:
- •Примитивные процедуры обрабатывающего автомата
- •Процедуры переходов обрабатывающего автомата лексического блока
- •3.3 Синтаксический блок
- •Тестирование
- •Пример протокола тестирования головного модуля
Конечный распознаватель лексического блока:
|
Буква |
Цифра |
Пробел |
Запятая |
Скобка |
Тчкзпт |
НАЧ |
КЛСЛОВО1 |
Е |
НАЧ |
Е |
Е |
Е |
КЛСЛОВО1 |
КЛСЛОВО1 |
Е |
ПРОБЕЛ 1 |
Е |
Е |
Е |
ПРОБЕЛ 1 |
ИМЯ1 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ1 |
Е |
Е |
ПРОБЕЛ 2 |
Е |
Е |
Е |
ПРОБЕЛ 2 |
КЛСЛОВО2 |
Е |
Е |
Е |
Е |
Е |
КЛСЛОВО2 |
Е |
Е |
ПРОБЕЛ3 |
Е |
Е |
Е |
ПРОБЕЛ 3 |
ИМЯ2 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2 |
Е |
Е |
ПРОБЕЛ 4 |
Е |
Е |
Е |
ПРОБЕЛ 4 |
Е |
Е |
Е |
Е |
СКОБКА |
Е |
СКОБКА1.1 |
ИМЯ2.1 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2.1 |
Е |
Е |
Е |
ЗАПЯТАЯ |
Е |
Е |
ЗАПЯТАЯ |
ИМЯ2.2 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2.2 |
Е |
Е |
Е |
ЗАПЯТАЯ |
Е |
Е |
ЗАПЯТАЯ |
ИМЯ2.3 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2.3 |
Е |
Е |
Е |
Е |
СКОБКА |
Е |
СКОБКА1.2 |
Е |
Е |
ПРОБЕЛ 8 |
Е |
Е |
Е |
ПРОБЕЛ 5 |
КЛСЛОВО3 |
Е |
Е |
Е |
Е |
Е |
КЛСЛОВО 3 |
Е |
Е |
ПРОБЕЛ 9 |
Е |
Е |
Е |
ПРОБЕЛ 6 |
ИМЯ3 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ 3 |
Е |
Е |
ПРОБЕЛ 10 |
Е |
Е |
Е |
ПРОБЕЛ 7 |
Е |
Е |
Е |
Е |
СКОБКА |
Е |
СКОБКА 2.1 |
ИМЯ3.1 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2.1 |
Е |
Е |
Е |
ЗАПЯТАЯ |
Е |
Е |
ЗАПЯТАЯ |
ИМЯ3.2 |
ИМЯ |
Е |
Е |
Е |
Е |
ИМЯ2.2 |
Е |
Е |
Е |
Е |
СКОБКА |
Е |
СКОБКА 2.2 |
Е |
Е |
Е |
Е |
Е |
ТЧКЗПТ |
ТЧКЗПТ |
Е |
Е |
Е |
Е |
Е |
Е |
Редукция конечного распознавателя лексического блока:
Шаг |
Результат( блоки состояний) |
Действия |
0 |
Р0={НАЧ, КЛСЛОВО, ПРОБЕЛ 1, ИМЯ, ПРОБЕЛ 2, КЛСЛОВО, ПРОБЕЛ 3, ИМЯ, ПРОБЕЛ 4, КЛСЛОВО, ПРОБЕЛ 5, ИМЯ ,ТЧКЗПТ} |
Разбиваем P0 на два блока: допустимые и отвергающие состояния |
1 |
|
Разбиваем
|
2 |
|
1.
Разбиваем
2.
Разбиваем
3.
Разбиваем
4.
Разбиваем
|
3 |
|
Разбиваем
|
Примитивные процедуры обрабатывающего автомата
№ п |
Процедура |
Семантика | |
0 |
Да |
Остановить обработку и допустить цепочку | |
1 |
Нет |
Остановить обработку и отвергнуть цепочку | |
2 |
Обработать |
Добавить входной символ к значению текущей лексемы | |
3 |
Лексема (класс) |
Увеличить счетчик лексем на 1, установить заданный класс текущей лексемы |