Книга: Системное программное обеспечение. Лабораторный практикум

Пример 2

Пример 2

Возьмем входную цепочку «if {a or b then а:= 25;».

После выполнения лексического анализа, если все лексемы типа «идентификатор» и «константа» обозначить как «а», получим цепочку: «if (a or a then а:= а».

Рассмотрим процесс синтаксического анализа этой входной цепочки:

{if (a or a then a := a;?к|?н |?} ? п

{(a or a then a := a;?к|?н if|?} ? п

{a or a then a := a;?к|?н if(|?} ? п

{or a then a := a;?к|?н if(a|?} ? с

{or a then a := a;?к|?н if(E|12} ? п

{a then a := a;?к|?н if(E or|12} ? п

{then a := a;?к|?н if(E or a|12} ? с

{then a := a;?к|?н if(E or E|12 12} ? с

{then a := a;?к|?н if(E|12 12 7} – нет отношения предшествования между лексемами «(» и «then», разбор закончен, МП-автомат не перешел в конечную конфигурацию, цепочка не принята (выдается сообщение об ошибке).

Оглавление книги


Генерация: 0.043. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз