Page 52 - 4761
P. 52

Очевидно що даний алгоритм легко розширити і для більш складних операцій, які
                  вимагають 3 і більше операндів.
                         Приклад 4.3. Обчислити вирази за допомогою зворотного польського запису.













                                                 Обчислення виразу 6+7*(10+4)












                                                 Обчислення виразу 6+(7+10)*4













                                                  Обчислення виразу 6+7+10*4

                            Рисунок 4.1 – Обчислення виразів в зворотному польському запису
                                                     з використанням стеку

                         Асемблерний  код  і  машинні  команди.  Машинні  команди  зручні  тим,  що  при
                  їхньому  використанні  внутрішнє  представлення  програми  (ВПП)  повністю  відповідає
                  об’єктному коду і складні перетворення не потрібні.
                         Проте використання команд асемблера або машинних команд для ВПП потребує
                  додаткових структур для відображення взаємозв’язку операцій.
                         В цьому випадку ВПП є залежним від архітектури обчислювальної системи, на яку
                  орієнтовано результуючий код. Отже, при орієнтації компілятора на другий результуючий
                  код,  потрібно  перебудувати  так  само  ВПП  та  методи  його  обробки  (при  використанні
                  тетрад або тріад цього не треба).














                                                                50
   47   48   49   50   51   52   53   54   55   56   57