Assembler vs Interpreter
Compiler is over het algemeen een computerprogramma dat een programma leest dat is geschreven in één taal, de brontaal, en vertaalt dit in een andere taal, die de doeltaal wordt genoemd. Traditioneel is de brontaal een taal op hoog niveau, zoals C ++, en de doeltaal is een taal op een laag niveau, zoals de assembleertaal. Er zijn echter compilers die een bronprogramma kunnen converteren dat is geschreven in de assembleertaal en dit kan converteren naar machine- of objectcode. Assemblers zijn dergelijke hulpmiddelen. Aan de andere kant zijn tolken hulpmiddelen die instructies uitvoeren die in een programmeertaal zijn geschreven. Tolk kan ofwel direct broncode op hoog niveau uitvoeren of deze naar tussencode vertalen en deze vervolgens interpreteren of voorgecompileerde code uitvoeren.
Wat is een assembler?
Assembler is software of een tool die assembly-taal naar machinecode vertaalt. Een assembler is dus een type compiler en de broncode is geschreven in de assembler. Assemblage is een voor mensen leesbare taal, maar het heeft meestal een één-op-één relatie met de bijbehorende machinecode. Daarom wordt van een assembler gezegd dat hij een isomorfe (één-op-één mapping) vertaling uitvoert. Geavanceerde assemblers bieden extra functies die programmaontwikkeling en foutopsporingsprocessen ondersteunen. Het type monteurs dat macro-assembleurs wordt genoemd, biedt bijvoorbeeld een macrofaciliteit.
Wat is een tolk?
Een interpreter is een computerprogramma of een hulpmiddel dat programmeerinstructies uitvoert. Een interpreter kan ofwel de broncode direct uitvoeren of de bron naar een tussencode converteren en deze direct uitvoeren of voorgecompileerde code uitvoeren die door een compiler is geproduceerd (sommige interpreter-systemen bevatten een compiler voor deze taak). Talen zoals Perl, Python, MATLAB en Ruby zijn voorbeelden van programmeertalen die een tussencode gebruiken. UCSD Pascal interpreteert een voorgecompileerde code. Talen zoals Java, BASIC en Samlltalk compileren eerst de bron naar een tussenliggende code die bytecode wordt genoemd en interpreteer deze vervolgens.
Wat is het verschil tussen een assembler en een tolk?
Een assembler kan worden beschouwd als een speciaal type compiler, die alleen Assembly-taal naar machinecode vertaalt. Tolken zijn gereedschappen die in een bepaalde taal geschreven instructies uitvoeren. Tolksystemen kunnen een compiler bevatten om pre-compileercode vooraf te interpreteren, maar een interpreter kan geen speciaal type van een compiler worden genoemd. Assemblers produceren een objectcode, die mogelijk moet worden gekoppeld met behulp van linkerprogramma's om op een computer te worden uitgevoerd, maar de meeste tolken kunnen de uitvoering van een programma zelf voltooien. Een assembler doet meestal een één-op-één vertaling, maar dit is niet waar voor de meeste tolken. Omdat Assembleertaal een één-op-één toewijzing heeft met machinecode, kan een assembler worden gebruikt voor het produceren van code die zeer efficiënt werkt voor gelegenheden waarin de prestaties erg belangrijk zijn (voor bijvoorbeeld grafische engines, ingebedde systemen met beperkte hardwarebronnen in vergelijking met een pc zoals magnetrons, wasmachines, enz.). Aan de andere kant worden tolken gebruikt wanneer u een hoge draagbaarheid nodig heeft. De Java-bytecode kan bijvoorbeeld op verschillende platforms worden uitgevoerd met behulp van de juiste interpreter (JVM).