Линейная форма стандартной схемы
Для использования линейной формы СПП множество специальных символов расширим дополнительными символами { :, goto, if, then, else }. СПП в линейной форме представляет собой последовательность инструкций, которая строится следующим образом:
1.если выходная дуга начальной вершины с оператором start (х1,..., хn) ведет к вершине с меткой L, то начальной вершине соответствует инструкция:
0: start( х1,..., хn ) goto L;
2.если вершина схемы S с меткой L - преобразователь с оператором присваивания х:=τ, выходная дуга которого ведет к вершине с меткой L 1, то этому преобразователю соответствует инструкция:
L: x:= τ goto L 1;
3.если вершина с меткой L - заключительная вершина с оператором stop (τ1,...τ m), то ей соответствует инструкция:
L: stop (τ1,..., τ m);
4.если вершина с меткой L - распознаватель с условием р (τ1,...τ k), причем 1-дуга ведет к вершине с меткой L 1, а 0-дуга - к вершине с меткой L 0, то этому распознавателю соответствует инструкция:
L: if р (τ1,...τ k) then L 1 else L 0;
5.если вершина с меткой L - петля, то ей соответствует инструкция:
L: loop.
Обычно используется сокращенная запись (опускание меток). Полная и сокращенная линейные формы ССП (рисунок 1.3, а) приведены ниже
0: start (х) goto 1, start (х),
1: у:=а goto 2, у:=а,
2: if р (х) then 5 else 3,2: if р (х) then 5 else 3,
3: у:=g (x,y) goto 4,3: у:=g (x,y),
4: х:=h (x) goto 2, х:=h (x) goto 2,
5: stop (у).5: stop (у).
Дата добавления: 2015-12-20; просмотров: 19; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!