Translyator yamasa programmalastırıw tili processorı (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ı.[1] 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.[2]
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ı.[3]
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ı.[4] 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ı.[4]
Kompilyator menen joqarı dárejeli kodtı awdarıwdıń ayqın artıqmashılıqları bar.[5]
Kompilyator menen joqarı dárejeli kodtı awdarǵanda anıq kemshilikler bar.[5]
Kompilyatorlardı paydalanatuǵın ayırım ataqlı programmalastırıw tilleri:[6]
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.[3]
Translyator menen joqarı dárejeli kodtı interpretaciyalawdıń ayqın artıqmashıları bar.
Awdarmashı menen joqarı dárejeli kodtı interpretaciya etiwde anıq kemshilikler bar.[5]
Interpretatorlardı paydalanatuǵın ayırım ataqlı programmalastırıw tillerine mınalar kiredi:[3]
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.[7]
Jiyi qollanılatuǵın assemblerlerge tómendegiler kiredi:
<ref>
tag; name ":0" defined multiple times with different content
<ref>
tag; name ":2" defined multiple times with different content
<ref>
tag; name ":3" defined multiple times with different content
Silteme kórsetiwdegi qátelik: <ref>
tag with name "Intel_1983_SH" defined in <references>
is not used in prior text.
<ref>
tag with name "MCT" defined in <references>
is not used in prior text.