Skip to main content

Hva er et mellomspråk?

I dataprogrammering, når menneskelig lesbar kildekode er analysert av en kompilator, oversetter kompilatoren ofte kildekommandoene til en sekvens av instruksjoner som ikke er helt naturlig maskinkode, men som viderebehandles, optimaliseres eller kompileres av kompilatoren eller annenprogramvareverktøy.Filene som produseres inneholder instruksjoner som sies å være på et mellomspråk, fordi språket som brukes av kompilatoren verken er meningsfylt for det større operativsystemet eller språket som brukes av programmereren til å skrive koden i utgangspunktet, men i stedeter et språk som fungerer som en bro mellom skriving og utførelse av programmet.Et mellomspråk brukes noen ganger for å la en kompilator gjøre veldig presise optimaliseringer, slik at programmet kjører mer effektivt, men det kan også brukes til å produsere utgangsfiler som er bærbare mellom forskjellige, inkompatible systemer.Den faktiske syntaksen til språket kan ligne maskinkode eller andre typer ikke-menneskelig lesbar bytecode, eller språket kan bare være et eksisterende tverrplattform dataprogrammeringsspråk.

Når den brukes til kompilatoroptimalisering, tar en språkkompilator hver uttalelse iEn kildekodefil og bryter kommandoen ned i mellomspråket.En enkelt menneskelig lesbar programmeringsuttalelse kan bryte ned i dusinvis av maskinspråkinstruksjoner, slik at mellomspråket skaper et abstraksjonsnivå som kompilatoren kan bruke for å identifisere områder i koden der optimaliseringer kan gjøres uten først å måtte binde koden tilEventuelle innfødte implementeringer eller biblioteker.Når den er fullført, kan formidlerfilen deretter settes videre for å lage en naturlig binær fil, eller den kan kjøres gjennom et annet program, kjent som en tolk, som vil utføre koden ved å samle den til native instruksjoner etter behov.

NoenSpråk, for eksempel Java , bruker et mellomspråk for å lage kompilerte filer som er optimalisert, men også bærbare til andre datasystemer.Denne typen kode er noen ganger kjent som Bytecode og ligner maskinkode eller monteringsspråk.Bytecode lagres i filer på en måte som er plattformuavhengig, noe som betyr at den kan overføres til et hvilket som helst datasystem eller enhet som kan kjøre en tolk.Når bytekoden er på et system, kan den enten kjøres som et tolket program, eller det kan utarbeides for å kjøre innfødt på målsystemet.

I noen tilfeller er et dataspråk designet for å gjøre det enkelt å programmere mot en spesifikkSlutt, for eksempel en interaktiv webapplikasjon, men designerne ønsker ikke å inkludere tilpassede kompilatorer, tolker eller plugins for forskjellige systemer.I disse tilfellene kan kompilatorens mellomspråk være et eksisterende språk som allerede har etablert tolker på tvers av plattformer.Det resulterende mellomspråket i dette tilfellet er menneskelig lesbart.Et eksempel på et dataprogrammeringsspråk som også brukes som mellomspråk, er JavaScript , som har fordelen av å kunne kjøre i nesten hvilken som helst nettleser på hvilken som helst plattform, fra 2011.