Sadržaj:
- Kompajler - šta je to?
- Kompajler i interpretator - sličnosti i razlike
- Klasifikacija kompajlera
- Uređaj kompajlera
- Programski jezici i metode prevođenja
- Prednosti i nedostaci kompajlera i interpretatora. Prijave
Video: Šta je kompajler, ili Kako naterati računar da razume šta želite od njega?
2024 Autor: Henry Conors | [email protected]. Zadnja izmjena: 2024-02-12 04:32
Završna faza kreiranja programa je prevođenje algoritma napisanog u jednom od programskih jezika (C/C++, Pascal, itd.) u mašinski jezik niskog nivoa. To je zbog činjenice da da bi izvršili bilo koji zadatak, računarima je potrebno dati komande na jeziku koji razumiju, bliskom binarnom i koji rade s primitivnim strukturama podataka (bit, bajt ili riječ). Proces prevođenja specifičnih izjava jezika visokog nivoa u binarni kod naziva se prevođenje. Postoje dvije metode prijevoda - kompilacija i interpretacija.
Kompajler - šta je to?
Analiza mnogih tumačenja pojmova "kompilator" i "kompilacija" omogućava nam da istaknemo sljedeću definiciju. Kompajler je program dizajniran da prevede tekst izvornog algoritma sa jezika visokog nivoa u ekvivalentan skup instrukcija u mašinski orijentisanom jeziku. Ovo je takozvani objektni kod, za naknadno sklapanje rezultirajućeg objektnog koda u programski modul spreman za upotrebu.
Kompajler i interpretator - sličnosti i razlike
Tumač je uslužni program kojikao i kompajler, dizajniran da prevede izvorni kod u mašinski kod. Međutim, za razliku od kompajlera, tumač se svaki put pokreće sa programom i izvodi prevod red po red.
Možete reći da su kompajler i interpretator jezički procesori koji omogućavaju računaru da prepozna i izvrši komande koje je dao programer.
Klasifikacija kompajlera
Kompajlatori su klasifikovani uglavnom prema karakteristikama koje se odnose na njihova područja praktične primjene.
Vektorizirajući kompajler je uslužni program koji prevodi izvorni kod u objektni kod i prilagođen je računarima opremljenim vektorskim procesorima.
Fleksibilni kompajler je programiran na jeziku visokog nivoa na modularan način. Njegovo upravljanje se vrši pomoću tabela. Također ga je moguće izvršiti pomoću kompajlera kompajlera.
Inkrementalni kompajler je jezički procesor koji ponovo prevodi zasebne fragmente izvornog koda i njegove dodatke. Međutim, izbjegava ponovno kompajliranje cijele aplikacije.
Interpretivni (stepping) kompajler je uslužni program koji sekvencijalno izvodi nezavisnu kompilaciju svake izjave ili komande izvornog koda visokog nivoa.
Kompajler kompajlera je prevodilac sposoban da prihvati formalni opis za programski jezik i nezavisno generiše kompajler za bilo koji jezik.
Kompajler za otklanjanje grešaka vam omogućava da pronađete i popravite neke vrste sintaksičkih grešaka napravljenih prilikom pisanja izvornog koda
Stalni kompajler zauzima stalno mjesto u RAM-u i stoga se može ponovo koristiti za širok spektar zadataka.
Samo kompajlirani kompajler je napisan na istom jeziku kao i prevod.
Univerzalni kompajler je zasnovan na formalnom opisu semantičkih i sintaksičkih parametara jezika unosa. Glavne komponente takvog uslužnog programa su jezgro, sintaktički i semantički učitavači.
Uređaj kompajlera
Kompajler i linker su u srcu svakog kompajlera. Često se prilikom kompajliranja koristi vanjski linker, a sam kompajler obavlja samo funkciju prevođenja. Takođe se dešava da se kompajler implementira kao neka vrsta menadžerskog programa koji je povezan sa prevodiocem (ili prevodiocima, ako su pri pisanju izvornog koda korišćeni različiti programski jezici) i linkerom i počinje njihovo izvršavanje kada je potrebno.
Programski jezici i metode prevođenja
Uprkos činjenici da se program napisan na bilo kojem programskom jeziku može i kompajlirati i interpretirati, mnogi jezici visokog nivoa imaju predispoziciju za jednu ili drugu metodu prevođenja. Dakle, jezik C je prvobitno dizajniran za kompilaciju, a Java - za interpretaciju napisanog programa. Razvijaju seC kompajleri su prilično jednostavni, zahvaljujući relativno niskom nivou i malom broju strukturnih elemenata.
Prednosti i nedostaci kompajlera i interpretatora. Prijave
Imajte na umu da su kompajlirane aplikacije brže od interpretiranih, ali u isto vrijeme, mašinski kod dobijen kao rezultat kompilacije zavisi od hardverske platforme. Dakle, program napisan i kompajliran za Windows neće raditi, na primjer, u Linuxu. Stoga, u slučaju internetskih aplikacija, kada je nemoguće unaprijed reći u kojem okruženju će raditi, one 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čuje se:
Dobra osoba poštuje ljude. Pametan čovek to razume
Odgajati osobu koja je prijatna u svakom smislu je prilično teško. U svakom od nas bjesne različita osjećanja i emocije. Taktična osoba je ona koja ume da ukroti svoje negativne manifestacije, omogućavajući svima koji su pored njega da se osećaju poštovanim
Kako počinje jutro ili Kako promijeniti svoj život na bolje
"Ujutro se ne budim, ali ustajem…" - mrmlja pospani kancelarijski radnik uz šoljicu kafe, grebući svoje zamršene vrtloge. Šta nam određuje ritam dana i zašto neki ujutru lepršaju kao nemirni leptiri, a drugi jedva da se nose sa sopstvenim telom? Kako za neke počinje jutro, a kako ga drugi dočekaju? Koja je razlika između ovih i ovih? I kako ući u tu "sektu" koja će te naučiti ili učiniti da uživaš u životu i novom danu, svakom novom danu?
Želite li znati gdje raste mliječna gljiva?
Svaki berač gljiva će potvrditi da su slane pečurke, 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 raste gljiva i kakvo je okruženje za nju
Šta je monopol i kako se boriti protiv njega?
Šta je monopol? Šta uzrokuje ovaj fenomen? I ima li smisla boriti se protiv toga ili je to prirodna pojava u bilo kojoj državi?
"Ako želite mir, pripremite se za rat!" i druge fraze
Mnoge fraze velikih antičkih istoričara, sledbenika filozofije i naučnika su veoma relevantne u bilo koje vreme, a posebno sada. Koje misli su nam naši prethodnici ostavili u naslijeđe? I šta nam govore? To je ono što ćemo pokušati saznati u ovom članku