Назначение.
Контрольный пример необходим для тестирования программной реализации автомата.
Исходные данные.
Входная цепочка символов автомата. Цепочки символов состоят из символов входного алфавита автомата: {x0, x1, x2, x3, x4, x5, x6, x7}.
Построим цепочки символов, для контрольного примера, исходя из праволинейной грамматики. Для проверки правильности работы автомата нужно проверить его с помощью допустимых цепочек. Что бы получить допустимую цепочку символов необходимо взять одно из правил, в левой части которого стоит начальный символ. Выписать все терминальные символы из этого правила и если в конце стоит нетерминал, то перейти к одному из правил, в левой части которого стоит этот нетерминал. Выписать терминальные символы из этого правила и если в конце стоит нетерминал, то перейти к новому правилу и т. д., пока мы не дойдем до правила, правая часть которого кончается терминалом.
Для полной проверки автомата получим несколько недопустимых цепочек. Их можно получить, если выписывать терминалы, не доходя до терминала, который стоит последним в правиле. Или же если записать терминал, которого нету в правой части ни одного из правил, в левой части которых стоит необходимый нетерминал.
Результаты испытания программы представлены в таблице 7.
Таблица 7. Результаты испытаний.
|
Номер | Входная цепочка. | Результат работы программы. |
| х2x5x4x2. | Незаконченная строка. |
| x0x4x3x7. | Правильная строка. |
| x2x5x4x1x6x4x5. | Правильная строка. |
| x0x1x6. | Незаконченная строка. |
| x0x1x6x4. | Незаконченная строка. |