Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 Прямые методы трансляции Польская запись.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
138 Кб
Скачать
☆

1.7.П олучение опз для оператора цикла for

О ператор цикла: for <пц> := <нз> to <кз> do <тц>; можно представить в виде дерева:

Особенности обработки:

1. Символ for играет роль открывающей скобки и имеет приоритет 0. В вершину стека записывается FOR <пц>.

2. Символ to является закрывающей скобкой для предшествующего выражения, поэтому имеет приоритет 1 и выталкивает из стека все знаки до записи FOR. Новая метка mi добавляется в таблицу меток и к записи FOR – получается FOR <пц> mi. В выходную строку записывается mi: <пц>.

3. Символ do является закрывающей скобкой для предшествующего выражения , поэтому имеет приоритет 1 и выталкивает из стека все знаки до записи FOR. Новая метка mi+1 добавляется в таблицу меток и к записи FOR – получается FOR <пц> mi mi+1. В выходную строку записывается <= mi+1 УПЛ.

4. Конец оператора цикла (символы «;» и end). При их появлении стек очищается. Если при этом встретится запись FOR <пц> mi mi+1, то это означает окончание оператора цикла. В выходную строку добавляется запись <пц> <пц> 1 + := mi БП mi+1: После этого запись FOR из стека удаляется.