28
Translator, kompilyator i interpretator
Translyator
(inglizcha
translator
— tarjimon) — tarjimon dastur. U yuqori darajadagi
dasturlash tillaridan birida yozilgan dasturni mashina tiliga tarjima qiladi.
Translyatorlar kompilyatorlar va interpretatorlar ko‘rinishida ishlab chiqiladilar.
Ishlash nuqtai-nazaridan kompilyatorlar va interpretatorlar bir-birlaridan
jiddiy farq qiladilar
Kompilyator
(inglizcha.
compiler
— tuzuvchi, yig'uvchi) yuqori darajadagi tilda
yozilgan dastur matnini to‘liq o‘qib, uni mashina tiliga tarjima qiladi.
Tarjima qilingan
mashina tilidagi dastur keyin kompyuter tomonidan bajariladi. Agar yuqori darajali tilda
yozilgan dastur matnida xatoliklar bo‘lsa, kompilyator bu haqda foydalanuvchiga tegishli
ma‘lumotlar beradi, mashina tilidagi dastur bajarilmaydi.
Interpretator
(inglizcha
interpreter
—
talqin qiluvchi, ogzaki tarjimon) yuqori
darajali dasturlash tilida yozilgan dasturdagi har bir satrni alohida tahlil qilib, uni bajaradi.
Agar satrda xatolik bo‘lsa, bu haqda ogohlantiruvchi ma‘lumot berilib,
satr bajarilishi
to‘xtatiladi. Agar xatolik bo‘lmasa, u mashina tiliga tarjima qilinib, bajariladi va keyingi satr
tahlil qilinadi. Shu tariqa dastur satrlari ketma-ket tahlil qilinib, bajariladi.
Yuqori darajadagi dasturlash tilida tuzilgan dastur kompilyatsiya kilingach,
boshlang'ich dastur matni va kompilyatorning o‘zi kerak bo‘lmaydi. Interpretator esa har gal
dastur bajarilishida uning satrlarini ketma-ket tarjima qilishi uchun ishlatiladi.
Kompilyatsiya qilingan
dasturlar tezroq ishlaydi, lekin interpretatsiya qilingan
dasturni sozlash va o‘zgartirish oson.
Har bir muayyan dasturlash tili yoki kompilyatsiya yoki interpretatsiyaga
yo‘naltirilgan. Masalan,
Paskal
tili murakkab masalalar yechishda
tezlik nuqtai-nazaridan
ishlatiladi. Shuning uchun ushbu til kompilyator ko‘rinishida ishlab chiqilgan.
Boshqa tomondan
Beysik
dasturlash tili boshlvchi dasturchilarga mo‘ljallangan bo‘lib,
ular dastur har bir satri bajarilishini kuzatishlari va tahrirlashlariga imkon yaratadi.
Dostları ilə paylaş: