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