Forskjellen mellom assembler og kompilator

Forskjellen mellom assembler og kompilator
Forskjellen mellom assembler og kompilator

Video: Forskjellen mellom assembler og kompilator

Video: Forskjellen mellom assembler og kompilator
Video: Мне было 11 лет, и я была в библиотеке, когда произошло землетрясение. 2024, November
Anonim

Assembler vs Compiler

Generelt sett er kompilator 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. Tradisjonelt var kildespråk et språk på høyt nivå som C++ og målspråk var et språk på lavt nivå som forsamlingsspråk. Imidlertid er det kompilatorer som kan konvertere et kildeprogram skrevet i Assembly-språket og konvertere det til maskinkode eller objektkode. Montører er slike verktøy. Så både montører og kompilatorer produserer til slutt kode som kan kjøres direkte på en maskin.

Hva er en kompilator?

Compiler 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. Oftest er kildespråket et språk på høyt nivå og målspråket er et språk på lavt nivå. Så generelt kan kompilatorer sees på som oversettere som oversetter fra ett språk til et annet. I tillegg utfører kompilatorer noen optimaliseringer av koden. En typisk kompilator består av flere hovedkomponenter. Den første komponenten er skanneren (også kjent som den leksikale analysatoren). Skanner leser programmet og konverterer det til en rekke tokens. Den andre komponenten er parseren. Den konverterer strengen med tokens til et parse-tre (eller et abstrakt syntakstre), som fanger opp den syntaktiske strukturen til programmet. Neste komponent er de semantiske rutinene som tolker semantikken til den syntaktiske strukturen. Kodeoptimeringene og endelig kodegenerering følger dette.

Hva er en montør?

Assembler er en programvare eller et verktøy som oversetter Assembly-språk til maskinkode. Så en assembler er en type kompilator og kildekoden er skrevet på Assembly-språket. Montering er et språk som kan leses av mennesker, men det har vanligvis et en til en forhold til den tilsvarende maskinkoden. Derfor sies en assembler å utføre isomorf (en til en kartlegging) oversettelse. Avanserte samlere gir tilleggsfunksjoner som støtter programutvikling og feilsøkingsprosesser. For eksempel gir den typen sammenstillere som kalles makromontører en makrofunksjon.

Hva er forskjellen mellom en assembler og en kompilator?

Compiler 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 kun oversetter Assembly-språk til maskinkode. Kompilatorer produserer vanligvis maskinens kjørbare kode direkte fra et språk på høyt nivå, men assemblers produserer en objektkode som kanskje må kobles ved hjelp av linkerprogrammer for å kjøre på en maskin. Fordi Assembly-språket har en til en-tilordning med maskinkode, kan en assembler brukes til å produsere kode som kjører svært effektivt i anledninger der ytelsen er svært viktig (for eksempel grafikkmotorer, innebygde systemer med begrensede maskinvareressurser sammenlignet med en personlig datamaskin som mikrobølgeovner, vaskemaskiner osv.).

Anbefalt: