Translyator, kompilyator va interpretator
Yuqori darajali (C, C++, Java, Phyton, …) yoki quyi darajali (assembly tillar) dasturlash tillarida yozilgan kodlarni mashina tiliga o’tkazish uchun ishlatiladigan programmalar — translyatorlardeb ataladi.
Translyatorlarning 3 xil turi mavjud:
- Assembler
- Kompilyator
- Interpretator
Assembler bu quyi darajali dasturlash tillarida yozilgan kodni mashina tiliga o’giruvchi translyatorlardir. Bu jarayonlar assmblatsiya (assembling) deb nomlanadi.
Kompilyator va interpretatorlar esa yuqori darajli dasturlash tillarida yozilgan kodlarni mashina tiliga o’giruvchi translyatorlardir. Bu jarayonlar kompilatsiya va interpretatsiya deb nomlanadi.
Kompilatsiya bu dasturlash tilida yozilgan kodni mashina tushunadigan tilga to’g’ridan-to’gri o’girish jarayoni. Mashina tiliga o’giruvchi programma esa kompilyator deb nomlanadi. Kompilyator butun kodni bir vaqtda skan qiladi va agar kodda xatoliklar bo’lsa koddagi barcha xatoliklarni ko’rsatadi, agar xatolik bo’lmasa uni ishga tushiradi. Kompilyatorga misollar: javac (Java kompilyatori), c (C kompilyatori), cpp (c++ kompilyatori)
Interpretatsiya jarayonida esa dasturlash tilida yozilgan kod mashina tiliga to’g’ridan-to’gri o’girilmaydi. Uning o’rniga boshqa bir programma kodni o’qiydi va uni ishga tushiradi. Ya’ni o’rtada bir boshqa programma vositachi bo’lib turadi. Usha vositachi programmaga interpretator deyiladi. Misol uchun siz kodda «+» amalini bajarmoqchi bo’lsangiz, interpretator siz kodda yozgan «+» amalini o’zining versiyasi bilan almashtiradi va so’ngra uni mashina tiliga o’giradi. Interpretator kodni satrma-satr skan qiladi va agar biror satrda xatolik bo’lsa darhol xatolikni ko’rsatadi va skan qilishni tohtatadi, agar satrda xatolik bo’lmasa darhol usha satrdagi kodni ishga tushiradi. Interpretatorlarga misollar: Ruby, Phyton, GW Basic.
— Ba’zi interpretatorlar o’zining vazifasini bajarish bilan birga kompilyator vazifasini ham bajarishi mumkin. Ya’ni, bir vaqtda ikkita ishni qilishi mumkin.
— Interpretator orqali erishilgan natijaga, kompilyator orqali ham erishish mumkin. Kompilyator orqali erishilgan natijaga, interpretator orqali ham erishish mumkin
Afzalliklari va kamchiliklari.
— Kompilatsiya jarayoni interpretatsiyaga nisbatan tezroq kechadi, chunki u tog’ridan-tog’ri mashina tiliga o’giriladi.
— Interpretatorlari yaratish onsonroq, chunki yaxshi kompilyator yaratish juda qiyin.
— Interpretatorlar kompilyatorlarga nisbatan portativroq.
— Kompilyator katta hajm talab qiladi, interpretator esa kamroq.
Manba:
Umumiy Dasturlash
kompilyator va interpretator, TRANSLYATOR