Forskel mellem assembler og tolk

Anonim

Assembler vs tolk

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 er kildesprog et sprog på højt niveau, som f.eks. C ++, og målsprog er et lavniveausprog som f.eks. 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. På den anden side er tolke værktøjer, der udfører instruktioner skrevet på nogle programmeringssprog. Tolk kan enten direkte udføre kildekoden på højt niveau eller oversætte dem til mellemkoden og derefter fortolke den eller udføre forkompileret kode.

Hvad er en Assembler?

Assembler er 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 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 forkompileret kode produceret af en compiler (nogle tolkesystemer omfatter en kompilator til denne opgave). Sprog som Perl, Python, MATLAB og Ruby er eksempler på programmeringssprog, der bruger en mellemkode. UCSD Pascal fortolker en forkompileret kode. Sprog som Java, BASIC og Samlltalk sammensætter først kilden til en mellemkode, der hedder bytecode og derefter fortolker den.

Hvad er forskellen mellem en assembler og en tolk?

En samler kan betragtes som en speciel type kompilator, som kun oversætter samlingssprog til maskinkode. Tolke er værktøjer, der udfører instruktion skrevet på nogle sprog. Tolksystemer kan omfatte en kompilator til præ-kompilering af kode før fortolkning, men en tolk kan ikke kaldes en speciel type kompilator. Assemblers producerer en objektkode, som muligvis skal forbindes ved hjælp af linker-programmer for at kunne køre på en maskine, men de fleste tolke kan selv gennemføre udførelsen af ​​et program.En assembler vil typisk lave en en til en oversættelse, men det gælder ikke for de fleste tolke. 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.). På den anden side anvendes tolke, når du har brug for en høj portabilitet. For eksempel kan den samme Java bytecode køres på forskellige platforme ved hjælp af den relevante tolk (JVM).