Hvad er et mellemsprog?

Når computerprogrammering analyseres, når menneskelig læsbar kildekode parses af en compiler, oversætter kompilatoren ofte kildekommandoerne til en sekvens af instruktioner, der ikke er helt oprindelig maskinkode, men som kan behandles, optimeres eller kompileres yderligere af kompilatoren eller anden software værktøjer. De filer, der er produceret, indeholder instruktioner, der siges at være på et mellemsprog, fordi det sprog, der bruges af kompilatoren, hverken er meningsfuldt for det større operativsystem eller det sprog, som programmereren bruger til at skrive koden i første omgang, men i stedet er et sprog, der fungerer som en bro mellem skrivning og udførelse af programmet. Nogle gange bruges et mellemsprog for at give en compiler mulighed for at foretage meget præcise optimeringer, så programmet kører mere effektivt, men det kan også bruges til at producere outputfiler, der kan bæres mellem forskellige, inkompatible systemer. Sprogets faktiske syntaks kan ligne maskinkode eller andre typer ikke-menneskelig læsbar bytecode, eller sproget kan kun være et eksisterende computerprogrammeringssprog på tværs af platforme.

Når det bruges til compileroptimering, tager en sprogkompiler hver sætning i en kildekodefil og opdeler kommandoen til mellemsproget. En enkelt programmerbar erklæring, der kan læses af mennesker, kan opdeles i snesevis af maskinsproginstruktioner, så mellemsprog skaber et abstraktionsniveau, som kompilatoren kan bruge til at identificere områder i koden, hvor optimeringer kan foretages uden først at skulle binde koden til eventuelle oprindelige implementeringer eller biblioteker. Når den er afsluttet, kan den mellemliggende kodefil derefter sammenstilles yderligere for at oprette en oprindelig binær fil, eller den kan køres gennem et andet program, kendt som en tolk, der udfører koden ved at kompilere den til native instruktioner efter behov.

Nogle sprog, såsom Java®, bruger et mellemsprog til at oprette kompilerede filer, der er optimerede, men også bærbare til andre computersystemer. Denne type kode er undertiden kendt som bytecode og ligner maskinkode eller monteringssprog. Bytecode gemmes i filer på en måde, der er platformuafhængig, hvilket betyder, at den kan overføres til ethvert computersystem eller enhed, der kan køre en tolk. Når bytekoden er på et system, kan den enten køres som et tolket program, eller det kan kompileres til at køre indfødt på målsystemet.

I nogle tilfælde er et computersprog designet til at gøre det let at programmere mod en bestemt ende, såsom en interaktiv webapplikation, men designerne ønsker ikke at inkludere tilpassede kompilatorer, tolke eller plug-ins til forskellige systemer. I disse tilfælde kan kompilatorens mellemsprog være et eksisterende sprog, der allerede har etableret tværplatformolke. Det resulterende mellemsprog i dette tilfælde er menneskeligt læseligt. Et eksempel på et computerprogrammeringssprog, der også bruges som et mellemsprog, er JavaScript®, som har fordelen ved at være i stand til at køre i næsten enhver webbrowser på enhver platform fra og med 2011.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?