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)


 

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

37259. Многозадачная операционная система MS Windows 1.09 MB
  Особенности операционной системы Windows : Многозадачность – одновременное выполнение нескольких программ; Многооконный графический интерфейс – все работы выполняються на рабочем столе где расположены различные обьекты для работы и инструменты работы: кнопки меню; Оптимизирована для работы на 32разрядном процессоре; Обмен данными между различными программами Windows; Эффективная работа с памятью; Использование длинных имен файлов; Автоматическая настройка различных внешних устройств; Является ОС для одноранговой локальной...
37260. Базы данных БД (СУБД Microsoft Access 9Х) 4.37 MB
  БАЗА ДАННЫХ это единое централизованное хранилище данных определенной предметной области под предметной областью здесь понимается например школа предприятие районо и др. Каждая программа имеет доступ к конкретным данным базы данных с помощью специальных программ которые получили название системы управления базами данных СУБД. Примерами баз данных являются: библиотечные каталоги записная книжка классные журналы журналы учета имущества галантерейной базы и др.
37261. Программа TOTAL COMMANDER 1.14 MB
  Файловый менеджер Totl Commnder предоставляет еще один способ работы с файлами и папками в среде Windows. Программа в простой и наглядной форме обеспечивает выполнение таких операций с файловой системой как переход из одного каталога в другой создание переименование копирование перенос поиск просмотр и удаление файлов и каталогов а также многое другое. не устанавливается на компьютер вместе с установкой самой Windows как например программа для работы с файловой системой Проводник или стандартные программы Блокнот Калькулятор и т.
37262. Креслення засобами прогарми AutoCAD 229.5 KB
  Також можна набрати з клавіатури: line У відповідь система видасть: Specify first point: Вводимо координати першої точки: 1010. Далі вводяться координати наступних точок: Specify next point or [Undo]:30.20 Specify next point or [Undo]:35.50 Для завершення побудови можна тиснути клавішу ENTER або скористатися ключами с close чи u undo: Specify next point or[Close Undo]:close Тут ключ close автоматично замикає проведені сегменти ключ undo – відміняє проведення останнього сегмента.
37263. Микросхема ПЗУ и система BIOS 46.5 KB
  Комплект программ находящихся в ПЗУ образует базовую систему вводавывода BIOS Bsic Input Output System. Программы входящие в BIOS позволяют нам наблюдать на экране диагностические сообщения сопровождающие запуск компьютера а также вмешиваться в ход запуска с помощью клавиатуры. BIOS в общем случае представляет собой набор правил определяющих как происходит конфигурирование компонент компьютера при его включении как его устройства взаимодействуют друг с другом как осуществляется простейший ввод вывод данных.
37264. Гуманітарна підготовка в ЗС України 125 KB
  Розкрити роботу щодо організації гуманітарної підготовки в частинах та підрозділах ЗС України. Проаналізувати основні вимоги порядок підготовки і проведення занять з гуманітарної підготовки . Основна частина 70 Заслуховування доповіді 10 Обговорення відпрацювання першого питання: Організація гуманітарної підготовки в частинах та підрозділах ЗС України. 30 Обговорення відпрацювання другого питання: Основні вимоги порядок підготовки і проведення занять з гуманітарної підготовки 30 3.
37265. Техніка комунікабельності офіцера 172.5 KB
  Оголосити тему заняття, її актуальність та зв'язок з іншими темами, мету та навчальні питання, які будуть розглянуті. Особливу увагу на занятті необхідно звернути на те, що існує об'єктивна потреба в оволодінні всім офіцерським складом загальними поняттями про психологію спілкування у військовому колективі, а також розкрити сутність, функції та структура спілкування
37266. Методика виховного впливу на військовослужбовців в арміях НАТО 153 KB
  Заняття №20: Методика виховного впливу на військовослужбовців в арміях НАТО. Основна частина 70 Обговорення питання №1 “Форми методи і техніки виховання військовослужбовців в арміях провідних країн світу †35 Обговорення питання №2 “ Аналіз відео інформаційних матеріалів з мережі Інтернет щодо вирішення офіцерами проблемних питань щодо виховання підлеглих в арміях провідних країн світу †35 3. Головною метою його роботи є оптимізація спільної військової діяльності міжособистісних взаємин а також моральнопсихологічного стану...
37267. Осветительные приборы автомобиля на основе светодиодов 3.83 MB
  Можно утверждать, что ни один из известных вариантов исполнения приборов системы освещения не решает всего комплекса проблем внешних осветительных приборов транспортных средств, при относительно невысокой стоимости изделий этого класса.