Forskjell mellom assembler og tolk

Anonim

Assembler vs tolk

Generelt er kompilatoren et dataprogram som leser et program skrevet på ett språk, som er kalt kildespråket, og oversetter det til et annet språk, som kalles målspråket. Tradisjonelt er kildespråk et språk på høyt nivå, som C ++, og målspråket er et lavnivå språk, for eksempel Assembly Language. Imidlertid er det kompilatorer som kan konvertere et kildeprogram som er skrevet i Assembly-språk og konvertere det til maskinkode eller objektkode. Assemblers er slike verktøy. På den annen side er tolk verktøy som utfører instruksjoner skrevet på enkelte programmeringsspråk. Tolk kan enten direkte utføre kildekoden på høyt nivå eller oversette dem til mellomkoden og tolke den eller utføre forhåndskompilert kode.

Hva er en Assembler?

Assembler er programvare eller et verktøy som oversetter Assembly Language til maskinkode. Så, en assembler er en type kompilator og kildekoden er skrevet i Assembly Language. Montering er et menneskelig lesbart språk, men det har vanligvis et ett til ett forhold til den tilsvarende maskinkoden. Derfor sies en assembler å utføre isomorf (en til en kartlegging) oversettelse. Avanserte montører gir ekstra funksjoner som støtter programutvikling og feilsøkingsprosesser. For eksempel gir typen av montører kalt makro montører en makro anlegg.

Hva er en tolk?

En tolk er et dataprogram eller et verktøy som utfører programmeringsinstruksjoner. En tolk kan enten kjøre kildekoden direkte eller konvertere kilden til en mellomkode og utføre den direkte eller utføre forkompilert kode produsert av en kompilator (noen tolkesystemer inkluderer en kompilator for denne oppgaven). Språk som Perl, Python, MATLAB og Ruby er eksempler på programmeringsspråk som bruker en mellomkode. UCSD Pascal tolker en forkompilert kode. Språk som Java, BASIC og Samlltalk samler først kilden til en mellomkode som heter bytecode og tolker den deretter.

Hva er forskjellen mellom en assembler og en tolk?

En montør kan betraktes som en spesiell type kompilator, som bare oversetter Assembly-språk til maskinkode. Tolke er verktøy som utfører instruksjon skrevet på enkelte språk. Tolksystemer kan inneholde en kompilator for å forhåndskompilere kode før tolkning, men en tolk kan ikke kalles en spesiell type kompilator. Assemblers produserer en objektkode, som kanskje må kobles sammen med linkerprogrammer for å kunne kjøre på en maskin, men de fleste tolker kan fullføre gjennomføringen av et program alene.En assembler vil vanligvis gjøre en en til en oversettelse, men dette gjelder ikke for de fleste tolker. Fordi monteringsspråket har en til en kartlegging med maskinkode, kan en montør brukes til å produsere kode som kjører veldig effektivt for anledninger hvor ytelsen er svært viktig (for eksempel grafikkmotorer, innebygde systemer med begrensede maskinvareressurser i forhold til en personlig datamaskin som mikrobølger, vaskemaskiner, etc.). På den annen side brukes tolker når du trenger høy portabilitet. For eksempel kan samme Java bytecode kjøres på forskjellige plattformer ved hjelp av den aktuelle tolken (JVM).