Assembler vs tolk
I allmänhet är kompilator ett datorprogram som läser ett program skrivet på ett språk, som kallas källspråket, och översätter det till ett annat språk, som kallas målspråket. Traditionellt är källspråket ett högnivåspråk som C ++ och målspråket är ett lågnivåspråk som monteringsspråk. Det finns dock kompilatorer som kan konvertera ett källprogram skrivet på Assembly-språk och konvertera det till maskinkod eller objektkod. Monterare är sådana verktyg. Å andra sidan är tolkar verktyg som utför instruktioner skrivna på något programmeringsspråk. Tolken kan antingen direkt köra högnivå källkod eller översätta dem till mellanliggande kod och sedan tolka den eller utföra förkompilerad kod.
Vad är en monterare?
Assembler är programvara eller ett verktyg som översätter monteringsspråk till maskinkod. Så, en assembler är en typ av en kompilator och källkoden är skriven på Assembly-språk. Montering är ett mänskligt läsbart språk men det har vanligtvis en till en relation med motsvarande maskinkod. Därför sägs en samlare utföra isomorf översättning (en till en kartläggning) översättning. Avancerade montörer ger ytterligare funktioner som stöder programutveckling och felsökningsprocesser. Till exempel ger den typ av sammansättare som kallas makroaggregat en makrofacilitet.
Vad är en tolk?
En tolk är ett datorprogram eller ett verktyg som utför programmeringsinstruktioner. En tolk kan antingen exekvera källkoden direkt eller konvertera källan till en mellanliggande kod och exekvera den direkt eller exekvera förkompilerad kod producerad av en kompilator (vissa tolkningssystem inkluderar en kompilator för denna uppgift). Språk som Perl, Python, MATLAB och Ruby är exempel på programmeringsspråk som använder en mellanliggande kod. UCSD Pascal tolkar en förkompilerad kod. Språk som Java, BASIC och Samlltalk sammanställer först källan till en mellanliggande kod som kallas bytecode och tolkar den sedan.
Vad är skillnaden mellan en monter och en tolk?
En samlare kan betraktas som en speciell typ av kompilator, som bara översätter monteringsspråk till maskinkod. Tolkar är verktyg som utför instruktioner skrivna på vissa språk. Tolksystem kan innehålla en kompilator för att kompilera kod före tolkning, men en tolk kan inte kallas en speciell typ av en kompilator. Assemblers producerar en objektkod som kan behöva länkas med hjälp av länkarprogram för att kunna köras på en maskin, men de flesta tolkar kan slutföra körningen av ett program själva. En samlare gör vanligtvis en till en översättning, men detta är inte sant för de flesta tolkar. Eftersom monteringsspråket har en till en kartläggning med maskinkod kan en samlare användas för att producera kod som körs mycket effektivt för tillfällen där prestanda är mycket viktigt (för t.ex.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 bärbarhet. Till exempel kan samma Java-bytecode köras på olika plattformar med hjälp av lämplig tolk (JVM).