Page 9 - 4625
P. 9

Вихід: - «Так» + семантична структура (семантичний
            терм) програми;
                             - «Ні» + синтаксичні помилки в програмі.
                  4.  Оптимізація проміжного коду.
                      Вхід: семантичний терм програми.
                      Вихід: оптимізований семантичний терм програми.
                  Оптимізація – це еквівалентне перетворення програми на
            основі  певних  критеріїв.  Серед  критеріїв  оптимізації  можна
            виділити  оптимізацію  за  пам′яттю  та  оптимізацію  за  швид-
            кістю виконання результуючої програми. Залежно від підходів
            за оптимізації програми можна розглядати машиннозалежні та
            машиннонезалежні методи оптимізації. На відміну від машин-
            нонезалежних  методів  машиннозалежні  методи  оптимізації
            враховують архітектурні особливості ЕОМ, наприклад, наяв-
            ність апаратного стека, наявність вільних регістрів тощо.
                  5.  Генерація об’єктивного коду.
                      Вхід: семантичний терм програми.
                      Вихід: результуючий (об’єктивний)  код програми.

                     2.   ЛЕКСИЧНИЙ АНАЛІЗ У МОВНИХ
                                    ПРОЦЕСОРАХ
                  Призначення: перетворення вхідного тексту програми з
            формату зовнішнього представлення в машинно-орієнтований
            формат – послідовність лексем.
                  Лексема – це ланцюжок літер, елементарний об’єкт прог-
            рами, що несе певний семантичний зміст. У подальшому кож-
            ну лексему будемо представляти як пару:
                             (<клас _ лексеми, ім’я _ лексеми>)
                  У  більшості  мов  програмування  для  визначення  класів
            лексем достатньо скінченних автоматів.

                  2.1  Скінченні автомати

                  Означення:  недетермінований  скінченний  автомат  –  це
            п’ятірка:

                                            8
   4   5   6   7   8   9   10   11   12   13   14