Формальные языки, грамматики и основы построения трансляторов. Кревский И.Г - 62 стр.

UptoLike

62
В1. Свести систему графов к как можно меньшему числу отдельных
графов с помощью соответствующих подстановок.
В2. Преобразовать каждый граф в описание процедуры в соответствии
с приведенными ниже правилами В3-В7.
В3. Последовательность элементов
S
1
S
2
. . .
S
m
переводится в составной оператор
{
T(S
1
);
T(S
2
);
...;
T(S
n
)
}
В4. Выбор элементов
S
1
S
2
S
n
. . .
переводится в условный оператор
if(belongsTo(ch, L
1
)) T(S
1
);
else if(belongsTo(ch, L
2
)) T(S
2
);
else ...
if(belongsTo(ch, L
n
)) T(S
n
);
else error();
где L
i
означает множество начальных символов конструкции S
i
(L
i
= first(S
i
)),
а функция belongsTo(ch, L
i
) возвращает истинное значение, если
символ ch принадлежит соответствующему множеству начальных символов
L
i
и ложное значение в противном случае.
                                                                            62
     В1. Свести систему графов к как можно меньшему числу отдельных
графов с помощью соответствующих подстановок.


     В2. Преобразовать каждый граф в описание процедуры в соответствии
с приведенными ниже правилами В3-В7.


     В3. Последовательность элементов
      S1          S2      ...        Sm

переводится в составной оператор
{
    T(S1 );
    T(S2 );
    ...;
    T(Sn )
}

     В4. Выбор элементов

             S1

             S2

            ...

             Sn

переводится в условный оператор
if(belongsTo(ch, L1)) T(S1);
   else if(belongsTo(ch, L2)) T(S2);
           else ...
                 if(belongsTo(ch, Ln)) T(Sn);
                 else error();
где Li означает множество начальных символов конструкции Si (Li = first(Si )),
а функция belongsTo(ch,          Li) возвращает истинное значение, если
символ ch принадлежит соответствующему множеству начальных символов
Li и ложное значение в противном случае.