Wat is een tussenliggende taal?

In computerprogrammering, wanneer de mens-leesbare broncode wordt ontleed door een compiler, vertaalt de compiler vaak de bronopdrachten in een reeks instructies die niet helemaal native machinecode zijn, maar verder kunnen worden verwerkt, geoptimaliseerd of gecompileerd door de compiler of andere softwaretools. De geproduceerde bestanden bevatten instructies waarvan wordt gezegd dat ze zich in een tussenliggende taal bevinden, omdat de taal die door de compiler wordt gebruikt, noch betekenisvol is voor het grotere besturingssysteem, noch de taal die door de programmeur wordt gebruikt om de code in de eerste plaats te schrijven, maar in plaats daarvan een taal is die fungeert als een brug tussen het schrijven en uitvoeren van het programma. Een tussenliggende taal wordt soms gebruikt om een ​​compiler in staat te stellen zeer precieze optimalisaties te maken, zodat het programma efficiënter werkt, maar het kan ook worden gebruikt om uitvoerbestanden te produceren die draagbaar zijn tussen verschillende, onverenigbare systemen. De werkelijke syntaxis van de taal kan lijken op machinecode of andere soorten niet-menselijke rEadable bytecode, of de taal kan slechts een bestaande platformonafhankelijke computerprogrammeertaal zijn.

Bij gebruik voor compileroptimalisatie neemt een taalcompiler elke instructie in een broncodebestand en breekt de opdracht op in de tussenliggende taal. Een enkele door de mens leesbare programmeerverklaring kan afbreken in tientallen instructies voor machinaaltaal, dus de tussenliggende taal creëert een abstractieniveau dat de compiler kan gebruiken om gebieden van de code te identificeren waar optimalisaties kunnen worden gemaakt zonder eerst de code te binden aan native implementaties of bibliotheken. Eenmaal voltooid, kan het intermediaire codebestand vervolgens verder worden samengesteld om een ​​native binair bestand te maken, of het kan worden uitgevoerd via een ander programma, bekend als een tolk, dat de code zal uitvoeren door deze te compileren in native instructies als dat nodig is.

Sommige talen, zoals Java®, gebruiken een intermeVerdicht taal om gecompileerde bestanden te maken die zijn geoptimaliseerd maar ook draagbaar voor andere computersystemen. Dit type code staat soms bekend als bytecode en lijkt op machinecode of assemblietaal. Bytecode wordt opgeslagen in bestanden op een manier die van platformonafhankelijk is, wat betekent dat het kan worden overgedragen naar elk computersysteem of apparaat dat een tolk kan uitvoeren. Zodra de bytecode zich op een systeem bevindt, kan het worden uitgevoerd als een geïnterpreteerd programma of kan het worden gecompileerd om native op het doelsysteem te worden uitgevoerd.

In sommige gevallen is een computertaal ontworpen om het gemakkelijk te maken om te programmeren naar een specifiek einde, zoals een interactieve webtoepassing, maar de ontwerpers willen geen aangepaste compilers, tolken of plug-ins opnemen voor verschillende systemen. In deze gevallen kan de tussenliggende taal van de compiler een bestaande taal zijn die al platformoverschrijdende tolken heeft gevestigd. De resulterende tussenliggende taal is in dit geval de mens leesbaar. Een voorbeeld van een computerprogrammeurNG -taal die ook wordt gebruikt als een tussenliggende taal is JavaScript®, die het voordeel heeft om vanaf 2011 in bijna elke webbrowser op elk platform te kunnen lopen.

ANDERE TALEN