Kompilyator bu manba tilini (yuqori darajali til) ob'ekt tiliga (mashina tili) aylantiruvchi tarjimon. Kompilyatordan farqli o'laroq, tarjimon asl tilda yozilgan dasturlarning bajarilishini taqlid qiluvchi dasturdir



Download 436,38 Kb.
bet1/2
Sana21.04.2022
Hajmi436,38 Kb.
#571425
  1   2
Bog'liq
Kompilyator


O’zbekiston Respublikasi Axborot Texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi
Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
Tizimli dasturlash fanidan


Amaliy vazifa
Bajardi: Madaminov Dostonbek
Guruh: 311-18 Patok : SPP003-L1
Tekshirdi: Abduvaliyeva Zebiniso

Kompilyator - bu manba tilini (yuqori darajali til) ob'ekt tiliga (mashina tili) aylantiruvchi tarjimon. Kompilyatordan farqli o'laroq, tarjimon asl tilda yozilgan dasturlarning bajarilishini taqlid qiluvchi dasturdir. Kompilyator va tarjimon o'rtasidagi yana bir farq shundaki, kompilyator bir vaqtning o'zida butun dasturni o'zgartiradi, ikkinchi tomondan, tarjimon bir vaqtning o'zida bitta qatorni olib, dasturni o'zgartiradi.


Shubhasiz, odam va kompyuter kabi elektron qurilmani idrok etish boshqacha. Odamlar tabiiy tillar orqali hamma narsani tushunishlari mumkin, lekin kompyuterlar tushunmaydi. Inson o'qiy oladigan shaklda yozilgan tillarni kompyuter o'qiy oladigan shaklga aylantirish uchun kompyuterga tarjimon kerak.
Kompilyator va tarjimon til tarjimonining turlari. Til tarjimoni nima? Bu savol sizning xayolingizda bo'lishi mumkin.
Til tarjimoni - bu dasturlarni manba tilidan odam o'qishi mumkin bo'lgan shaklda ob'ekt tilidagi ekvivalent dasturga o'tkazuvchi dastur. Manba tili odatda yuqori darajali dasturlash tilidir va ob'ekt tili odatda haqiqiy kompyuterning mashina tilidir.

Kompilyator ta'rifi
Kompilyator - bu yuqori darajadagi tilda yozilgan dasturni o'qiydigan, uni mashina yoki past darajali tilga aylantiradigan va dasturda mavjud xatolar haqida xabar beruvchi dastur. U butun manba kodini bir vaqtning o'zida o'zgartiradi yoki uni bir nechta o'tishda amalga oshirishi mumkin, lekin nihoyat foydalanuvchi bajarishga tayyor bo'lgan kompilyatsiya qilingan kodni oladi.

Kompilyator bosqichma-bosqich ishlaydi; Turli bosqichlarni ikki qismga bo'lish mumkin:

Kompilyatorning tahlil qilish bosqichi, shuningdek, frontend deb ataladi, bu erda dastur asosiy qurilish bloklariga bo'linadi va kodning grammatikasi, semantikasi va sintaksisini tekshiradi, so'ngra oraliq kod hosil bo'ladi. Tahlil bosqichi leksik analizator, semantik analizator va parserni o'z ichiga oladi.


Kompilyator sintez bosqichi, shuningdek, oraliq kod optimallashtirilgan va maqsadli kod yaratiladigan back-end sifatida ham tanilgan. Sintez bosqichi kod optimallashtiruvchi va kod generatorini o'z ichiga oladi.
Kompilyator bosqichlari
Endi har bir bosqichning ishlashini batafsil tushunamiz.
Lexical Analyzer: U kodni belgilar oqimi sifatida skanerlaydi, belgilar ketma-ketligini tokenlarga guruhlaydi va dasturlash tiliga havola bilan tokenlar ketma-ketligini chiqaradi.
Parser: Ushbu bosqichda oldingi bosqichda yaratilgan tokenlar iboralar sintaktik jihatdan to'g'ri yoki yo'qmi, dasturlash tili grammatikasi bilan tekshiriladi. Buning uchun daraxtlarni tahlil qiladi.
Semantik analizator: Oldingi bosqichda yaratilgan iboralar va bayonotlar dasturlash tili qoidasiga mos kelishini tekshiradi va izohli tahlil daraxtlarini yaratadi.
Oraliq kod generatori: manba kodining ekvivalent oraliq kodini yaratadi. Oraliq kodning ko'plab tasvirlari mavjud, ammo TAC (Three Address Code) eng ko'p qo'llaniladi.
Code Optimizer: Dastur vaqti va makon talablarini yaxshilaydi. Buning uchun dasturda mavjud bo'lgan ortiqcha kodni yo'q qiladi.
Kod generatori: Bu kompilyatorning oxirgi bosqichi bo'lib, unda ma'lum bir mashina uchun maqsadli kod yaratiladi. U xotirani boshqarish, registrlarni tayinlash va mashinaga xos optimallashtirish kabi operatsiyalarni bajaradi.

Belgilar jadvali ma'lum darajada identifikatorlarni va u saqlaydigan tegishli ma'lumotlar turlarini boshqaradigan ma'lumotlar strukturasidir. Xato ishlov beruvchisi kompilyatorning turli bosqichlari o'rtasida yuzaga keladigan xatolarni aniqlaydi, hisobot beradi va tuzatadi.
Tarjimon tushunchasi
Tarjimon dasturlash tilini amalga oshirish uchun muqobildir va kompilyator bilan bir xil vazifani bajaradi. Tarjimon kompilyatorga o'xshash tarzda lekslash, tahlil qilish va tipni tekshirishni amalga oshiradi. Ammo tarjimon sintaksis daraxtidan kod yaratish o'rniga, ifodalarga kirish va bayonotni bajarish uchun to'g'ridan-to'g'ri sintaksis daraxtini qayta ishlaydi.
Tarjimonga bir xil sintaksis daraxtini bir necha marta qayta ishlash kerak bo'lishi mumkin, shuning uchun tarjima qilish kompilyatsiya qilingan dasturni bajarishdan nisbatan sekinroq.
Dasturlash tilini amalga oshirish uchun kompilyatsiya va sharhlash birlashtirilgan. Bunda kompilyator o'rta darajadagi kodni yaratadi, keyin kod mashina kodiga kompilyatsiya qilish o'rniga talqin qilinadi.

Tarjimondan foydalanish dasturni ishlab chiqishda foydalidir, bunda eng muhimi dasturni samarali bajarishdan ko'ra uning modifikatsiyasini tezda sinab ko'rishdir.




Download 436,38 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish