Translyator

**Translyator** yamasa **programmalastırıw tili processorı** *([[Inglis tili|ingl]]. translator, programming language processor)* − adamǵa qolaylı túrde jazılǵan programmalastırıw kórsetpelerin kompyuter túsinetuǵın hám qayta isleytuǵın mashina tili kodlarına aylandıratuǵın kompyuter programması. Bul kompilyatorǵa, assemblerge yamasa interpretatorǵa − kodtı bir kompyuter tilinen ekinshisine ózgertetuǵın hár qanday nársege baylanıslı ulıwma termin. Olarǵa C++ hám Java sıyaqlı joqarı dárejeli hám adam oqıy alatuǵın kompyuter tilleri, Java bayt kodı sıyaqlı orta dárejeli tiller, assembler tili menen mashina kodı sıyaqlı tómen dárejeli tiller hám hár túrli esaplaw sistemalarındaǵı platformalar tildiń uqsas dárejeleri arasındaǵı awdarmalar kiredi. Programmalıq támiynat hám apparatlıq támiynatlar esaplawdaǵı abstrakciyanıń hár túrli dárejelerin bildiredi. Programmalıq támiynat ádette adamlarǵa túsiniwge hám basqarıwǵa ańsat bolatuǵın joqarı dárejeli programmalastırıw tillerinde jazıladı, al apparatlıq qurallardı ámelge asırıw fizikalıq komponentler hám olardıń óz-ara baylanıslarınıń tómen dárejeli anıqlamaların óz ishine aladı. Awdarmashı esaplawları abstrakciya dárejeleri arasındaǵı túrlendiriwdi ańsatlastıradı. Ulıwma alǵanda, awdarmashı esaplawları programmalıq támiynat penen apparatlıq támiynatlardı ámelge asırıw arasındaǵı qashıqlıqtı joq etiwde sheshiwshi rol atqaradı, bul baǵdarlamashılarǵa hár platformanıń kúshli táreplerin paydalanıwǵa hám programmanıń anıq talaplarına sáykes ónimlilikti, quwat ónimliligin hám basqa kórsetkishlerdi optimallastırıwǵa imkaniyat beredi. 

## Programmalastırıw tili processorları
Programmalıq támiynattı islep shıǵıw procesi paydalanatuǵın awdarmashınıń túrine baylanıslı aytarlıqtay ózgeshelikke iye, bul álbette awdarmashıdan awdarmashıǵa shekem ózgeshelenedi. Translyator tásir etetuǵın islep shıǵıw procesiniń basqıshları dáslepki programmalastırıw basqıshıń, otladka basqıshın hám eń baslısı orınlaw procesin óz ishine aladı. Usı basqıshlarda tásir etetuǵın faktorlarǵa kod ónimliligi, otladka procesi ushın keri baylanıs tezligi, til imkaniyatları hám platforma ǵárezsizligi kiredi. Kodtı awdarıw ushın qollanılatuǵın ataqlı programmalastırıw tili processorlarınıń ayırımları kompilyatorlar, interpretatorlar hám assemblerler bolıp tabıladı.

### Kompilyatorlar
Kompilyatordıń programmalıq támiynatı derek kodı menen óz-ara baylanısta bolıp, onı ádette joqarı dárejeli programmalastırıw tilinen, keyinirek kompyuterdiń Oraylıq processorı (CPU) orınlawǵa bolatuǵın obyekt kodına aylandırıw arqalı ámelge asadı. Kompilyator islep shıqqan obyekt kodı kompyuter qayta isley alatuǵın mashina tárepinen oqılatuǵın kodtan ibarat. Esaplaw procesiniń bul basqıshı kompilyaciya dep ataladı. Kompilyatordı paydalanıw awdarıw hám orınlaw procesinde bóliwge alıp keledi. Kompilyaciyadan keyin jańa obyekt kodı dáslepki kodtan bólek saqlanadı, nátiyjesinde dáslepki kod endi orınlaw procesin talap etpeydi. Kompilyator programmaları menen awdarma procesi bir ret orınlanadı, sonıń nátiyjesinde hár qanday tez orınlanatuǵın kod payda boladı.

Kompilyator menen joqarı dárejeli kodtı awdarıwdıń ayqın artıqmashılıqları bar.

* Kompilyaciya programmanıń orınlanıwın tezletedi. Kod orınlanıwdan aldın awdarılǵanlıqtan, onıń nátiyjeleri optimallastırılǵan hám tez iske túsedi. 
* Kompilyatorlar kodtı plagiattan qorǵaǵanda hám ruqsat etilmegen táreptiń derek kodın paydalanıwdıń aldın alıwǵa júdá qolaylı. 
* Derek kodın kompilyaciyalawda obyekt kodın tek bir ret jaratıw kerek. 

Kompilyator menen joqarı dárejeli kodtı awdarǵanda anıq kemshilikler bar.

* Kompilyaciya waqtında jaratılǵan obyekt kodı mashinanıń kórsetpeler toplamı arxitekturasına (ISA) iye. Onıń nátiyjesinde islew ushın belgili bir túrdegi mashinaǵa baylanıslı bolǵan obyekt kodı payda boladı. 
* Programma tolıq kompilyaciyalanbaǵansha, islep shıǵıw procesiniń otladka basqıshı baslanbaydı. Qátelerdi tek kompilyaciyalawdan keyin kóriwge boladı. 
* Ózgertilgen hár qanday derek kodın qaytadan orınlaw ushın tolıǵı menen qayta kompilyaciyalanıwı kerek. 

Kompilyatorlardı paydalanatuǵın ayırım ataqlı programmalastırıw tilleri:

* C
* C++
* COBOL
* Fortran
* PL/I
* Java
* REXX

### Interpretatorlar
Interpretator programmaları bir waqıtta kórsetpelerdi qatar boyınsha orınlap, joqarı dárejeli kodtı mashinada qollanatuǵın kodqa interpretaciyalaw arqalı jumıs isleydi. Kompilyatorlardan ayırmashılıǵı, interpretatorlar kórsetpelerdi orınlamastan aldın, kodtı kompilyaciyalaw shárt emes. Awdarıw hám orınlaw procesi bir waqıtta orınlanadı hám programmada qáte payda bolǵan jaǵdayda toqtatıladı. Interpretatordı paydalanıw baǵdarlamashılarǵa anıq waqıt rejiminde kodtı testlewge hám ózgertiwge imkaniyat beredi. Bul otladka procesin ańsatlastıradı, sonıń menen qatar ónimlirek kodtı jaratıwǵa járdemlesedi. Awdarma hám orınlaw procesi bir waqıtta orınlanatuǵınlıqtan, interpretatorda programmanıń orınlanıw waqtı aytarlıqtay.

Translyator menen joqarı dárejeli kodtı interpretaciyalawdıń ayqın artıqmashıları bar.

* Interpretaciya procesinde obyekt kodı jaratılmaǵanlıqtan, kod ushın az yad talap etiledi.
* Interpretator tilleri mashinaǵa arnalǵan kodtı jaratpaydı hám hár qanday tiptegi mashinada orınlanıwı múmkin.
* Islep shıǵıw hám otladka procesiniń quramalılıǵı az bolǵanlıqtan, ádette tezirek hám onıń iykemliligi joqarı.

Awdarmashı menen joqarı dárejeli kodtı interpretaciya etiwde anıq kemshilikler bar.

* Programmalardı iske túsiriw hám interpretaciyalaw ushın mashinada awdarmashı ornatılıwı kerek.
* Programmanıń orınlaw waqtı kompilyatorǵa qaraǵanda ásten.

Interpretatorlardı paydalanatuǵın ayırım ataqlı programmalastırıw tillerine mınalar kiredi:

* Python
* JavaScript
* Perl
* Ruby

### Assemblerler
Assembler tiliniń programması tómen dárejeli islep shıǵıw kodın oraylıq processor oqıy alatuǵın ápiwayı mashina kodına aylandırıw arqalı jumıs isleydi. Assembler tiliniń maqseti, basqa kodlaw tilleri sıyaqlı mashina tiline programmalastırıwǵa qaraǵanda, programmalastırıw procesin paydalanıwshıǵa qolaylı etiw. Assembler tilleri operaciyalıq kodtı, operandlardı hám anıq yad adreslerin ajıratıw ushın mnemonikalıq qurılmalar menen simvollı adreslerdi paydalanadı. Bul komponentlerdiń kópshiligin adamlar ańsat oqıy almaydı, sonlıqtan mnemotexnika, simvollar hám belgiler kodtı deshifrlawǵa imkaniyat beredi. Assembler kodtı bir waqıtta bir qatardı qayta islew arqalı jumıs isleydi, sonnan keyin keyingi kórsetpege ótedi. Orınlardı sheshiwge baylanıslı payda bolatuǵın máselelerdi sheshiw ushın qurastırıw dep atalatuǵın awdarma procesi ádette eki basqıshlı proceste orınlanadı. Simvollı atlarǵa sáykes keletuǵın ekilik adreslerdi anıqlaw ushın qurastırıwdıń birinshi ótiwi orınlanadı. Bul mashina tiline bir qatardı awdarıw bolıp tabılatuǵın eki ótiwdi baǵdarlaw ushın júdá zárúr.

Jiyi qollanılatuǵın assemblerlerge tómendegiler kiredi:

* x86 assembler tilleri (intel hám AMD processorlarında qollanıladı)
* ARM assembler tili (mobil qurılmalarda qollanıladı)
* MIPS assembler tili (oyın konsollarında qollanıladı)
* PowerPC assembler tili
* LC-3 assembler tili (tiykarınan bilimlendiriwde hám LC-3 kompyuterin programmalastırıwda qollanıladı) 

## Derekler

## Qosımsha oqıw

*  (2+xiv+270+6 pages)
* 
*