11.07.2015 Views

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

Compiladores: PASCALjr - WWW2 - Udesc

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 6Geração de Código IntermediárioÉ a primeira fase da etapa de síntese, responsável por transformar a árvore de derivaçãoem um trecho de código (que pode eventualmente ser o próprio código objeto final).Freqüentemente porém, o código gerado não especifica detalhes da máquina alvo, taiscomo quais registradores serão usados ou quais endereços de memória serão referenciados,etc.Existem vantagens e desvantagens de se usar a etapa de geração de código intermediário.Vantagens:• Permite otimizações de código, a fim de tornar o código final mais eficiente;• Simplifica a implementação do compilador;• Possibilita que um mesmo código intermediário possa ser traduzido para diferenteslinguagens objeto.Desvantagens:• Uma etapa a mais é executada durante o processo de compilação, tornando o processomais lento.6.1 Linguagens IntermediáriasSão divididas em 3 categorias:• Representações gráficas;• Notação pós (ou pré) fixadas;• Código de três-endereços.6.1.1 Representações GráficasÉ uma forma condensada de árvore de derivação na qual somente os operandos da linguagemaparecem como folhas; os operadores constituem nós interiores da árvore (figura6.1).Exercício: Gerar as representações gráfica para as expressões abaixo:59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!