KOMPILYALAR
Kompilyator deganda bitta dasturlash tilida (manba tili deb ataladi) yozilgan kompyuter kodini boshqa dasturlash tiliga (maqsadli til deb ataladi) tarjima qilish uchun foydalaniladigan kompyuter dasturi tushuniladi. Kompilyator atamasi birinchi navbatda manba kodlarini yuqori darajadagi dasturlash tilidan quyi darajadagi dasturlash tiliga tarjima qiladigan dasturlar uchun qo'llaniladi. Masalan, bajariladigan dasturni yaratish uchun mashina kodi, ob'ekt kodi yoki montaj tili.
Shuni ta'kidlash kerakki, kompilyatorlarning ko'p turlari mavjud. Agar kompilyatsiya qilingan dastur operatsion tizimi yoki protsessori kompilyator ishlayotganidan farq qiladigan kompyuterda ishlashi mumkin bo'lsa, kompilyator o'zaro kompilyator deb ataladi. Boshqa tomondan, bootstrap kompilyatori kompilyatsiya qilmoqchi bo'lgan tilda yozilgan. Dekompilyator - bu past darajadagi tilni yuqori darajadagi tilga tarjima qilish uchun ishlatiladigan dastur. Yuqori darajadagi tillar o'rtasida tarjima qilish uchun ishlatiladigan dastur manbadan manbaga kompilyator deb ataladi. Uni transpiler deb ham atash mumkin. Tilni o'zgartirmasdan iboralar shaklini tarjima qilish uchun mas'ul bo'lgan dastur tilni qayta yozuvchi deb nomlanadi. Kompilyator-kompilyator atamasi sintaksis tahlilini amalga oshirish uchun mas'ul bo'lgan parserlarni yaratish uchun ishlatiladigan vositalarni anglatadi.
Kompilyator tomonidan bajariladigan ba'zi operatsiyalarga quyidagilar kiradi: oldindan ishlov berish, tahlil qilish, (sintaksisga yo'naltirilgan tarjima) semantik tahlil, leksik tahlil, kod yaratish, kodni optimallashtirish va kirish dasturlarini oraliq tasvirga aylantirish. Kompilyatorlar ushbu operatsiyalarni turli bosqichlarda amalga oshirish uchun mas'uldirlar, bu esa to'g'ri o'zgarishlarni va maqsadli chiqishga manba kiritishini samarali loyihalashni ta'minlaydi. Kompilyatorning noto'g'ri xatti-harakatidan kelib chiqqan dastur xatolarini kuzatib borish va ularni hal qilish juda qiyin bo'lishi mumkin. Shuning uchun kompilyatorni amalga oshiruvchilar kompilyatorning to'g'riligini ta'minlash uchun katta kuch sarflaydilar.
Shuni ta'kidlash kerakki, kompilyatorlar manba dasturlarini o'zgartirish uchun foydalaniladigan yagona tarjimonlar emas. Ko'rsatilgan operatsiyalarni o'zgartirish va keyin bajarish uchun mas'ul bo'lgan kompyuter dasturi tarjimon deb ataladi. Tarjima jarayoni kompyuter tillari dizayniga ta'sir qiladi, bu esa tarjima yoki kompilyatsiya afzal ko'rishga olib keladi. Amalda kompilyatorlar va kompilyatsiya qilingan tillar uchun tarjimonni amalga oshirish tarjima qilingan tillar uchun amalga oshirilishi mumkin.
E'tibor bering, kompilyatordan foydalanganda dasturni ishga tushirish uchun ikki bosqichli jarayon qo'llaniladi,
KOMPILATSIYA ASBOBLARI ZANJIRI
Katta hajmdagi dasturlar uchun kompilyator ko'p bosqichli asboblar zanjirining bir qismidir,
(preprotsessor)- (tuzuvchi)- (assembler)- (bog'lovchi)- (yuklovchi).
TUZISHNI TUZILISHI
Zamonaviy kompilyatorlar ikkita asosiy qismdan iborat. Ushbu qismlarning har biri ko'pincha bo'linadi. Ushbu ikkita asosiy qism old va orqa tomondir.
Old qism manba dasturni tahlil qilish uchun javobgardir, dasturning oraliq tasvirini tuzadi va uning tarkibiy qismlarini aniqlaydi. Umuman olganda, front end maqsadli tildan mustaqil.
Boshqa tomondan, orqa tomon maqsadli dasturni oldingi qism tomonidan ishlab chiqarilgan oraliq vakillikdan sintez qilish uchun javobgardir. Odatda, orqa tomon manba tilidan mustaqil deb aytiladi.