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)


 

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

81258. Форма государственного устройства 39.69 KB
  Конституция разграничивает полномочия субъектов и самой федерации.Территория федерации состоит из: а Субъектов которые по-разному называются. Субъекты федерации могут принимать свои конституции законы постановления и другие нормативно-правовые акты.
81259. Демократический политический режим 38.4 KB
  Демократическая политическая система это организация легальной опирающейся на законы и подконтрольной обществу власти. В демократическом государстве народ является источником власти. Профессионализация власти отличительный признак государства в котором существует демократический политический режим.
81260. Тоталитарный политический режим 36.12 KB
  Высокая концепция власти гипертрофия руководящего аппарата его проникновение во все поры жизни общества. тоталитаризм характеризуется монополией власти на информацию полным контролем за средствами массовой информации. Все силовые структуры находятся в исключительном подчинении центру политической власти.
81262. Внешние функции государства 38.91 KB
  Основные направления деятельности государства называются функциями государства. К внутренним функциям охватывающим сферу внутренней самостоятельной жизни государства непосредственно касающимся каждого члена общества относятся следующие виды функций. Их количество задачи компетенция взаимоотношения и связи между ними определяются функциями государства.
81263. Внутренние функции государства 38.16 KB
  Предназначение государства Проявляющееся в его функциях есть объективная необходимость выполнения общественно полезной социально обусловленной деятельности. Деятельность государства многогранна она охватывает самые различные стороны общественной жизни. Основные направления деятельности государства называются функциями государства.
81264. Государственный аппарат: понятие, структура, принципы формирования и деятельности 38.36 KB
  В более узком смысле под государственным аппаратом понимают аппарат государственного управления. Наиболее общие характерные признаки государственного аппарата выражаются в следующем: Механизм государства состоит из людей специально занимающихся управлением законотворчеством исполнением законов их охраной от нарушений. Функции всех звеньев государственного аппарата обеспечиваются организационными и финансовыми средствами а в необходимых случаях и принудительным воздействием. Вследствие изменений происходящих в общественной жизни...
81265. Политическая система общества: понятие, структура 35.74 KB
  Политическая система включает организацию политической власти отношения между обществом и государством характеризует протекание политических процессов состояние политической деятельности уровень политического творчества в обществе характер политического участия. исторической и национальной традицией уклада политической жизни политически активным или пассивным населением с кровнородственными связями или без них с развитыми или не развитыми гражданскими отношениями и т. Структуру политической системы составляют политические...
81266. Государство в политической системе общества 37.11 KB
  Признание соблюдение и защита прав и свобод человека и гражданина обязанность государства ст. В идеале каждое современное государство стремится к тому чтобы его социальная основа закрепленная конституцией которую составляют все подданные государства превратилась в его реальную основу. Особое место и роль государства в политической системе общества определяется еще и тем что в его руках находятся огромные материальные и финансовые ресурсы.