Vad är ett mellanliggande språk?
Vid datorprogrammering, när mänsklig läsbar källkod analyseras av en kompilator, översätter kompilatorn ofta källkommandona till en sekvens av instruktioner som inte är helt inhemska maskinkod utan kan behandlas ytterligare, optimeras eller sammanställas av kompilatorn eller andra programverktyg. De filer som produceras innehåller instruktioner som sägs vara på ett mellanliggande språk, eftersom det språk som används av kompilatorn varken är meningsfullt för det större operativsystemet eller det språk som används av programmeraren för att skriva koden i första hand, men istället är ett språk som fungerar som en bro mellan skrivandet och exekveringen av programmet. Ett mellanliggande språk används ibland för att en kompilator kan göra mycket exakta optimeringar så att programmet körs mer effektivt, men det kan också användas för att producera utgångsfiler som är bärbara mellan olika, inkompatibla system. Språkets faktiska syntax kan likna maskinkod eller andra typer av icke-mänskliga rERABLE BYTECODE, eller språket kan bara vara ett befintligt datorprogrammeringsspråk för plattformar.
När den används för kompilatoroptimering tar en språkkompilator varje uttalande i en källkodfil och bryter ner kommandot i mellanspråket. Ett enda mänskligt läsbart programmeringsförklaring kan brytas ned i dussintals maskinspråkinstruktioner, så det mellanliggande språket skapar en abstraktionsnivå som kompilatorn kan använda för att identifiera områden i koden där optimeringar kan göras utan att först behöva binda koden till inbyggda implementeringar eller bibliotek. När den är klar kan mellanhandskodfilen sedan sammanställas för att göra en inbyggd binär fil, eller den kan köras genom ett annat program, känt som en tolk, som kommer att köra koden genom att sammanställa den till infödda instruktioner vid behov.
Vissa språk, till exempel Java®, använd en intermeDiatspråk för att skapa sammanställda filer som är optimerade men också bärbara för andra datorsystem. Denna typ av kod är ibland känd som bytekod och liknar maskinkod eller monteringsspråk. Bytecode lagras i filer på ett sätt som är plattformsoberoende, vilket innebär att den kan överföras till alla datorsystem eller enheter som kan köra en tolk. När bytekoden är på ett system kan det antingen köras som ett tolkat program eller det kan sammanställas för att köras naturligt på målsystemet.
I vissa fall är ett datorspråk utformat för att göra det enkelt att programmera mot ett specifikt slut, till exempel en interaktiv webbapplikation, men designarna vill inte inkludera anpassade kompilatorer, tolkar eller plug-ins för olika system. I dessa fall kan kompilatorns mellanspråk vara ett befintligt språk som redan har etablerat tolkar över plattformar. Det resulterande mellanspråket i detta fall är mänsklig läsbar. Ett exempel på en datorprogrammiNG -språk som också används som ett mellanspråk är JavaScript®, vilket har fördelen att kunna köra i nästan alla webbläsare på någon plattform, från och med 2011.