Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по ТЯП. / готовый курсовик.doc
Скачиваний:
36
Добавлен:
01.05.2014
Размер:
1.2 Mб
Скачать

4.4.6 Описание используемых операционных символов

Операционный символ

Атрибуты

Комментарий

{AddVar}p,name

p – тип переменной

name- имя переменной

Добавление переменной в таблицу идентификаторов

{AddLabel}v2

v2 – адрес идентификатора или целого в соответствующей таблице лексического анализатора

Добавляет в таблицу меток метку с указанным именем

{AddVec}q,p,d

p – тип переменной

name- имя переменной

d - размерность

Добавление вектора в таблицу идентификаторов, его размерность записывается в графе «значение» этой таблицы

{REL}p1, p2, p3, r

r - адрес рез-та, устанавливается тип boolean

p1 - код операции1

p2 - 1-ый операнд

p3 - 2-ой операнд

код операции соответствует типу операции сравнения

{ASS}p1, p2, p3

p1 - код операции

p2 - 1-ый операнд и адрес результата

p3 - 2-ой операнд

код операции соответствует типу операции присваивания

{ADD}p1, p2, p3,p4

p1- 1-ый операнд

p2- 2-ой операнд

p3- адрес результата

p4- тип операции

Формирование тетрады + или – в зависимости от кода операции

{MUL}p1, p2, p3,p4

p1- 1-ый операнд

p2- 2-ой операнд

p3- адрес результата

p4- тип операции

Формирование тетрады * или / в зависимости от кода операции

{DEFL}b

b – номер метки в таблице

Если данная метка существует в таблице меток, то формируется соответствующая тетрада DEFL

{BLR}b

b – номер метки в таблице

Если данная метка существует в таблице меток, то формируется соответствующая тетрада BLR

{begin_cycle} m1, m2, p1, p2, p3, p4

m1 - метка начала цикла

m2 - метка конца цикла

p1 - имя переменной цикла

p2 - начальное значение

p3 - шаг цикла

p4 - граничное значение

Формирует тетрады на присваивание переменной цикла начального значения, проверку граничного значения этой переменной, обеспечение перехода по той или иной метке в случае выполнения/невыполнения условий проверки

{end_cycle}p1, p2, p3, p4

p1 - имя переменной цикла

p2 - шаг

p3 - метка начала цикла

p4 - метка конца цикла

Изменяет значение переменной цикла в соответствии с заданным циклом и совершает переход на начало цикла. После этого формируется метка выхода из цикла.

{BF}m, v

m – номер метки в таблице

v – значение типа boolean

Формирует тетраду BF, если в таблице меток есть m, а v имеет значение boolean

{OR}p1, p2, r

p1 – 1-й операнд

p2 – 2-й операнд

r – результат типа boolean

Формируется тетрада OR, если операнды булевского типа

{AND}p1, p2, r

p1 – 1-й операнд

p2 – 2-й операнд

r – результат типа boolean

Формируется тетрада AND, если операнды булевского типа

{NOT}p1, r

p1 – адрес операнда

r - адрес результата, устанавливается тип boolean

Формируется тетрада NOT, если операнд булевского типа

{++}p1

p1 – 1-ый операнд и адрес результата

Формируется тетрада ++

{--}p1

p1 – 1-ый операнд и адрес результата

Формируется тетрада --

{~}p1, p2,

p1- адрес вектора в таблице идентификаторов

p2-адрес результата-значения длины вектора

Формируется тетрада LEN для вычисления длины вектора

{CIN} p1

p1- 1-ый операнд

Формируется тетрада CIN

{COUT} p1

p1- 1-ый операнд

Формируется тетрада COUT

{SUBS} name, ind, r

name - имя вектора

ind – индекс элемента в векторе

r- элемент name[ind]

Формируется тетрада SUBS

Введем соглашение о том, что если у операционного символа все атрибуты равны 10, то такой операционный символ тетрады не порождает.