Forskellen mellem samler og kompilator

Assembler vs Compiler

Generelt er compiler et computerprogram, der læser et program skrevet på et sprog, der kaldes kildesproget, og oversætter det til et andet sprog, der kaldes målsproget. Traditionelt var kildesprog et sprog på højt niveau såsom C ++, og målsproget var et lavt sprog som forsamlingssprog. Der er dog compilere, der kan konvertere et kildeprogram skrevet på forsamlingssprog og konvertere det til maskinkode eller objektkode. Samlere er sådanne værktøjer. Så både montører 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, der kaldes målsproget. Oftest er kildesproget et sprog på højt niveau, og målsproget er et lavt sprog. Så generelt kan kompilatorer ses som oversættere, der oversætter fra et sprog til et andet. Derudover udfører compilere nogle optimeringer af koden. En typisk kompilator består af flere hovedkomponenter. Den første komponent er scanneren (også kendt som den leksikale analysator). Scanner læser programmet og konverterer det til en streng tokens. Den anden komponent er parseren. Det konverterer strengen med symboler til et parse-træ (eller et abstrakt syntaks-træ), der fanger programmets syntaktiske struktur. Den næste komponent er de semantiske rutiner, der fortolker den syntaktiske strukturs semantik. Kodeoptimeringer og den endelige kodegenerering følger dette.

Hvad er en samler?

Assembler er en software eller et værktøj, der oversætter monteringssprog til maskinkode. Så en samler er en type af en kompilator, og kildekoden er skrevet på samlingssprog. Samling er et menneskeligt læseligt sprog, men det har typisk et forhold til én med den tilsvarende maskinkode. Derfor siges en samler at udføre isomorf (en til en kortlægning) oversættelse. Avancerede samlere leverer yderligere funktioner, der understøtter programudvikling og fejlsøgningsprocesser. For eksempel giver den type samlere, der kaldes makroforsamlere, en makrofacilitet.

Hvad er forskellen mellem en samler og en kompilator?

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