Sadržaj:
- Kompilator - što je to?
- Kompilator i tumač - sličnosti i razlike
- Klasifikacija kompajlera
- Uređaj kompajlera
- Programski jezici i metode prijevoda
- Prednosti i nedostaci kompilatora i interpretatora. Prijave
Video: Što je kompajler ili Kako natjerati računalo da razumije što želite od njega?
2024 Autor: Henry Conors | [email protected]. Zadnja promjena: 2024-02-12 08:08
Završna faza stvaranja programa je prevođenje algoritma napisanog u jednom od programskih jezika (C/C++, Pascal, itd.) u strojni jezik niske razine. To je zbog činjenice da za obavljanje bilo kojeg zadatka, računalima treba dati naredbe na jeziku koji razumiju, bliskom binarnom i koji radi s primitivnim strukturama podataka (bit, bajt ili riječ). Proces prevođenja specifičnih izraza jezika visoke razine u binarni kod naziva se prijevod. Postoje dvije metode prijevoda - kompilacija i interpretacija.
Kompilator - što je to?
Analiza mnogih tumačenja pojmova "kompilator" i "kompilacija" omogućuje nam da istaknemo sljedeću definiciju. Prevoditelj je program dizajniran za prevođenje teksta izvornog algoritma s jezika visoke razine u ekvivalentan skup instrukcija u strojno orijentiranom jeziku. Ovo je takozvani objektni kod, za naknadno sastavljanje rezultirajućeg objektnog koda u programski modul spreman za korištenje.
Kompilator i tumač - sličnosti i razlike
Tumač je uslužni program kojikao i kompajler, dizajniran za prevođenje izvornog koda u strojni kod. Međutim, za razliku od prevoditelja, tumač se izvodi svaki put s programom i izvodi prijevod redak po red.
Možete reći da su prevodilac i interpreter jezični procesori koji omogućuju računalu da prepozna i izvrši naredbe koje je dao programer.
Klasifikacija kompajlera
Kompilatori se klasificiraju uglavnom prema značajkama koje se odnose na njihova područja praktične primjene.
Vektorizirajući prevodilac je uslužni program koji prevodi izvorni kod u objektni kod i prilagođen je za računala opremljena vektorskim procesorima.
Fleksibilni prevodilac je programiran na jeziku visoke razine na modularan način. Njegovo upravljanje provodi se pomoću tablica. Također ga je moguće izvršiti pomoću kompilatora kompilatora.
Inkrementalni prevodilac je jezični procesor koji ponovno prevodi zasebne fragmente izvornog koda i njegove dodatke. Međutim, izbjegava ponovno kompajliranje cijele aplikacije.
Interpretivni (stepping) prevodilac je uslužni program koji sekvencijalno izvodi neovisnu kompilaciju svake izjave ili naredbe izvornog koda visoke razine.
Prevoditelj prevoditelja je prevoditelj sposoban prihvatiti formalni opis za programski jezik i neovisno generirati kompilator za bilo koji jezik.
Kompilator za otklanjanje pogrešaka omogućuje vam da pronađete i popravite neke vrste sintaktičkih pogrešaka napravljenih prilikom pisanja izvornog koda
Stalni prevodilac zauzima stalno mjesto u RAM-u i stoga se može ponovno koristiti za širok raspon zadataka.
Samokompilirani prevodilac napisan je na istom jeziku kao i prijevod.
Univerzalni prevodilac temelji se na formalnom opisu semantičkih i sintaktičkih parametara jezika unosa. Glavne komponente takvog uslužnog programa su jezgra, sintaktički i semantički učitavači.
Uređaj kompajlera
Prevoditelj i povezivač su u srcu svakog prevoditelja. Često se prilikom prevođenja koristi vanjski linker, a sam prevodilac obavlja samo funkciju prijevoda. Također se događa da se prevodilac implementira kao neka vrsta menadžerskog programa koji je povezan s prevoditeljem (ili prevoditeljima, ako su se prilikom pisanja izvornog koda koristili različiti programski jezici) i povezivačem i po potrebi pokreće njihovo izvršavanje.
Programski jezici i metode prijevoda
Unatoč činjenici da se program napisan na bilo kojem programskom jeziku može i kompilirati i interpretirati, mnogi jezici visoke razine imaju predispoziciju za jednu ili drugu metodu prevođenja. Dakle, jezik C je izvorno dizajniran za kompilaciju, a Java - za interpretaciju napisanog programa. Razvijaju seC prevoditelji su prilično jednostavni, zahvaljujući relativno niskoj razini i malom broju strukturnih elemenata.
Prednosti i nedostaci kompilatora i interpretatora. Prijave
Napominjemo da su kompajlirane aplikacije brže od interpretiranih, ali u isto vrijeme, strojni kod dobiven kao rezultat kompilacije ovisi o hardverskoj platformi. Dakle, program napisan i sastavljen za Windows neće raditi, na primjer, u Linuxu. Stoga, u slučaju internetskih aplikacija, kada je nemoguće unaprijed reći u kojem će okruženju raditi, koriste interpretaciju ili bytecode (u ovom slučaju izvorni program se pretvara u srednji oblik koji se može izvršiti na različitim hardverima platforme).
Preporučeni:
Dobra osoba poštuje ljude. Pametna osoba to razumije
Odgajati osobu koja je ugodna u svakom smislu je prilično teško. U svakome od nas bjesne razni osjećaji i emocije. Taktična osoba je ona koja zna ukrotiti svoje negativne manifestacije, omogućujući svima koji su pored nje da se osjećaju poštovani
Želite li znati gdje raste mliječna gljiva?
Svaki berač gljiva potvrdit će da su slane gljive, posebno sirove, odlična hrana. Međutim, nije ih uvijek moguće prikupiti, čak ni nakon obilnih ljetnih kiša. Danas ćemo razgovarati o tome gdje gljiva raste i kakvo je okruženje za nju povoljno
Razumije li Edward Snowden što je učinio?
Što brazinska brazinska i Edward Snowden imaju zajedničko? Što je učinio za što država koja sebe smatra glavnim uporištem demokratskih vrijednosti traži njegovo izručenje? Sva trojica su izbjeglice koje se boje za svoje živote, samo što Edward nikoga nije ubio
Što je monopol i kako se boriti protiv njega?
Što je monopol? Što uzrokuje ovaj fenomen? I ima li smisla boriti se protiv toga ili je to prirodni fenomen u bilo kojoj državi?
"Ako želite mir, pripremite se za rat!" i druge fraze
Mnoge fraze velikih antičkih povjesničara, sljedbenika filozofije i znanstvenika vrlo su relevantne u bilo koje vrijeme, a posebno sada. Koja su nam razmišljanja naši prethodnici ostavili u naslijeđe? A što nam govore? To je ono što ćemo pokušati saznati u ovom članku