Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Атрибутний метод визначення семантики програм. Синтезовані та успадковані атрибути. Порядок та правила обчислення атрибутів





Синтаксично кероване визначення — узагальнення контекстно-вільної граматики, в якій кожен граматичний символ має зв`язану множину атрибутів, розділену на дві підмножини, – синтезовані і успадковані атрибути цього граматичного символа.

Атрибут може бути чим завгодно, – строкою, числом, типом, адресою пам`яті і т.д. Значення атрибуту у вузлі дерева розбору визначається семантичними правилами, зв`язаними з використованою в даному вузлі продукцією. Значення синтезованого атрибута у вузлі обчислюється по значеннях атрибутів в нащадках даного вузла; значення успадкованих атрибутів визначається значеннями атрибутів сусдніх (тобто вузлів, що є нащадками по відношенню до батьківського вузла даного) і батьківського вузлів.

Атрибутний метод визначення семантики програм був запропонований Кнутом.

Ідея: з довільною граматикою пов`язана певна множина атрибутів. Значення одного атрибута обчислюється через значення інших атрибутів. Є правила, в котрих для певних атрибутів вводяться константи або певні значення з таблиць.

Для розрахунку атрибутів фіксується процедура (на синт. дереві), наприклад лівосторонній обхід дерева. Якщо атрибутна схема вимагає декілька переглядів дерева, то неефективно.

Проблема: Коректність атрибутної схеми — чи можна для довільного правила побудувати синтаксичне дерево обчислення довільних атрибутів?

Відповідь: Для довільного КВ-граматики не існує алгоритму перевірки коректності атрибутної схеми. Як вихід із положення, Кнут запропонував конкретизацію атрибутів, а саме поділення атрибутів на

1) успадковані (int i,j,k – типи “j” та “k” такі ж, як і у “i”),

2) синтезовані (напр. a+b, синтезовані з “а” та “b” за допомогою “+”).

Обмеження до конкретизації: Доведення атрибуту для даного правила може розраховуватись лише через атрибут, що пов`язаний з цим правилом, а також через атрибути нащадків для правої частини правила.

Висновок:

1) Атрибутну схему з конкретизацією легко перевірити на коректність

2) Атрибутну схему можна розрахувати за 1 перегляд.


 







Date: 2015-09-24; view: 539; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию