Assembler vs tolk
Generellt är kompilatorn ett dataprogram som läser ett program skrivet på ett språk, som kallas källspråket, och översätter det till ett annat språk, vilket kallas målspråket. Traditionellt är källspråk ett språk på hög nivå som C ++ och målspråket är ett lågnivå språk, som församlingsspråk. Det finns emellertid kompilatorer som kan konvertera ett källprogram skrivet i Assembly-språk och konvertera det till maskinkod eller objektkod. Assemblers är sådana verktyg. Å andra sidan är tolkar verktyg som utför instruktioner skrivna på vissa programmeringsspråk. Tolk kan antingen direkt utföra källkod på hög nivå eller översätta dem till mellankod och tolka den eller exekvera förkompilerade koden.
Vad är en Assembler?
Assembler är en mjukvara eller ett verktyg som översätter sammansättningsspråk till maskinkod. Så, en assembler är en typ av kompilator och källkoden är skrivet i samlingssprog. Montering är ett menligt läsbart språk, men det har vanligtvis ett ett till ett förhållande med motsvarande maskinkod. Därför sägs en monterare utföra isomorf (en till en kartläggning) översättning. Avancerade montörer ger ytterligare funktioner som stöder programutveckling och felsökningsprocesser. Till exempel tillhandahåller typen av montörer som kallas makromontörer en makroanläggning.
Vad är en tolk?
En tolk är ett datorprogram eller ett verktyg som utförs programmeringsinstruktioner. En tolk kan antingen exekvera källkoden direkt eller konvertera källan till en mellankod och utföra den direkt eller exekvera förkompilerad kod som producerats av en kompilator (vissa tolksystem inkluderar en kompilator för denna uppgift). Språk som Perl, Python, MATLAB och Ruby är exempel på programmeringsspråk som använder en mellankod. UCSD Pascal tolkar en förkompilerad kod. Språk som Java, BASIC och Samlltalk sammanställer först källan till en mellankod som heter bytecode och tolkar sedan den.
Vad är skillnaden mellan en assembler och en tolk?
En assembler kan betraktas som en speciell typ av kompilator, som endast översätter Assembly-språk till maskinkod. Tolkare är verktyg som utför instruktioner skrivna på något språk. Tolksystem kan innehålla en kompilator för att förkompilera kod före tolkning, men en tolk kan inte kallas en speciell typ av kompilator. Assemblers producerar en objektkod, som kanske måste länkas med hjälp av länkprogram för att kunna köras på en maskin, men de flesta tolkar kan självständigt genomföra en exekvering av ett program. En monterare gör vanligtvis en en till en översättning, men det är inte sant för de flesta tolkar. Eftersom monteringsspråket har en till en kartläggning med maskinkod kan en assembler användas för att producera kod som körs mycket effektivt vid tillfällen där prestanda är mycket viktigt (till exempel grafikmotorer, inbyggda system med begränsade hårdvaruresurser jämfört med en persondator som mikrovågor, tvättmaskiner, etc.). Å andra sidan används tolkar när du behöver hög portabilitet. Till exempel kan samma Java bytecode köras på olika plattformar med hjälp av lämplig tolk (JVM).