mellomrepresentasjonen
Mellomrepresentasjonen, ofte kalt IR (intermediate representation), er en mellomliggende form brukt i kompilatorer. IR ligger mellom kildekoden og maskinspråket og gir et maskin-uavhengig nivå der programlogikk og dataflyt kan analyseres og transformeres. Den er normalt abstrakt og avhenger lite av målplattformen.
Hensikten er å lette analyse og optimering, og å skille front-end fra back-end. Ved å bruke IR
Vanlige former for mellombrepresentasjon inkluderer tre-adresse-kode, grafbasert IR og SSA-formen (Static Single Assignment) som ofte brukes
Prosessen i en typisk kompilator begynner med front-end som analyserer kildekoden og genererer IR. Mellom-endene (optimiseringstrinn)
Fordeler med IR inkluderer bedre portabilitet og mulighet for omfattende, mål-uavhengige optimeringer. Ulemper er designkompleksitet og