Assembler vs Tolk
Over het algemeen is compiler een computerprogramma dat een programma leest dat in de ene taal is geschreven, de brontaal, en het verta alt in een andere taal, de doeltaal. Traditioneel is brontaal een taal op hoog niveau, zoals C++, en doeltaal is een taal op laag niveau, zoals assembler. Er zijn echter compilers die een in assembler geschreven bronprogramma kunnen converteren en converteren naar machinecode of objectcode. Assemblers zijn zulke tools. Aan de andere kant zijn tolken hulpmiddelen die instructies uitvoeren die in een programmeertaal zijn geschreven. Interpreter kan broncode op hoog niveau rechtstreeks uitvoeren of deze vertalen naar intermediaire code en deze vervolgens interpreteren of vooraf gecompileerde code uitvoeren.
Wat is een monteur?
Assembler is software of een tool die assembler verta alt naar machinecode. Een assembler is dus een soort compiler en de broncode is geschreven in assembler. Assembleren is een voor mensen leesbare taal, maar heeft meestal een één-op-één relatie met de bijbehorende machinecode. Daarom wordt van een assembler gezegd dat hij isomorfe (één-op-één mapping) vertaling uitvoert. Geavanceerde assemblers bieden extra functies die programmaontwikkeling en foutopsporingsprocessen ondersteunen. Het type assemblers dat macro-assemblers wordt genoemd, biedt bijvoorbeeld een macro-faciliteit.
Wat is een tolk?
Een tolk is een computerprogramma of een tool die programmeerinstructies uitvoert. Een interpreter kan ofwel de broncode direct uitvoeren of de broncode converteren naar een tussencode en deze direct uitvoeren of vooraf gecompileerde code uitvoeren die door een compiler is geproduceerd (sommige interpretersystemen bevatten een compiler voor deze taak). Talen als 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 broncode naar een tussencode genaamd bytecode en interpreteren deze vervolgens.
Wat is het verschil tussen een assembleur en een tolk?
Een assembler kan worden beschouwd als een speciaal type compiler, die alleen assembler verta alt naar machinecode. Tolken zijn hulpmiddelen die instructies uitvoeren die in een bepaalde taal zijn geschreven. Interpretersystemen kunnen een compiler bevatten om code voor de interpretatie te compileren, maar een interpreter kan geen speciaal type compiler worden genoemd. Assemblers produceren een objectcode, die mogelijk moet worden gekoppeld met behulp van linkerprogramma's om op een machine te kunnen draaien, maar de meeste interpreters kunnen de uitvoering van een programma zelf voltooien. Een assembler zal doorgaans een één-op-één vertaling doen, maar dit geldt niet voor de meeste tolken. Omdat assembleertaal een één-op-één mapping met machinecode heeft, kan een assembler worden gebruikt voor het produceren van code die zeer efficiënt werkt voor gelegenheden waarbij prestaties erg belangrijk zijn (voor bijvoorbeeld grafische engines, embedded systemen met beperkte hardwarebronnen in vergelijking met een personal computer zoals magnetrons, wasmachines, enz.). Aan de andere kant worden tolken gebruikt wanneer u een hoge draagbaarheid nodig heeft. Dezelfde Java-bytecode kan bijvoorbeeld op verschillende platforms worden uitgevoerd door de juiste interpreter (JVM) te gebruiken.