mellanrepresentationen
Mellanrepresentationen, ofta förkortat IR, är en abstrakt kodform som används av en kompilator mellan front-endens syntaktiska och semantiska analys och back-endens maskinnära kodgenerering. Genom att använda IR kan kompilatorn analysera och optimera program oberoende av det specifika högnivåspråket och av den slutliga maskinarkitekturen. IR gör det också lättare att byta ut eller förbättra delar av kompilatorn utan att påverka hela kedjan.
I praktiken förekommer IR i olika former, bland annat som kontrollflödesgrafer (CFG), tre-adresskod eller i form
Exempel på verkliga IR inkluderar LLVM IR, som används i LLVM-kompilatorn, samt GCCs GIMPLE och RTL. Andra
Designvalen för en IR innebär avvägningar mellan abstraktionsnivå, analysprecision och prestanda, liksom hur väl semantiken från