Representação intermediária

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.

Exemplo de Código de três endereços e um DAG correspondente para uma expressão aritmética, uma forma de representação intermediária

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

  1. Muchnick, Steven S. (1997). Advanced Compiler Design Implementation (em inglês). San Francisco, California: Morgan Kaufmann Publishers. p. 96. 856 páginas. ISBN 1-55860-320-4 
  2. Sandro Rigo. «Formas de Representação Intermediária» (PDF). Unicamp. Consultado em 19 de maio de 2010 

Ver também editar

Outros projetos Wikimedia também contêm material sobre este tema:
  Cursos na Wikiversidade