Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Системне програмне забезпечення

Реферат Системне програмне забезпечення





посередно Звертатися до команд результуючої програми.

синтаксичні дерева могут буті перетворені в Другие форми внутрішнього представлення програми, что представляються собою лінійні списки, з урахуванням семантики вхідної мови. Алгоритми такого роду перетвореності розглянуті далі. Ці Перетворення віконуються на Основі Принципів СК-компіляції.

Багатоадресній код з явно іменованім результатом (зошити)

Зошити являютя собою запис операцій У ФОРМІ з чотірьох складових: Операції, двох операндів и результату Операції. Наприклад, зошити могут віглядаті так:

Зошити являютя собою лінійну послідовність команд. При обчісленні вирази, записаного У ФОРМІ тетрад, смороду обчислюють одна за іншою послідовно. Кожна тетрада в послідовності обчіслюється так: Операція, задана зошитів, віконується над операндами и результат ее Виконання містіться в змінній, заданій результатом зошити. Если Якийсь з операндів (чі обидва операнда) у тетраді відсутні (Наприклад, ЯКЩО тетрада являє собою Унарні операцію), то ВІН может буті опущень чг чинний порожнім операндом (у залежності від прійнятої форми Записів и ее реалізації).

Зошити являютя собою лінійну послідовність, а тому для них нескладно напісаті трівіальній алгоритм, Що буде перетворювати послідовність тетрад у послідовність команд результуючої грами (або послідовність команд асемблера). У цьом їхня перевага перед синтаксичними деревами. На відміну від команд асемблера зошити НЕ залежався від архітектури обчіслювальної системи, на якові орієнтована рез ультуюча программа. Тому смороду являютя собою машинно-незалежну форму внутрішнього представлення програми.

Зошити вімагають больше пам'яті для свого представлення, чем тріади, смороду такоже НЕ відображають явній Взаємозв'язок операцій между собою. Крім того, є складності з перетворенням тетрад у машини код, ТОМУ ЩО смороду погано відображаються в команді асемблера и машінні коди, оскількі в наборах більшості СУЧАСНИХ комп'ютерів Рідко зустрічаються Операції з трьома операндами.

Багатоадресній код з неявно іменованім результатом (тріади)

тріади являютя собою запис У ФОРМІ трьох складових:

<Операція> (<операнд1>; <операнд2>)

Їх особлівістю є ті, что один або Обидва операнди могут буті посилання на агентство іншу тріаду. Це в того випадка, ЯКЩО в якості операнда даної тріади Виступає результат Виконання Іншої тріади. Тому тріади при запісі нумерують послідовно для зручності ПОСИЛАННЯ.

Кожна Тріада обчіслюється таким чином: Операція, яка задана тріадою, віконується над операндами, ЯКЩО в якості одного Із операндів або двох є посилання на агентство іншу тріаду, то береться результат обчислення тієї тріади. Результат обчислення кожної тріади нужно зберігаті в тімчасовій пам'яті, так як ВІН может знадобітіся Наступний тріадам. Если один операнд відсутній, ВІН может буті упущень.

ПЕРЕВАГА:

легке написання алгоритму;

легко перевести в Асемблер ний код.

Недолік: необхідній алгоритм для зберігання в пам'яті проміжного результату.

тріади є машинно незалежні, вімагають менше пам'яті чем зошити.

Обернений польський запис

Перевага: Ефективний для обчислення математичних віразів.

Недоліки:

звітність, використовуват стек

Важко делать оптімізацію

Нехай задано Арифметичний вирази увазі: (A + B) * (C + D)-E

представимости цею вирази у вігляді польського запису: AB + CD + * E-

Обернений польський запис володіє властівостямі, Які перетворюють его в Ідеальну проміжну мову при трансляції:

1. обчислення вирази может проводитись Шляхом одноразового перегляду, что ЗРУЧНИЙ для генерації кодом

2. Отримання польського запису просто здійсніті на Основі алгоритмом DX3.


13. Визначення формальної мови и граматики

В 

Формальні мови - це математичний апарат, что дозволяє математичность грамотно создать мови програмування І писати компіляторі для них.

формальність мову можна Задати як послідовність слів. Слово - це послідовність сімволів. Тоді даже програму можна вважаті просто словом. p> Словами даної мови может буті НЕ довільній набор сімволів, а лексічно и синтаксичною правильно побудованій. Для того, щоб Задати граматику, треба Задати множини термінальніх и НЕ термінальніх сімволів.

Термінальні - це символи, Які Використовують в мові, а проміжні або нетермінальні - це символи, Які Використовують для создания слів мови. Створюються слова за граматичний правилами. ! Застосування правила Полягає в заміні в перетворюваному рядку якоїсь послідовності сімволів, что співпадає з лівою або правою Частинами правила.

Компілятор, отримай на вхід програму, Робить зворотнього роботу. ВІН згортає за граматичний правилами від правої до лівої Частини Початкові символи.

Кінцева множини сімволі...


Назад | сторінка 13 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка листів робочої зошити з дисципліни &Екологія&
  • Реферат на тему: Розробка робочої зошити зі спеціальної дисципліни &Експлуатація автомобільн ...
  • Реферат на тему: Розробка програми, що представляє собою
  • Реферат на тему: Розробка програми для Windows, що представляє собою MP3 плеєр
  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд