Page 30 - 4611
P. 30

2.3  Побудова  трансляторів  з  точки  зору  комп’ютерної

               лінгвістики


                      Завдання транслятора — зробити програму, написану мовою

               програмування,  зрозумілою  для  комп’ютера.  Цього  можна
               досягнути двома способами: компіляцією або інтерпретацією.
                      Компілятор  —  це  програма,  що  переводить  програму  у

               еквівалентну програму на мову, зрозумілу для комп’ютера (рис.
               2.1).

















                                Рисунок 2.1 – Компілятор як чорний ящик

                      Процес  компіляції  складається  з  двох  частин:  аналізу  та

               синтезу.  Аналізуюча  частина  компілятора  розбиває  вхідну
               програму  на  складові  елементи  та  створює  проміжне
               представлення  вихідної  програми.  Синтезуюча  частина  з

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

               які є в тексті програми.
                      Процес  створення  компілятора  можна  звести  до  рішення
               кількох  задач,  які  називають  фазами  компіляції.  Зазвичай

               виділяють такі фази:
                      - лексичний аналіз;
                      - синтаксичний аналіз;
                      - видозалежний (семантичний) аналіз;

                      - оптимізація;
                      - генерація коду.
                      Розглянемо дані фази. Нехай дано оператор присвоєння:

               position = initial + rate * 60; /* відносно дійсного числа */



                                                           30
   25   26   27   28   29   30   31   32   33   34   35