20620

Семантический анализ

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Генерация промежуточного кода Основные формы промежуточного кода6 Для примитивных трансляторов используется синтаксическое дерево или DAG Постфиксная запись Трехадресный код: x:=y op z Пример: синтаксическое дерево t1=c t2=bt1 t4=c t5=bt4 t3=t5t2 a=t3 DAG t1=c t2=bt1 t3=t2t2 a=t3 постфиксная запись Трехадресный код представляет собой выражение типа Типы трехадресных конструкций инструкции присвоения где op арифметическая или логическая операция где op унарная операция инструкции копирования инструкции...

Русский

2013-07-31

144.5 KB

1 чел.

Лекция № 7.

Семантический анализ

Проверки, выполняемые на этапе семантического анализа.

  1.  проверка типов.

На этом этапе проверяется совместимость операторов и операндов.

Существуют фундаментальные и создаваемые типы.

Проверка типов выполняется в два этапа:

  •  статическая – производится на этапе семантического анализа.
  •  динамическая – производится на этапе выполнения программы.

  1.  проверка управления.
  •  Проверка согласованность команд управления
  •  Вложенность команд управления и т.п.
  1.  проверка единственности.

Переменные, функции, … с одинаковыми именами.

4. Генерация  промежуточного кода

Основные формы промежуточного кода6

  •  Для примитивных трансляторов используется синтаксическое дерево или DAG
  •  Постфиксная запись
  •  Трехадресный код: x:=y op z

Пример:

  1.   синтаксическое дерево

t1=-c

t2=b*t1

t4=-c

t5=b*t4

t3=t5+t2

a=t3

  1.   DAG

t1=-c

t2=b*t1

t3=t2+t2

a=t3

  1.  постфиксная запись

Трехадресный код – представляет собой выражение типа

Типы трехадресных конструкций

  1.  инструкции присвоения
  •   , где opарифметическая или логическая операция
  •   , где op – унарная операция
  1.  инструкции копирования

  1.  инструкции безусловного перехода

, где R метка

  1.  инструкции условного перехода

При представлении программ в виде трехадресного кода, каждой инструкция может быть сопоставлена метка, которая, как правило, сопоставляется с индексом инструкций в массиве инструкций.

Кроме того, используются инструкции для вызова процедур, доступа к индексированным ячейкам памяти, формирования адресов и указателей.

Построение последовательности трехадресной инструкции производится на основе синтаксических правил, соответствующим продукциям языка. Внутреннее представление трехадресной инструкции реализуется в виде последовательности записей с полями для операндов.

Формы представления:

  1.  четверки
    •  первое поле отводится под оператор
    •  два поля отводятся под операнды
    •  четвертое поле отводится под результат

Op

Arg1

Arg2

Res

(0)

-

c

t1

(1)

*

b

t1

t2

(2)

-

c

t4

(3)

*

b

t4

t5

(4)

+

t5

t2

t3

(5)

:=

t3

a

  1.  тройки (отсутствует последний столбец из четверок)
  •  первое поле отводится под оператор
  •  второе поле отводится под первый операнд
  •  третье поле отводится под второй операнд

Op

Arg1

Arg2

(0)

-

c

(1)

*

b

(0)

(2)

-

c

(3)

*

b

(2)

(4)

+

(1)

(3)

(5)

:=

a

(4)

  1.  косвенные тройки (вместо списка троек используется список указателей на тройки (р)). В сравнении с четверками нет лишних переменных, что позволяет экономить память.

Op

Arg1

Arg2

P

(0)

-

c

(10)

(1)

*

b

(0)

(11)

(2)

-

c

(12)

(3)

*

b

(2)

(13)

(4)

+

(1)

(3)

(14)

(5)

:=

a

(4)

(15)

Пример 1.

Построить синтаксическое дерево, постфиксную запись, трехадресный код в виде троек и четверок.

Синтаксическое дерево:

Постфиксная запись:

Трехадресный код:

(0)

+

b

c

t1

(1)

-

t1

t2

(2)

*

a

t2

t3

(0)

+

b

c

(1)

-

(0)

(2)

*

a

(1)

Пример 2.

Синтаксическое дерево:

Постфиксная запись: cd+a+ab+-cd+*+

Трехадресный код:

(0)

+

a

b

t1

(1)

-

t1

t2

(2)

+

d

c

t3

(3)

*

t2

t3

t4

(4)

+

t1

c

t5

(5)

+

t4

t5

t6

(0)

+

a

b

(1)

-

(0)

(2)

+

d

c

(3)

*

(1)

(2)

(4)

+

(0)

c

(5)

+

(3)

(4)


 

А также другие работы, которые могут Вас заинтересовать

85502. Электроснабжение горного предприятия ЗАО «Запорожский железорудный комбинат» (ЗАО «ЗЖРК») 507.66 KB
  В рудничное комплексное распределительное устройство КРУРН6 рудничные комплектные трансформаторные подстанции серии ТСВП ряд рудничных комплексных станций управления электроприводами механизированных комплексов очистных и подготовленных забоев рудничные автоматические...
85504. ОСОБЕННОСТИ ТАКТИКИ ПЕРВОНАЧАЛЬНЫХ И ПОСЛЕДУЮЩИХ СЛЕДСТВ СЛЕДСТВЕННЫХ ДЕЙСТВИЙ 128.03 KB
  Исходя из этого можно сделать вывод о том что кражи чужого имущества являются самыми распространенными деяниями из всех преступлений совершаемых на территории Тюменской области. Чаще всего встречаются кражи из квартир дач гаражей и других помещений принадлежащих отдельным гражданам кражи личных вещей на вокзалах и в поездах и т. Способы совершения краж весьма разнообразны: кражи государственного или общественного либо личного имущества граждан из помещений; кражи личного имущества граждан не связанные с проникновением в помещение...
85505. Разработка ИС выбора оптимального решения замены оборудования промышленного предприятия 674.5 KB
  В данной работе делается попытка решения проблемы распределения денежных средств предприятия на обновление основных фондов которое производится путем приобретения нового оборудования либо капитального ремонта старого предприятия. Для этой цели была спроектирована информационная система...
85506. Разработка предложения относительно улучшения реформирования пенсионного обеспечения 327 KB
  Актуальность указанного направления все более возрастает в связи с провозглашением в Украине курса на внедрение взвешенной экономической политики. Уменьшение поступлений в бюджет заострило проблему финансирования областей образования, здравоохранения, науки, культуры.
85507. Изучение особенностей института наследования в Российском гражданском праве 1.29 MB
  Институт наследования возник несколько тысячелетий назад с появлением частной собственности. Упоминание о наследовании можно найти в самых первых письменных источниках: глиняных табличках Шумера, египетских папирусах и др. Прогрессивное развитие и высокий уровень он получил в римском частном праве.
85509. Исследования специфики психолого-педагогической диагностики детей с нарушением зрения 370.5 KB
  Актуальность исследования данной проблематики связана с тем, что проблемы отклоняющегося развития в условиях экологических и социальных катаклизмов становится глобальными, общезначимыми. В связи с этим своевременная диагностика и специальное образование приобретают важную социальную функцию...