Assembler vs tolk
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 er kildesprog et sprog på højt niveau såsom C ++, og målsproget er 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. På den anden side er tolke værktøjer, der udfører instruktioner skrevet på et eller andet programmeringssprog. Tolk kan enten direkte udføre kildekode på højt niveau eller oversætte dem til mellemkode og derefter tolke den eller udføre forudkompileret kode.
Hvad er en samler?
Assembler er 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 en tolk?
En tolk er et computerprogram eller et værktøj, der udfører programmeringsinstruktioner. En tolk kan enten udføre kildekoden direkte eller konvertere kilden til en mellemkode og udføre den direkte eller udføre forudkompileret kode, der er produceret af en compiler (nogle tolkesystemer inkluderer en compiler til denne opgave). Sprog som Perl, Python, MATLAB og Ruby er eksempler på programmeringssprog, der bruger en mellemkode. UCSD Pascal fortolker en forudkompileret kode. Sprog som Java, BASIC og Samlltalk kompilerer først kilden til en mellemkode kaldet bytecode og derefter tolker den.
Hvad er forskellen mellem en samler og en tolk?
En samler kan betragtes som en speciel type kompilator, der kun oversætter monteringssprog til maskinkode. Tolke er værktøjer, der udfører instruktion, der er skrevet på et eller andet sprog. Tolkesystemer kan omfatte en kompilator til forudkompilering af kode inden fortolkning, men en tolk kan ikke kaldes en speciel type af en kompilator. Samlere fremstiller en objektkode, som muligvis skal linkes ved hjælp af linkerprogrammer for at køre på en maskine, men de fleste tolke kan fuldføre udførelsen af et program af sig selv. En samler vil typisk foretage en en til én oversættelse, men dette er ikke tilfældet for de fleste tolke. 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.). På den anden side bruges tolke, når du har brug for høj portabilitet. For eksempel kan den samme Java-bytecode køres på forskellige platforme ved hjælp af den relevante tolk (JVM).