5-amaliy ish. Forth stack mashinasi




Download 35,2 Kb.
bet3/10
Sana12.01.2024
Hajmi35,2 Kb.
#135582
1   2   3   4   5   6   7   8   9   10
Bog'liq
5-amaliy mashgulot

Oddiy kompilyatorlar
Yig'ish mashinalari uchun kompilyatorlar boshqa mashinalar uchun kompilyatorlarga qaraganda osonroq va tezroq tuziladi. Kodni yaratish ahamiyatsiz va oldingi yoki keyingi kodga bog'liq emas. Rasmda * ( ) + ( ) iboralariga mos keladigan sintaksis daraxti ko'rsatilgan .
* ( ) + ( ) ifodasi uchun ikkilik sintaksis daraxti
Oddiy stakalash mashinasi uchun tuzilgan kod ( A B C - * D E + + ifodalarining teskari Polsha yozuviga mos keladigan ) bo'ladi:
# stack tarkibi (leftmost = top):
A # A tugmachasini bosing
B # BA tugmachasini bosing
surish C # KBA
miloddan avvalgi # A ni olib tashlang
ko'paytiring # A * (BC)
Matbuot D # DA * (miloddan avvalgi)
Matbuot E # Ado * (miloddan avvalgi)
# D + EA * (BC) qo'shing
# A * (BC) + (D + E) qo'shing
"Ajratish", "ko'paytirish" va "qo'shish" arifmetik amallari stakning yuqori ikkita operandasida ishlaydi.
Bunday oddiy kompilyatsiya ajralish yordamida amalga oshirilishi mumkin. Ro'yxatdan o'tish boshqaruvi talab qilinmaydi. Ko'pgina stek mashinalari xotiraga kirishning oldini olish uchun stek yozuvlarini nusxalashi mumkin (bu juda sekin), lekin ular odatda ahamiyatsiz. Qo'shish, indekslangan yuklash yoki funktsiya chaqiruvlarining umumiy ishini boshqaradigan bir xil opcode, shuningdek, murakkab sub expressions va ichki qo'ng'iroqlarni o'z ichiga olgan umumiy ishni boshqaradi . Kompilyator va protsessorga manzillar uchun alohida hisoblash yo'llari bo'lgan ko'rsatmalar uchun maxsus holatlar kerak emas.
Ushbu soddalik kompilyatorlarning juda kichik mashinalarga moslashishiga imkon berdi. Oddiy kompilyatorlar tezda yangi mahsulot turlarini bozorga chiqarishga imkon berdi va yangi operatsion tizimlarni yig'ilish o'rniga to'liq yuqori darajadagi tilda yozish imkonini berdi. Masalan, UCSD p-System 8-bitli boshlang'ich mikroprotsessorlarda talabalar uchun to'liq dasturlash muhitini qo'llab - quvvatlagan, buyruqlar to'plami kam va operativ xotirasi kam bo'lgan, haqiqiy apparat emas, balki virtual stack mashinasida to'plangan.
Stak mashinalari uchun kompilyatorlarning soddaligining kamligi shundaki, sof stak mashinalari kamroq optimallashtirishga ega ( quyi bo'limlarga qarang § Stak mashinalarining ishlash kamchiliklari ). Biroq, tuzilgan stek kodini optimallashtirish mumkin. Kompilyatorning chiqishini ichki optimallashtirish kodni va potentsial ishlashni sezilarli darajada yaxshilaydi, shu bilan birga kompilyatorning o'zida global optimallashtirish yanada rivojlanadi.

Download 35,2 Kb.
1   2   3   4   5   6   7   8   9   10




Download 35,2 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



5-amaliy ish. Forth stack mashinasi

Download 35,2 Kb.