Assembler va kompilyator o'rtasidagi farq

Assembler va kompilyator o'rtasidagi farq
Assembler va kompilyator o'rtasidagi farq

Video: Assembler va kompilyator o'rtasidagi farq

Video: Assembler va kompilyator o'rtasidagi farq
Video: Pascal и Delphi живы? / История / Популярность / Мифы / Возможности / Преимущества и недостатки 2024, Iyul
Anonim

Assembler va kompilyator

Umuman olganda, kompilyator - bu bir tilda yozilgan dasturni o'qiydigan va uni manba til deb ataladigan boshqa tilga tarjima qiladigan kompyuter dasturi. An'anaga ko'ra, manba tili C++ kabi yuqori darajali til va maqsadli til Assambleya tili kabi past darajadagi til edi. Biroq, Assembly tilida yozilgan dastlabki dasturni o'zgartiradigan va uni mashina kodiga yoki ob'ekt kodiga aylantira oladigan kompilyatorlar mavjud. Yig'uvchilar shunday vositalardir. Shunday qilib, assemblerlar ham, kompilyatorlar ham to'g'ridan-to'g'ri mashinada bajarilishi mumkin bo'lgan kodni ishlab chiqaradilar.

Kompilyator nima?

Kompilyator - bu bir tilda yozilgan dasturni manba til deb ataladigan va uni boshqa tilga tarjima qiladigan kompyuter dasturi. Ko'pincha, manba tili yuqori darajadagi til va maqsadli til past darajadagi tildir. Shunday qilib, umuman olganda kompilyatorlarni bir tildan boshqa tilga tarjima qiluvchi tarjimonlar sifatida ko'rish mumkin. Bundan tashqari, kompilyatorlar kodni optimallashtirishni amalga oshiradilar. Oddiy kompilyator bir nechta asosiy komponentlardan iborat. Birinchi komponent skaner (leksik analizator deb ham ataladi). Skaner dasturni o'qiydi va uni tokenlar qatoriga aylantiradi. Ikkinchi komponent parserdir. U tokenlar qatorini dasturning sintaktik tuzilishini qamrab oluvchi tahlil daraxtiga (yoki mavhum sintaksis daraxtiga) aylantiradi. Keyingi komponent sintaktik strukturaning semantikasini sharhlovchi semantik tartiblardir. Kodni optimallashtirish va yakuniy kod ishlab chiqarish shundan keyin amalga oshiriladi.

Assembler nima?

Assembler - Assembly tilini mashina kodiga o'tkazuvchi dastur yoki vosita. Demak, assembler kompilyatorning bir turi bo'lib, manba kodi Assembly tilida yozilgan. Assambleya - bu inson o'qishi mumkin bo'lgan til, lekin u odatda mos keladigan mashina kodi bilan birma-bir aloqaga ega. Shuning uchun assembler izomorf (birga bir xaritalash) tarjimani amalga oshiradi, deyiladi. Murakkab assemblerlar dasturni ishlab chiqish va disk raskadrovka jarayonlarini qo'llab-quvvatlaydigan qo'shimcha funktsiyalarni taqdim etadi. Masalan, makro assemblerlar deb ataladigan assemblerlar turi makro moslamani ta'minlaydi.

Assembler va kompilyator o'rtasidagi farq nima?

Kompilyator - bu bir tilda yozilgan dasturni o'qib, uni boshqa tilga tarjima qiladigan kompyuter dasturi, assembler esa faqat Assembly tilini mashina kodiga o'tkazuvchi kompilyatorning maxsus turi hisoblanishi mumkin. Kompilyatorlar odatda mashinaning bajariladigan kodini to'g'ridan-to'g'ri yuqori darajadagi tildan ishlab chiqaradilar, ammo assemblerlar mashinada ishlash uchun bog'lovchi dasturlardan foydalangan holda bog'lanishi kerak bo'lgan ob'ekt kodini ishlab chiqaradilar. Assembler tilida mashina kodi bilan birma-bir xaritalash mavjud bo'lganligi sababli, assembler ishlashi juda muhim bo'lgan holatlar uchun juda samarali ishlaydigan kod ishlab chiqarish uchun ishlatilishi mumkin (masalan, grafik dvigatellar, shaxsiy kompyuterga nisbatan cheklangan apparat resurslariga ega bo'lgan o'rnatilgan tizimlar uchun). mikroto'lqinli pechlar, kir yuvish mashinalari va boshqalar).

Tavsiya: