Kas yra kompiliatorius arba kaip priversti kompiuterį suprasti, ko iš jo norite?

Turinys:

Kas yra kompiliatorius arba kaip priversti kompiuterį suprasti, ko iš jo norite?
Kas yra kompiliatorius arba kaip priversti kompiuterį suprasti, ko iš jo norite?

Video: Kas yra kompiliatorius arba kaip priversti kompiuterį suprasti, ko iš jo norite?

Video: Kas yra kompiliatorius arba kaip priversti kompiuterį suprasti, ko iš jo norite?
Video: Saugesnio interneto dienos renginys 2024. Skaitmeninės higienos svarba šiandienos pasaulyje. 2024, Gruodis
Anonim

Paskutinis programos kūrimo etapas – viena iš programavimo kalbų (C/C++, Pascal ir kt.) parašyto algoritmo išversti į žemo lygio mašinų kalbą. Taip yra dėl to, kad norint atlikti bet kokią užduotį kompiuteriams reikia duoti komandas jiems suprantama kalba, artima dvejetainei ir veikiančiai su primityviomis duomenų struktūromis (bitais, baitais ar žodžiais). Konkrečiam domenui būdingų aukšto lygio kalbų teiginių vertimo į dvejetainį kodą procesas vadinamas vertimu. Yra du vertimo būdai – kompiliavimas ir vertimas.

kompiliatorius yra
kompiliatorius yra

Kompiliatorius – kas tai?

Sąvokų „kompiliatorius“ir „kompiliavimas“interpretacijų analizė leidžia pabrėžti šį apibrėžimą. Kompiliatorius yra programa, skirta išversti š altinio algoritmo tekstą iš aukšto lygio kalbos į lygiavertį instrukcijų rinkinį mašinine kalba. Tai vadinamasis objekto kodas, skirtas vėliau gauto objekto kodo surinkimui į paruoštą naudoti programos modulį.

Kompiliatorius ir interpretatorius – panašumai ir skirtumai

Vertėjas yra įrankis, kuristaip pat kompiliatorius, skirtas versti š altinio kodą į mašininį kodą. Tačiau, skirtingai nei kompiliatorius, vertėjas kiekvieną kartą paleidžia programą ir atlieka vertimą eilutę po eilutės.

Galima sakyti, kad kompiliatorius ir vertėjas yra kalbos procesoriai, leidžiantys kompiuteriui atpažinti ir vykdyti programuotojo duotas komandas.

Kompiliatoriaus klasifikacija

kompiliatorius yra programa
kompiliatorius yra programa

Kompiliatoriai daugiausia klasifikuojami pagal savybes, susijusias su jų praktinio taikymo sritimis.

Vectorizing kompiliatorius yra programa, kuri verčia š altinio kodą į objekto kodą ir yra pritaikyta kompiuteriams su vektoriniais procesoriais.

Lankstus kompiliatorius yra užprogramuotas aukšto lygio kalba moduliniu būdu. Jo valdymas atliekamas naudojant lenteles. Jį taip pat galima vykdyti naudojant kompiliatorių kompiliatorių.

Inkrementinis kompiliatorius yra kalbos procesorius, iš naujo verčiantis atskirus š altinio kodo fragmentus ir jo papildymus. Tačiau taip išvengiama visos programos perkompiliavimo.

Interpretacinis (pakopinis) kompiliatorius yra programa, kuri nuosekliai atlieka nepriklausomą kiekvieno aukšto lygio š altinio kodo sakinio ar komandos kompiliavimą.

Kompiliatorių kompiliatorius yra vertėjas, galintis priimti oficialų programavimo kalbos aprašymą ir savarankiškai sukurti bet kurios kalbos kompiliatorių.

kompiliatorius ir vertėjas
kompiliatorius ir vertėjas

Derinimo kompiliatorius leidžia rasti ir ištaisyti kai kurias sintaksės klaidas, padarytas rašant š altinio kodą

Nuolatinis kompiliatorius užima nuolatinę vietą RAM, todėl jį galima pakartotinai naudoti atliekant įvairias užduotis.

Savarankiškai sudarytas kompiliatorius parašytas ta pačia kalba kaip ir vertimas.

Universalus kompiliatorius yra pagrįstas oficialiu įvesties kalbos semantinių ir sintaksinių parametrų aprašymu. Pagrindiniai tokios programos komponentai yra pagrindiniai, sintaksiniai ir semantiniai krautuvai.

Kompiliatoriaus įrenginys

Kompiliatorius ir saitas yra bet kurio kompiliatoriaus pagrindas. Dažnai kompiliuojant naudojamas išorinis linkeris, o pats kompiliatorius atlieka tik vertimo funkciją. Taip pat atsitinka, kad kompiliatorius yra įdiegtas kaip savotiška tvarkyklės programa, kuri yra susieta su vertėju (arba vertėjais, jei rašant š altinio kodą buvo naudojamos skirtingos programavimo kalbos) ir linkeriu ir prireikus pradeda jų vykdymą.

Programavimo kalbos ir vertimo metodai

kalbos kompiliatorius
kalbos kompiliatorius

Nepaisant to, kad bet kuria programavimo kalba parašytą programą galima ir kompiliuoti, ir interpretuoti, daugelis aukšto lygio kalbų turi polinkį į vieną ar kitą vertimo būdą. Taigi, C kalba iš pradžių buvo skirta kompiliavimui, o Java - rašytinės programos interpretavimui. Yra kuriamiC kompiliatoriai yra gana paprasti dėl palyginti žemo lygio ir nedidelio struktūrinių elementų skaičiaus.

Kompiliatorių ir vertėjų privalumai ir trūkumai. Paraiškos

Atkreipkite dėmesį, kad sukompiliuotos programos yra greitesnės nei interpretuotos, tačiau tuo pačiu metu kompiliavimo metu gautas mašinos kodas priklauso nuo aparatinės įrangos platformos. Taigi, programa, parašyta ir sukompiliuota „Windows“, neveiks, pavyzdžiui, „Linux“. Todėl interneto programų atveju, kai iš anksto neįmanoma pasakyti, kokioje aplinkoje jos veiks, jos naudoja interpretaciją arba baitinį kodą (šiuo atveju š altinio programa paverčiama tarpine forma, kurią galima vykdyti įvairioje aparatinėje įrangoje platformos).

Rekomenduojamas: