Hva Er Kompilator?
en kompilator er et dataprogram som forvandler kode skrevet i et programmeringsspråk på høyt nivå til maskinkoden. Det er et program som oversetter den lesbare koden til et språk en datamaskinprosessor forstår (binær 1 og 0 bits). Datamaskinen behandler maskinkoden for å utføre de tilsvarende oppgavene.
en kompilator bør overholde syntaksregelen til det programmeringsspråket der det er skrevet. Kompilatoren er imidlertid bare et program og kan ikke fikse feil i det programmet. Så, hvis du gjør en feil, må du gjøre endringer i syntaksen til programmet ditt. Ellers vil det ikke kompilere.
Hva Er Tolk?
en tolk er et dataprogram som dekker hvert program på høyt nivå i maskinkoden. Dette inkluderer kildekode, forhåndskompilert kode og skript. Både kompilator og tolker gjør den samme jobben som konverterer programmeringsspråk på høyere nivå til maskinkode. En kompilator vil imidlertid konvertere koden til maskinkode (opprette en exe) før programmet kjøres. Tolker konverterer kode til maskinkode når programmet kjøres.
NØKKELFORSKJELL
- Kompilatoren forvandler kode skrevet i et høyt nivå programmeringsspråk til maskinkoden, samtidig, før programmet kjører, mens En Tolk dekker hvert høyt nivå program erklæring, en etter en, inn i maskinkoden, under programkjøring.
- Kompilert kode går raskere mens tolket kode går langsommere.
- Compiler viser alle feil etter kompilering, På Den Annen Side viser Tolken feil i hver linje en etter en.
- Kompilatoren er basert på oversettelse linking-lasting modell, Mens Tolk er basert På Tolkning Metode.
- Kompilatoren tar et helt program mens Tolken tar en enkelt linje med kode.
Forskjell Mellom Kompilator og Tolk
Grunnlag for forskjell | Kompilator | Tolk | |
---|---|---|---|
programmeringstrinn |
|
Opprett Programmet
|
|
Fordel | programkoden er allerede oversatt til maskinkode. Dermed er det kode kjøretid mindre. | Tolker er enklere å bruke, spesielt for nybegynnere. | |
Ulempe | du kan ikke endre programmet uten å gå tilbake til kildekoden. | Tolket programmer kan kjøres på datamaskiner som har tilsvarende tolk. | |
Maskinkode | Lagre maskinspråk som maskinkode på disken | lagrer Ikke maskinkode i det hele tatt. | Kjøretid | Kompilert kode kjøre raskere | Tolket kode kjøre tregere |
Modell | Den er basert på språk oversettelselinking-lasting modell. | den er basert På Tolkningsmetode. | |
Program generasjon | Genererer utgang program (i form av exe) som kan kjøres uavhengig av det opprinnelige programmet. | ikke generer utdataprogram. Så de evaluerer kildeprogrammet hver gang under utførelsen. | |
Utførelse | programutførelse er atskilt fra kompileringen. Det utføres først etter at hele utgangsprogrammet er kompilert. | Programutførelse er en del avtolkningsprosess, så det utføres linje for linje. | |
Minnekrav | Target program executeuavhengig og krever ikke kompilatoren i minnet. | tolken finnes i minnet under tolkning. | |
Passer Best for | Avgrenset til den spesifikke målmaskinen og kan ikke porteres. C og c++ er en mest populære et programmeringsspråk som bruker kompilering modell. | For webmiljøer, hvor belastningstider er viktige. På grunn av all uttømmende analyse er gjort, kompilerer ta relativt større tid til å kompilere selv liten kode som ikke kan kjøres flere ganger. I slike tilfeller er tolkene bedre. | |
Kodeoptimalisering | kompilatoren ser hele koden på forhånd. Derfor utfører de mange optimaliseringer som gjør at koden kjører raskere | Tolker ser kode linje for linje, og dermed er optimaliseringer ikke like robuste som kompilatorer | Dynamisk Skriving | Vanskelig Å implementere, da kompilatorer ikke kan forutsi hva som skjer ved svingtid. |
Bruk | Det er best egnet For Produksjonsmiljøet | Det er best egnet for programmet og utviklingsmiljøet. | |
feilutførelse | Kompilatoren viser alle feil og advarsler på kompileringstidspunktet. Derfor kan du ikke kjøre programmet uten å fikse feil | tolken leser en enkelt setning og viser feilen hvis noen. Du må rette feilen for å tolke neste linje. | |
Input | Det tar et helt program | Det tar en enkelt linje med kode. | |
Utgang | Compliers genererer mellomliggende machnie-kode. | Tolk aldri generere noen mellomliggende machnie kode. | |
Feil | Vis alle feil etter, kompilering, alt på samme tid. | Viser alle feilene i hver linje en etter en. | |
Gjelder Programmeringsspråk | C,C++,C#, Scala, Java alle bruker complier. | PHP, Perl, Ruby bruker en tolk. |
Rolle Kompilatoren
- Compliers leser kildekoden, utganger kjørbar kode
- Oversetter programvare skrevet i et høyere nivå språk til instruksjoner som datamaskinen kan forstå. Den konverterer teksten som en programmerer skriver inn i et format CPU kan forstå.
- prosessen med kompilering er relativt komplisert. Det bruker mye tid på å analysere og behandle programmet.
- det kjørbare resultatet er en form for maskinspesifikk binær kode.
Rolle Tolk
- tolken konverterer kildekoden linje for linje under KJØRING.
- Tolk fullstendig oversetter et program skrevet i et høyt nivå språk i maskin nivå språk.
- Tolk tillater evaluering og modifisering av programmet mens det utføres.
- Relativt mindre tid brukt til å analysere og behandle programmet
- programutførelse er relativt treg i forhold til kompilatoren
HØYT NIVÅ SPRÅK
høyt nivå språk, SOM C, C++, JAVA, etc. svært nær engelsk. Det gjør programmeringsprosessen enkel. Det må imidlertid oversettes til maskinspråk før utførelse. Denne oversettelsesprosessen utføres enten av en kompilator eller en tolk. Også kjent som kildekode.
MASKINKODE
Maskinspråk er svært nær maskinvaren. Hver datamaskin har sitt maskinspråk. En maskin språk programmer består av serie av binære mønster. (F.eks. 110110) det representerer de enkle operasjonene som skal utføres av datamaskinen. Maskinspråkprogrammer er kjørbare slik at de kan kjøres direkte.
OBJEKTKODE
ved kompilering av kildekode er maskinkoden generert for forskjellige prosessorer som Intel, AMD, EN ARM forskjellig. for å gjøre koden bærbar, blir kildekoden først konvertert til Objektkode. Det er en mellommannskode (lik maskinkode) som ingen prosessor vil forstå. Under kjøring konverteres objektkoden til maskinkoden til den underliggende plattformen.
Java Er Både Kompilert og Tolket.
for å utnytte relative fordeler med kompilatorer er tolker noen programmeringsspråk som Java både kompilert og tolket. Selve Java-koden er kompilert Til Objektkode. Under kjøring tolker JVM Objektkoden til maskinkoden til måldatamaskinen.