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)


 

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

41313. Изучение процесса ввода информации с датчиков 3.74 MB
  Такую характеристику внешней среды как температура приходится измерять довольно часто.Если говорить высоким стилем, то датчики создают «окно», сквозь которое микропроцессорные системы наблюдают за внешним миром. В этой рабрте рассматриваются различные типы датчиков, их применение и возможность сопряжения с микропроцессорами.
41314. Вывод управляющих сигналов 356.5 KB
  Соответствующий фрагмент программы написанной на Pscl’е будет выглядеть следующим образом: Создание проекта см. Если уже есть файл с текстом программы на Ассемблере и просто необходимо создать проект а затем подключить туда готовый программный файл снимите соответствующую галочку. Оно должно содержать имя файла куда будет записываться текст программы. При выборе этого элемента диалог создания проекта будет автоматически запускаться каждый раз при запуске программы...
41315. Использование средств ИС РПО для отладки взаимодействия с объектами управления 1.14 MB
  В качестве схемы сопряжения с линией связи ССЛС в интерфейсе RS232С удобно использовать интегральную схему типа MX232 Перечисленные последовательные интерфейсы реализуют радиальную стру-ктуру подключения. Это означает, что для подключения к каждому МПУ не-обходимо реализовать свой последовательный интерфейс:
41316. Изучение принципов организации аппаратного интерфейса USB. 987 KB
  Практически исследовать принципы организации аппаратного интерфейса USB Время: 2 часа Оборудование: ПК ПО. Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: принципы организации аппаратного интерфейса USB Методические указания по выполнению практической работы: Последовательность выполнения работы: Изучить и законспектировать основные теоретические...
41317. Изучение команд SSE и SSE2 1.24 MB
  Практически изучить команды SSE и SSE2 для МП. Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: команды управления на языке SM для МП. При этом использовать описание работы лабораторный блок ПК иллюстрационный материал; В практической части отработать следующие подразделы: Рассмотреть примеры использования команд ХММрасширения Выполнить пример формирования кода операции и порядок следования операндов команд ХММрасширения...
41318. Изучение команд обращения к портам. Реализа-ция последовательного и параллельного обмена данными 149.5 KB
  Основные теоретические положения Организация ввода вывода в микропроцессорной системе Вводом выводом ВВ называется передача данных между ядром ЭВМ включающим в себя микропроцессор и основную память и внешними устройствами ВУ. Управляющие данные от процессора называемые также командными словами или приказами инициируют действия не связанные непосредственно с передачей данных например запуск устройства запрещение прерываний и т. Управляющие данные от внешних устройств называются словами состояния; они содержат информацию об...
41319. Изучение команд пересылки данных МК МС 68HC908GP32 1.63 MB
  Практически изучить команды пересылки данных МК МС 68HC908GP32 ПК ПО. Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: команды управления на языке SM для МП. При запуске МК процедура RЕSЕТ в РС автоматически загружается адрес первой команды выполняемой программы вектор начального запуска из двух...
41320. Изучение команд передачи управления 4.09 MB
  Практически изучить команды передачи управления . Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: команды операций над числами . При этом использовать описание работы лабораторный блок ПК иллюстрационный материал; В практической части отработать следующие подразделы: Рассмотреть команды передачи управления; Выполнить примеры и отразить их в отчёте; Проанализировать результаты выполненных примеров. Основные теоретические положения Способы...
41321. Изучение программной модели команд управления на языке SM для МП 1.1 MB
  Практически изучить программную модель команд управления на языке SM для МП. Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: команды управления на языке SM для МП. При этом исполнение текущей последовательности команд приостанавливается прерывается а вместо нее начинает выполняться другая последовательность соответствующая данному прерыванию.