Forskellen mellem kompilator og tolk

Forfatter: Monica Porter
Oprettelsesdato: 18 Marts 2021
Opdateringsdato: 16 Kan 2024
Anonim
Java 17 and Windows 11 release. Paid Docker and Apple’s new MacBook [MJC News #9]
Video.: Java 17 and Windows 11 release. Paid Docker and Apple’s new MacBook [MJC News #9]

Indhold

Primær forskel

Kompilatoren og tolken oversætter begge sprogprogrammerne på højere niveau, forskellen ligger i, at en kompilator samler kildekoden til en eksekverbar maskinkode, mens en fortolker fortolker hver instruktion og udfører den uden at producere nogen maskine / objektkode. Kompilatorarbejdet er en gang, når et program er samlet; det kan gemmes til en senere udførelse, mens tolk skal tolke hver gang programmet kører. Objektkode genereres i tilfælde af compiler, hvorimod der ikke produceres nogen objektkode i tolk; det producerer kun en mellemkode. Compiler behandler programmet i det hele, men en tolk behandler det instruktion ved instruktion. I compiler er programudførelsen hurtig, og i tilfælde af tolk er den langsommere, fordi fortolkning og erklæring fortolkning og udførelse er tidskrævende. I compiler er fejlfindingsprocessen vanskelig sammenlignet med fejlfinding i en tolk. Compiler kræver ikke kildekode på kørselstidspunktet, men i tilfælde af tolk kræves der en komplet kildekodefil for at udføre et program. Compiler kræver mere hukommelse, fordi den genererede maskinkode er ret stor, men i tilfælde af tolk er der ikke behov for ekstra hukommelse. I kompilatorer vises fejlene i et program, efter at den komplette kildekode er analyseret, men i tilfælde af tolk vises fejl for hver fortolket linje. Den kompilerede kode udføres af computerhardware i tilfælde af kompilatorer, hvorimod i tolke behandles mellemkoden af ​​et andet program. I programmeringsscenariet kontrollerer compileren programmets syntaks, men tolke verificerer et programs nøgleord. I kompilatorer er der et omfang af kodeoptimering, og tolke tillader ændring af kode på kørselstidspunkt. Begge disse er ofte i brug af programmerere og begge har deres egne specifikationer og fordele.


Sammenligningstabel

TolkCompiler
InputTolken tager en enkelt instruktion som input.Compiler tager hele programmet som input.
ObjektkodeDer genereres ingen mellemliggende objektskode i tolk.Mellemliggende objektkode produceres i Compiler
KontrolerklæringerEn langsom udførelse af erklæring om betinget kontrol i tolk.Betingede kontrolerklæringer udføres hurtigt i Compiler
KonverteringProgram på højere niveau konverteres til program på lavere niveau hver gang.Program behøver ikke at blive samlet hver gang i Compiler.

Definition af Compiler

En compiler er et specialiseret program, der behandler kildekoden, der er skrevet på et sprog på højere niveau, til computerforståelig maskinkode. Denne maskinkode er faktisk på binært sprog, som en processor forstår og udfører. For at skrive en kildekode skriver programmereren programmet på et sprog som C, C ++ eller Pascal ved hjælp af en eller anden programmeringseditor. Dette program udføres derefter ved hjælp af en kompilator, der er passende til det sprog, som kildekoden er skrevet på. En kompilators input er et komplet program; det analyserer det først og derefter behandler det. Den udfører et antal analyser på kildekoden, der er angivet som input, den leksikale og syntaktiske analyse. Efter at have udført begge disse trin er compilerens sidste opgave at generere maskinkoden. Outputet fra denne kompilering er objektkoden og kan eksekveres. Programmet er samlet en gang og behøver ikke at blive kompileret hver gang programmet kører.


Definition af tolk

En tolk er et program, der udfører sætningen efter sætning (linje for linje) oversættelse af programkildekoden skrevet på et sprog på højere niveau. Når en tolk får et program, når den får et program, fortolker det og udfører det derefter.Tolk genererer en mellemkode efter fortolkning af kildekoden og udfører den derfor. Der er ingen kompileringstrin, og der genereres ingen maskinkode. Dette er, hvordan tolk oversætter og kører hele programmet linje for linje. Det foretrækkes, når øjeblikkelig instruktion ved instruktionsudførelse er påkrævet. De er nyttige, især når kodetestning udføres. Hver gang, når et program skal køres, fortolker tolken det på samme måde.

Forskelle i et nøddeskal

  1. Compiler behandler hele programmet; tolk fortolker kode linje for linje.
  2. Compiler producerer en binær maskinkode; tolk genererer en mellemkode.
  3. Compilermaskinkode kan gemmes og genbruges, når den er samlet; tolk skal tolke kildekoden hver gang.
  4. Kompilatorer undersøger gyldigheden af ​​kodesyntax; tolke tjekker for nøgleordene.
  5. I compiler er programudførelsen hurtig; i tolkens programudførelse er langsom.
  6. Fejlsøgning er kompliceret i compilere; fejlsøgning er let i tolke.
  7. Kompilatorer viser fejl efter kontrol af den komplette kildekode; tolke viser fejl i hver instruktion i kode i den specificerede sekvens.
  8. Kompilatorens maskinkode behandles yderligere af hardware; tolkens mellemkode behandles af et andet specialiseret program.
  9. Kompilatorer kræver ikke kildekodefil på udførelsestidspunktet; tolke har brug for kildekodefil til udførelse af kørselstid.
  10. I compilere udføres udførelsen af ​​programmet efter kompileringstrinnet; tolke kører programmet direkte uden nogen kompilering.
  11. Compiler bruger mere hukommelse; tolk kræver mindre hukommelse.

Konklusion

Computerarkitektur og forståelse af betingelser, der er knyttet til det, kan være en besværlig opgave, og disse to udtryk ovenfor er ens, som har forskellige forskelle mellem dem, men som altid synes at være ens. Denne artikel ser derfor ud til at forklare forskellene mellem dem for at hjælpe folk med at skabe en klar forståelse.


Apothecary Apothecary () er en betegnele for en medicink profeionel, der formulerer og udleverer materia medica til læger, kirurger og patienter. Den moderne farmaceut (ogå kaldet kemiker ...

Feal (adjektiv)Hyggelig; ren; pæn.Feal (adjektiv)Komfortabel; hyggelig; ikker.Feal (adjektiv)Glat; blød; dunet; fløjlagtig.Feal (adjektiv)trofat, loyalFeal (adverb)På en feal m...

Valg Af Læsere