Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перевод в ПОЛИЗ операторов

Приложение Б Правила присвоения классификационного кода.................... 45 | Приложение В Пример оформления содержания курсовой работы............. 46 | Формальные грамматики | Диаграммы Вирта | Логическая_константа | Лексический анализатор программы | Алгоритм 2.1. Разбор цепочек символов по ДС с действиями | Синтаксический анализатор программы | Теорема 2.1. Достаточные условия применимости метода рекурсивного спуска | Обработка описаний |


Читайте также:
  1. A)Русско-французский переводчик
  2. Can выражает возможность или способность выполнить действие и переводится как "могу, умею".
  3. IV. Порядок назначения пенсии и перевода с одной пенсии на другую
  4. IX. Порядок перевода воспитанников из одной МДОО в другую МДОО
  5. Now I got a pot to piss in – pot переводится, как «горшок», но также может переводиться, как «кубок, выигрыш».
  6. OKCP 1. Письменный перевод статьи с русского языка на английский язык.
  7. Oт редактора перевода

Каждый оператор языка программирования может быть представлен как n -местная операция с семантикой, соответствующей семантике оператора.

Оператор присваивания I:=E в ПОЛИЗе записывается:

I E:=,

 

где «:=» - двуместная операция,

I, E – операнды операции присваивания;

I – означает, что операндом операции «:=» является адрес переменной I, а не ее значение.

Пример 2.14. Оператор x:= x +9 в ПОЛИЗе имеет вид: x x 9 +:=.

Оператор перехода в терминах ПОЛИЗа означает, что процесс интерпретации необходимо продолжить с того элемента ПОЛИЗа, который указан как операнд операции перехода. Чтобы можно было ссылаться на элементы ПОЛИЗа, будем считать, что все они пронумерованы, начиная с единицы (например, последовательные элементы одномерного массива). Пусть ПОЛИЗ оператора, помеченного меткой L, начинается с номера p, тогда оператору безусловного перехода goto L в ПОЛИЗе будет соответствовать:

 

p!, где! – операция выбора элемента ПОЛИЗа, номер которого равен p.

 

Условный оператор. Введем вспомогательную операцию – условный переход «по лжи» с семантикой if (not B) then goto L. Это двуместная операция с операндами B и L. Обозначим ее! F, тогда в ПОЛИЗе она будет записываться:

 

B p! F, где p – номер элемента, с которого начинается ПОЛИЗ оператора, помеченного меткой L.

 

С использованием введенной операции условный оператор if B then S 1 else S 2 в ПОЛИЗе будет записываться:

 

B p 1 ! F S 1 p 2 ! S 2, где p 1 – номер элемента, с которого начинается ПОЛИЗ оператора S 2, а p 1 – оператора, следующего за условным оператором.

 

Пример 2.15. ПОЛИЗ оператора if x >0 then x:= x +8 else x:= x -3 представлен в таблице 2.3.

 

Таблица 2.3 – ПОЛИЗ оператора if

 

лексема x   >   ! F x x   + :=   ! x x   - :=
номер                                    

 

Оператор цикла. С учетом введенных операций оператор цикла while B do S в ПОЛИЗе будет записываться:

 

B p 1 ! F S p o!, где p o – номер элемента, с которого начинается ПОЛИЗ выражения B, а p 1 – оператора, следующего за данным оператором цикла.

 

Операторы ввода и вывода языка М одноместные. Пусть R – обозначение операции ввода, а W – обозначение операции вывода, тогда оператор read (I) в ПОЛИЗе запишется как I R, а оператор write (E) – E W.

Составной оператор begin S 1; S 2;...; S n end в ПОЛИЗе записывается как S 1 S 2 ... S n.

Пример 2.16. ПОЛИЗ оператора while n >3 do begin write (n*n -1); n:= n -1 end представлен в таблице 2.4.

 

Таблица 2.4 – ПОЛИЗ оператора while

 


Дата добавления: 2015-11-14; просмотров: 76 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Анализ выражений| Синтаксически управляемый перевод

mybiblioteka.su - 2015-2024 год. (0.006 сек.)