Mellemkode

(eller: intermediate code).

Maskinuafhængig programkode, frembragt af en oversætter. Da forskellige computere har forskellige instruktionssæt, er mellemkode forskellig fra den fysiske maskines objektkode, men kan opfattes som objektkode for en abstrakt maskine med et instruktionssæt, der er "fællesnævner" for en række maskiners instruktionssæt. Ved oversættelse fra kildeprogram til mellemkode kan derfor benyttes den samme oversætter på forskellige maskintyper, ligesom mellemkoden er (eller burde være) flytbar (se programportabilitet). Den endelige frembringelse af maskinkode er maskinafhængig og sker enten som oversættelse eller fortolkning ved hjælp af en kodegenerator. Kodegeneratoren er i reglen meget simplere at konstruere end oversætteren. Et ældre eksempel på mellemkode er p-kode i et UCSD P-system, et nyere er Java bytecode til JVM, Java Virtual Machine. Beslægtede metoder benyttes af moderne fortolkere, f.eks. Visual Basic. [[Image:mellemk.gif|center|Anvendelsen af mellemkode kan give øget fleksibilitet iprogrammeringsmiljøer med flere programmeringssprog og flere forskellige maskintyper og styresystemer]]

Forfattere: 
Henning Mejer
Casper Thomsen