Forskjell mellom Assembler og Compiler

Anonim

Assembler vs Compiler

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 var kildespråk et språk på høyt nivå som C ++ og målspråket var et lavnivå språk som 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. Så produserer både montører og kompilatorer til slutt kode som kan utføres direkte på en maskin.

Hva er en kompilator?

Kompilator er et dataprogram som leser et program skrevet på ett språk, som kalles kildespråket, og oversetter det til et annet språk, som kalles målspråket. Kildespråket er oftest et språk på høyt nivå og målspråket er et lavnivå språk. Så generelt kan kompilatorer bli sett på som oversettere som oversetter fra ett språk til et annet. I tillegg utfører kompilatorer noen optimaliseringer til koden. En typisk kompilator består av flere hovedkomponenter. Den første komponenten er skanneren (også kjent som den leksikalske analysatoren). Skanneren leser programmet og konverterer det til en streng med tokens. Den andre komponenten er parseren. Den konverterer strengen av tokens til et parse-tre (eller et abstrakt syntaks-tre), som fanger opp den syntaktiske strukturen til programmet. Neste komponent er de semantiske rutinene som tolker semantikken til den syntaktiske strukturen. Kodoptimaliseringer og endelig kodegenerering følger dette.

Hva er en Assembler?

Assembler er en 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 forskjellen mellom en Assembler og en Compiler?

Kompilator er et dataprogram som leser et program skrevet på ett språk og oversetter det til et annet språk, mens en assembler kan betraktes som en spesiell type kompilator som bare oversetter samlingssprog til maskinkode. Kompilatorer produserer vanligvis maskinens kjørbare kode direkte fra et språk på høyt nivå, men montører produserer en objektkode som kan kobles sammen ved hjelp av linkerprogrammer for å kunne kjøre på en maskin.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.).