Forskel mellem Assembler og Compiler

Anonim

Assembler vs Compiler

Generelt er kompilator et computerprogram, der læser et program skrevet på et sprog, hvilket er kaldte kildesproget og oversætter det til et andet sprog, som kaldes målsproget. Traditionelt var kildesprog et højt niveau sprog som C ++ og målsprog var et lavt niveau sprog som Assembly Language. Der er dog kompilatorer, der kan konvertere et kildeprogram, der er skrevet i samlingssprog og konvertere det til maskinkode eller objektkode. Assemblers er sådanne værktøjer. Så både producenter og kompilatorer producerer i sidste ende kode, der kan udføres direkte på en maskine.

Hvad er en kompilator?

Compiler er et computerprogram, der læser et program skrevet på et sprog, der kaldes kildesproget, og oversætter det til et andet sprog, som kaldes målsproget. Kildesproget er oftest et sprog på højt niveau, og målsproget er et lavt niveau sprog. Så generelt kan kompilatorer ses som oversættere, der oversætter fra et sprog til et andet. Derudover udfører kompilatorer nogle optimeringer til koden. En typisk kompilator består af flere hovedkomponenter. Den første komponent er scanneren (også kendt som den leksikalske analysator). Scanneren læser programmet og konverterer det til en række tokens. Den anden komponent er parseren. Det konverterer strengens tokens til et parse-træ (eller et abstrakt syntaks-træ), som fanger programmets syntaktiske struktur. Næste komponent er de semantiske rutiner, som fortolker semantikken i den syntaktiske struktur. Kodeoptimeringerne og den endelige kodegenerering følger dette.

Hvad er en Assembler?

Assembler er en software eller et værktøj, der oversætter samlingssprog til maskinkode. Så en assembler er en type kompilator, og kildekoden er skrevet i samlingssprog. Montering er et menneskeligt læseligt sprog, men det har typisk et forhold mellem 1 og 1 med den tilsvarende maskinkode. Derfor siges en assembler at udføre isomorf (en til en kortlægning) oversættelse. Avancerede montører giver yderligere funktioner, der understøtter programudvikling og fejlfinding. For eksempel giver typen af ​​montører, der hedder makromontører, en makro facilitet.

Hvad er forskellen mellem en Assembler og en Compiler?

Compiler er et computerprogram, der læser et program skrevet på et sprog og oversætter det til et andet sprog, mens en assembler kan betragtes som en speciel type kompilator, der kun oversætter samlingssprog til maskinkode. Compilere producerer normalt maskinens eksekverbare kode direkte fra et sprog på højt niveau, men montører producerer en objektkode, som muligvis skal forbindes ved hjælp af linker-programmer for at kunne køre på en maskine.Da samlingssprog har en til en kortlægning med maskinkode, kan en assembler bruges til at producere kode, der kører meget effektivt til lejligheder, hvor ydeevnen er meget vigtig (for f.eks. Grafikmotorer, indlejrede systemer med begrænsede hardware ressourcer i forhold til en personlig computer som mikrobølger, vaskemaskiner osv.).