Kompilyator nima yoki kompyuter undan nimani xohlayotganingizni qanday tushunishi mumkin?

Mundarija:

Kompilyator nima yoki kompyuter undan nimani xohlayotganingizni qanday tushunishi mumkin?
Kompilyator nima yoki kompyuter undan nimani xohlayotganingizni qanday tushunishi mumkin?

Video: Kompilyator nima yoki kompyuter undan nimani xohlayotganingizni qanday tushunishi mumkin?

Video: Kompilyator nima yoki kompyuter undan nimani xohlayotganingizni qanday tushunishi mumkin?
Video: Starters guide to editing Marlin firmware - one step at a time 2024, Noyabr
Anonim

Dastur yaratishning yakuniy bosqichi dasturlash tillaridan birida (C/C++, Paskal va boshqalar) yozilgan algoritmni past darajadagi mashina tiliga tarjima qilishdan iborat. Buning sababi shundaki, har qanday vazifani bajarish uchun kompyuterlarga o'zlari tushunadigan, binarga yaqin va primitiv ma'lumotlar tuzilmalari (bit, bayt yoki so'z) bilan ishlaydigan buyruqlar berilishi kerak. Yuqori darajadagi tillarning domenga xos bayonotlarini ikkilik kodga tarjima qilish jarayoni tarjima deb ataladi. Tarjimaning ikkita usuli mavjud - kompilyatsiya va talqin.

kompilyator hisoblanadi
kompilyator hisoblanadi

Tuzuvchi - bu nima?

“Tuzuvchi” va “kompilyatsiya” atamalarining koʻplab talqinlarining tahlili quyidagi taʼrifni ajratib koʻrsatish imkonini beradi. Kompilyator - bu manba algoritmi matnini yuqori darajadagi tildan mashinaga yo'n altirilgan tildagi ekvivalent ko'rsatmalar to'plamiga tarjima qilish uchun mo'ljallangan dastur. Bu ob'ekt kodi deb ataladi, natijada olingan ob'ekt kodini foydalanishga tayyor dastur moduliga yig'ish uchun.

Tuzuvchi va tarjimon - o'xshashlik va farqlar

Tarjimon - bu yordamchi dasturshuningdek, dastlabki kodni mashina kodiga tarjima qilish uchun mo'ljallangan kompilyator. Biroq, kompilyatordan farqli o'laroq, tarjimon har safar dastur bilan ishlaydi va tarjimani satr bo'yicha bajaradi.

Kompilyator va tarjimon kompyuterga dasturchi tomonidan berilgan buyruqlarni tanib olish va bajarish imkonini beruvchi til protsessorlari deyishingiz mumkin.

Tuzuvchi tasnifi

kompilyator - bu dastur
kompilyator - bu dastur

Tuzuvchilar asosan amaliy qoʻllanish sohalari bilan bogʻliq xususiyatlar boʻyicha tasniflanadi.

Vektorlashtiruvchi kompilyator - bu manba kodini ob'ekt kodiga o'giradigan yordamchi dastur va vektor protsessorlari bilan jihozlangan kompyuterlar uchun moslashtirilgan.

Moslashuvchan kompilyator modulli tarzda yuqori darajali tilda dasturlashtirilgan. Uni boshqarish jadvallar yordamida amalga oshiriladi. Uni kompilyatorlar kompilyatori yordamida ham bajarish mumkin.

Incremental kompilyator - bu manba kodining alohida qismlarini va unga qo'shimchalarni qayta tarjima qiladigan til protsessoridir. Biroq, u butun ilovani qayta kompilyatsiya qilishdan saqlaydi.

Transferativ (bosqichli) kompilyator - bu yuqori darajadagi manba kodining har bir bayonoti yoki buyrug'ini mustaqil ravishda kompilyatsiya qilishni ketma-ket bajaradigan yordamchi dastur.

Kompilyatorlar kompilyatori - bu dasturlash tili uchun rasmiy tavsifni qabul qilish va istalgan til uchun mustaqil ravishda kompilyator yaratish qobiliyatiga ega tarjimon.

kompilyator va tarjimon
kompilyator va tarjimon

Nosozliklarni tuzatish kompilyatori manba kodini yozishda yoʻl qoʻyilgan sintaktik xatolarning ayrim turlarini topish va tuzatish imkonini beradi

Rezident kompilyator RAMda doimiy joyni egallaydi va shuning uchun keng koʻlamli vazifalar uchun qayta foydalanish mumkin.

Oʻz-oʻzidan tuzilgan kompilyator tarjima bilan bir xil tilda yozilgan.

Universal kompilyator kirish tilining semantik va sintaktik parametrlarining rasmiy tavsifiga asoslanadi. Bunday yordamchi dasturning asosiy komponentlari asosiy, sintaktik va semantik yuklovchilardir.

Tuzuvchi qurilma

Kompilyator va bogʻlovchi har qanday kompilyatorning markazidir. Ko'pincha kompilyatsiya qilishda tashqi bog'lovchi ishlatiladi va kompilyatorning o'zi faqat tarjima funktsiyasini bajaradi. Bundan tashqari, kompilyator tarjimon (yoki tarjimonlar, agar manba kodini yozishda turli dasturlash tillari ishlatilgan bo'lsa) va bog'lovchi bilan bog'langan boshqaruvchi dasturning bir turi sifatida amalga oshiriladi va kerak bo'lganda ularni bajarishni boshlaydi.

Dasturlash tillari va tarjima usullari

til kompilyatori
til kompilyatori

Har qanday dasturlash tilida yozilgan dastur ham kompilyatsiya, ham talqin qilinishi mumkinligiga qaramay, koʻplab yuqori darajali tillar tarjimaning u yoki bu usuliga moyillikka ega. Shunday qilib, C tili dastlab kompilyatsiya qilish uchun, Java esa yozma dasturni sharhlash uchun mo'ljallangan. Ishlab chiqilmoqdaC kompilyatorlari nisbatan past darajasi va oz sonli strukturaviy elementlar tufayli juda oson.

Tuzuvchilar va tarjimonlarning afzalliklari va kamchiliklari. Ilovalar

Yodda tutingki, kompilyatsiya qilingan ilovalar talqin qilinganlardan tezroq ishlaydi, lekin shu bilan birga kompilyatsiya natijasida olingan mashina kodi apparat platformasiga bogʻliq. Shunday qilib, Windows uchun yozilgan va kompilyatsiya qilingan dastur, masalan, Linuxda ishlamaydi. Shuning uchun, Internet-ilovalar holatida, ular qaysi muhitda ishlashini oldindan aytish mumkin bo'lmaganda, ular izohlash yoki bayt-koddan foydalanadilar (bu holda, manba dastur turli xil apparatlarda bajarilishi mumkin bo'lgan oraliq shaklga aylantiriladi. platformalar).

Tavsiya: