Kompilyator tili
Kompilyator ( inglis tili : kompilyator ) bir kompyuter programmalastırıw tili boyınsha islew sisteması (til islew sisteması ) birdey bolǵan joqarı dárejedegi til kóre derek kodı den mashina tili konvertatsiya yamasa kóre, bir kod tómen dárejede original programma (Bul kompilyatsiya qılıw ushın programma ).
Mashina tili ( ekilik kod ) yamasa kompyuter protsessoriga [2] tuwrıdan-tuwrı programmalastırıw tilinde jazılǵan programmanı (adamlarǵa túsinikli bolǵan til yamasa matematikalıq menen programma jaza alatuǵın jasalma til) orınlawǵa múmkinshilik jaratıwshı túp programma. formulaları ). kodı (mısalı, dárejesine kóre tómenletiw báyit kodı bunday dep, virtual mashina ushın aralıq tilinde yamasa aralıq wákillik,) aylanadı ingliz peyil " ga kompilyatsiya " ( alınǵan endigiden). Kompilyator - bul kompilyatsiya etiwshi kompyuter programması. Kóbinese awdarmashı menen parıq etedi.
Dúziwshi tárepinen konvertatsiya etiliwinen aldın programma " derek kodı ", konversiyadan keyin mashina tilindegi yamasa aralıq tildegi programma " ob'ekt kodı " dep ataladı. rawajlandırıw átirap -ortalıq hám qayta islew sisteması qaray, imonga birigiwi ( qurıw dep ataladı qaysı birpara ).[ Kóshirip alınǵan kerek ] Biraq, anıq aytqanda, " kompilyatsiya" bul " qurıw" procesi bolıp tabıladı. Tuwrıdan-tuwrı mashina tilinde kompilyatorning ózi jıynaw tilin shıǵarıw jaǵdayı ámeldegi bolıp, basqa kóplegen adamlar qaldırǵan mashina tiline (montaj ) yig'uvchiga aylandırıw ushın tiyisli jıynalıs tili wazıypasına muwapıq kod shıǵadı.
Daslep " kompilyatsiya qılıw" " redaktorlaw " " " kompilyatsiya bul anglichan tili bolıp tabıladı ", yaǵnıy" redaktor " dıń anglichan mánisi" kompilyator " Bunnan tısqarı, yapon tilindegi túsindiriwlerde " Kompilyator atı yapon tilinde awdarmashı mánisine iye, programmalıq támiynat retinde kompilyator awdarmashınıń mánisine iye " sıyaqlı túsindiriw bar.
Kompilyator bır jola bir programma retinde isleytuǵın barlıq kodlardı jıynamaydı, lekin onı hár bir modul ushın bólek-bólek kompilyatsiya etedi (" split kompilyatsiya") hám kitapxananı hám taǵı basqalardı aldınan dúzilgen menen birge atqaradı. Kóbinese atqarıladı . Bul halda, kompilyator bir shıǵıwı relocable ekilik bir, baylanıs úskenesiniń redaktorı ushın talap etiledi barıladı, bir fayl islep, bir dinamikalıq májburiy / doldurucu ( bir túri Loader ), sonıń menen birge, zárúr bolǵan menen atqarıw waqtında dinamikalıq jalǵaw.
Rawajlanıw ortalıǵında bir buyrıq menen orınlawǵa bolatuǵın bolǵan zatlar sanı ko'paymoqda, mısalı, kompilyatsiya etilgeninen keyin orınlaw. Sonıń menen birge, waqtın anıqlaytuǵın kompilyator sıyaqlı texnologiyalardan paydalanıw dilmashlarda aktivlashmoqda hám klassik mániste " kompilyator" hám " awdarmashı" ortasında aralıq qurallar (programmalar ) sanı ko'paymoqda. " kompilyator tili / awdarmashı tili" dıń ulıwma kontrastı barǵan sayın mánisiz bolıp barıp atır.
Dáslepki kompyuter programmalastırıw tuwrıdan-tuwrı mashina tilinde ámelge asırıldı. Biz programmalardı " kodlar" dep ataymız (anglichan tilinde kriptografiya degen mánisti ańlatadı ), sebebi mashina tili bul biygana adamlar ulıwma tushunmaydigan nomerler dizimi. Biraq, o'nlab nomerlerde jazılǵan mánzillerdi (adamlar túsiniwi salıstırǵanda ańsat) ishki kóriniste ekilikke aylandırıw sıyaqlı júdá ápiwayı jıynalıs tili qásiyetlerine iye programmalar qashannan berli EDSAC- de bar edi.
Mashina tilinde programmalastırıw haqqında sóylemese de boladı, programmalastırıw hátte assambleya tilinde de zerikarli wazıypa bolıp tabıladı. Bunday tómen dárejedegi tillerden adamlar ushın ańsatlaw bolǵan joqarı dárejedegi tillerge basqıshpa-basqısh talap bar. Bunnan tısqarı, mashinanıń tolıq maǵlıwmatların abstrakt qılıw arqalı, hár túrlı tolıq ayrıqshalıqlarǵa iye bolǵan mashinada isleytuǵın programmanı joqarı dárejedegi programmalastırıw tilinde jazılǵan birdey derek kodı tiykarında jaratıwdıń abzallıǵı bar.
50-jıllardıń aqırına kelip bir neshe programmalastırıw tilleri usınıs etildi hám bir neshe eksperimental kompilyatorlar jaratıldı. Dúnyadaǵı birinshi kompilyator geyde Greys Hopper tárepinen 1952 jılda jazılǵan A-0 sisteması dep ataladı. Biraq, ádetde, IBM dıń John Backus jámááti tárepinen 1957 jılda islep shıǵılǵan FORTRAN kompilyatori dúnyadaǵı birinshi tolıq kompilyator dep ishoniladi. Ulıwma kompilyatorni islep shıǵıwda optimallastırıw funktsiyası isleytuǵın zattı islep shıǵarǵannan keyin qosıladı, biraq birinshi FORTRAN kompilyatorida kompilyator ámeliy ekenligin kórsetiw ushın basıdanoq optimallastırıwǵa háreket etilgen.
1960 jılda Hopper hám basqalardıń COBOL, bir neshe arxitektura tiykarında dúzilisi múmkin bolǵan eń áyyemgi tillerden biri bolǵan [ buzılǵan siltemeler ].
Joqarı dárejedegi tiller ideyası hár qıylı programma tarawlarında demde tarqaldı. Keńeytirilgen funktsiyalarǵa iye programmalastırıw tilleri birin ketin usınıs etilip, kompyuter arxitekturasınıń ózi quramalılasıp barǵan sayın kompilyator barǵan sayın quramalılasıp bardı.
Dáslepki kompilyatorlar assambleya tilinde jazılǵan. Dúnyadaǵı birinshi " ózin-xosting dúziwshi" 1962 jılda, dep Massachusets texnologiya institutı Xart hám Levin tárepinen islep shıǵılǵan LISP bir esaplanadı. 1970-jıllarda kompilyatorlarni kompilyatsiya etiletuǵın tilde jazıw ádetiy halǵa aylandı, ásirese Paskal hám S tillerinde. Hátte joqarı dárejedegi til kompilyatorlari kóbinese Paskal hám S tillerinde ámelge asıriladı. Óz-ózin kompilyatorni jaratıw bootstrap máseleleri menen birge keledi. Yaǵnıy, aldın maqset tilde jazılǵan kompilyatorni kompilyatsiya qılıw ushın sizge basqa tilde jazılǵan kompilyator kerek. Xart hám Levinning LISP kompilyatorlari awdarmashında isleytuǵın kompilyator menen dúziledi.
Kompilyatorni qurıw hám kompilyatorni optimallastırıw universitettiń informatika hám informaciya injenerligi oqıw programmasınıń bir bólegi bolıp tabıladı. Bunday kurslarda siz kóbinese tiyisli til ushın kompilyator jaratılıwmasıńız múmkin. Bay mısal etip hújjet bolıp tabıladı Niklaus Wirth 1970 jılda tálim ushın mólsherlengen, kórsetilgen bir sabaqlıq PL / 0 a bar . PL / 0 ápiwayı, biraq siz tálim maqsetleri ushın tiykarlardı úyreniwińiz múmkin. PL / 0 Paskal tilinde jazılǵan. Wirthning oqıw qollanbası bir neshe márte qayta kórip shıǵılǵan bolıp, 1996 yilgi baspada Oberonda Oberonning bir bólegi bolǵan Oberon -0 ámelge asırıldı.
Programma islep shıǵıwdı qabıllaw [ úzilgen silteme ] basqıshpa-basqısh jetilistiriw arqalı
Rekursiv túsiwdi analiz qılıwdı qabıllaw
Keńeytirilgen BNF belgisi menen grammatik xarakteristikanı qabıllaw
P kodın qabıllaw
Bootstrap mashqalasın T diagramması menen rásmiy túrde xarakteristikalang ( uz: Tóbebstone diagramması )
Birpara kompilyatorlar mashina tiline kompilyatsiya qılıwadı, basqaları bolsa (tómenge qarang). Mashina tili kodın geyde apparat kodı bolǵan protsessorning shiyki kodı dep túsinetuǵın jergilikli kod dep ataydılar hám kompyuter tiline dúzetuǵın kompilyatorni geyde jergilikli kompilyator dep ataydılar.
Kompilyatorlar menen sheklenip qalmastan, kirisiw hám shıǵıwǵa iye bolǵan hár qanday konversiya sistemasında m x kirisiw túrleri hám n túrdegi shıǵıwlar ámeldegi dep shama etiletuǵın m x n túrleri bar. Eger kompilyatorga tiyisli bolsa, programmalastırıw tilleriniń m túri hám kod jaratıw ushın kórsetpeler kompleksiniń arxitekturasınıń n túri ámeldegi, kirisiw tárepi aldınǵı, shıǵıs tárepi arqa, lekin aralıq suwretler dizayni, qalǵan aralıq qayta islew bólegi, ásirese, kompilyatorni optimallashtirishning zárúrli bólegi menen bolıwılıwı múmkin, sol sebepli 1980-jıllardan keyin tiykarǵı dizayni islep shıǵılǵan GCC, COINS, LLvM hám basqalar sol tárzde kóp tilli.-Bir neshe maqsetlerdi qollap -quwatlaydı..
Maqsetli programmanı islep shıǵıw ortalıǵı menen birdey ortalıqta islewge múmkinshilik beretuǵın rawajlanıw, mısalı, ulıwma maqsetli OS, " óz-ózin rawajlandırıw", óz-ózinen islep shıǵılǵan kompilyator bolsa " óz-ózin kompilyator" dep ataladı. Basqa tárepden, rawajlanıw ortalıǵından ayrıqsha ortalıqta atqarılatuǵın rawajlanıw " óz-ara rawajlanıw" dep ataladı hám sol maqsette dúziwshi óz-ara iskerlik kompilyator dep ataladı. Operatsion sistema yadrosın kompilyatsiya qılıw, óz-ara iskerlik kompilyatsiyaga uqsaydı, sebebi yadrodıń ózi atqaratuǵın ortalıq OS emes, bálki jalańash metall bolıp tabıladı hám birinshi náwbette jańa kompyuter sisteması ushın ortalıq jaratıladı. Usınıń menen bir qatarda, islep shıǵarıw ortalıǵın basqarıw ushın funktsiyalar hám islewge iye bolmaǵan ishki sistemalar hám PDAlar sıyaqlı jaǵdaylar bar.
Birpara jaǵdaylarda, jergilikli kod dep atalatuǵın ornına, aralıq kod payda boladı hám qayta islew basqa kompilyatorga tapsırıladı yamasa basqa awdarmashı tárepinen atqarıladı. Buǵan aralıq kod kompilyatori, báyit kodı kompilyatori hám basqalar dep ataladı. Báyit kodın aytadigan hám atqaratuǵın qayta islew sistemasına báyit kodı awdarmashıı yamasa soǵan uqsas zat dep ataladı.
Do'stlaringiz bilan baham: |