Kompilyatsiya bosqichlari. Kompilyator tuzilishi Oldin aytilganidek, translyatsiya jarayoni ikki bosqichdan: tahlil bosqichi va natijaviy dasturni hosil qilish jarayonidan iborat. Biz ushbu bosqichlarni kompilyatsiya jarayoni misolida ko'rib chiqamiz va kompiyaltor qismlari bilan tanishamiz. Kompilyatsiya jarayoning umumiy sxemasi quyidagi 1-rasmda keltirilgan. Rasm. Kompilyatsiya sxemasi Ushbu sxemaga ko'ra analiz bosqichi 3 ta fazadan: leksik analiz, sintaksis analizi va semantik analiz bosqichlaridan iborat. Analiz jarayonida dasturning ichki (oraliq) ko'rinishi, identifikatorlar jadvali shakllantiriladi. Dasturda uchragan xatoliklar analiz qilinadi (yani xatoning turi aniqlanadi) va lokalizatsiya qilinadi (yani xato uchragan modul vayoki satr aniqlanadi), so'ngra topilgan xatoliklar haqida foydalanuvchiga xabar beriladi. Natijaviy (obyektli) kodni sintez (hosil) qilish bosqichi ikki fazadan: kod generatsiyasiga tayyorgarlik va bevosita kod generatsiyasi fazalaridan tashkil topgan. Kod generatsiyasi natijasida obyektli kod hosil qilinadi. Yuqoridagi sxemadan ko'rish mumkinki, formal tillar nuqtai-nazaridan kompilyator translyatsiya jarayonida ikki hil funksiyani bajaradi. Boshlang'ich til uchun kompilyatorning analiz qiluvchi qismi farqlovchi vazifasini bajaradi, yani aniqroq aytadiganda, agar dastur boshlang'ich til qoidalari asosida to'g'ri yozilgan bo'lsa, u holda tahlil muvaffaqiyatli yakunlanadi va dasturning ichki (oraliq) ko'rinishi hosil qilinadi. Aksincha bo'lsa u holda dasturdagi xatoliklar aniqlashtiriladi va bu haqda foydalanuvchiga xabar beriladi. Ikkinchi tomondan kompilyatorning natijaviy tildagi kodni sintez qiluvchi qismi mashina tilidagi kodni generatsiya (hosil) qilish bilan shug'ullanadi, va bunda albatta u mashina tilidagi to'g'ri dasturlarni aniqlovchi formal grammatika qoidalariga asoslanadi. Ushbu hosil qilingan dasturlar endi bevosita ijrochi (protsessor) tomonidan taniladi. Kompilyatsiya fazalari bilan batafsil tanishib chiqaylik. Avvalo shuni aytish kerakki, yuqoridagi rasmda tasvirlangan sxema - umumiy manzara. Konkret kompilyatorda ushbu sxema ancha o'zgartirilgan shaklda uchrashi mumkin. Leksik tahlil. Leksik tahlil davomida dastur matni chapdan o'ngga tomon simvolma-simvol ko'rib chiqiladi va simvollar leksemalarga birlashtiriladi. Eslatib o'tamiz dasturning manoga ega eng kichik tuzilmasi leksema deb ataladi. Dasturda leksema sifatida kalit so'zlar (manosi oldindan tayin qilingan identifikator), identifikatorlar, sonlar, arifmetik, mantiqiy yoki boshqa turdagi amal belgilari kelishi mumkin. Leksik tahlil davomida kompilyator leksemalar ro'yxatini quradi. Ushbu ro'yxatda leksemma, uning turi va boshqa informatsiya saqlanadi. Shuningdek agar leksema identifikator bo'lsa, u holda bu leksema identifikatorlar ro'yxatiga ham qo'shiladi. Leksik tahlilchining ishlash tartibi quyidagi 2-rasmda tasvirlangan. Rasm 1. Leksik tahlilchining ishlash tartibi. Sintaksis tahlili. Sintaksis tahlili uchun boshlang'ich ma'lumot leksemmalar ro'yxati bo'lib hisoblanadi. Sintaksis tahlili davomida kompilyator qiladigan ish - leksemmalar ro'yxati asosida tilning to'g'ri sintaksis konstruksiyasi, masalan biror operator, ifoda, ta'riflash konstruksiyasi va hakozolar to'g'ri qurilganligini tekshirishdan iborat. Masalan quyidagi leksemmalar ketma-ketligini ko'rib chiqaylik: for i:=1 do 5 to end begin; Leksik tahlilchi ushbu zanjirda hech qanday xatolikni payqamaydi, chunki barcha leksemalar Pascal ...

Joylangan
05 Jun 2024 | 16:38:57
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
148.77 KB
Ko'rishlar soni
121 marta
Ko'chirishlar soni
10 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 00:53
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 16:38 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
148.77 KB
Ko'rishlar soni
121 marta
Ko'chirishlar soni
10 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 00:53 ]
Arxiv ichida: doc