Em computação, representação intermediária é uma estrutura de dados construída de uma entrada de dados para um programa de computador, de onde então toda a saída de dados será criada a partir do processamento.
Um exemplo teórico se encontra em compiladores modernos, em que texto legível a humanos sob forma de código fonte é transformado num grafo intermediário[1] que permite a análise do fluxo de execução, e correções estruturais antes de se criar as instruções de CPU que programa gerado. Nesse caso específico, a representação intermediária independe de arquitetura de computador, de forma que a análise do fluxo é genérica para diferentes linguagens. Outras formas de representação intermediária para uso em compiladores são o código de três endereços[2] e a notação polonesa.
Um exemplo prático é um compilador como o GCC, em que diversas linguagens podem gerar programas para diversas arquiteturas, utilizando no caminho de montagem uma ou mais representações intermediárias.
Referências
↑Muchnick, Steven S. (1997). Advanced Compiler Design Implementation (em inglês). San Francisco, California: Morgan Kaufmann Publishers. p. 96. 856 páginas. ISBN1-55860-320-4