Linguagem Intermediaria e Otimização
description
Transcript of Linguagem Intermediaria e Otimização
Linguagem intermediaria e OtimizaoFernando FerreiraVitor Bergamo
Gerao de Cdigo intermedirioO que cdigo intermedirioPara que serve cdigo intermedirioVantagens
Diagrama de funcionamento da linguagem intermediariaTipos de cdigos intermediriosHIR High Intermediate RepresentationUsada nos primeiros estgios do compiladorSimplificao de construes gramaticais para somente o essencial para otimizao/gerao de cdigoMIR Medium Intermediate RepresentationBoa base para gerao de cdigo eficientePode expressar todas caractersticas de linguagens de programao de forma independente da linguagemRepresentao de variveis, temporrios, registradoresLIR Low Intermediate RepresentationQuase 1-1 para linguagem de mquinaDependente da arquitetura
Formas de representaesHIRrvore e grafo de sintaxeNotaes Ps-fixada e Pr-fixadaRepresentaes linearizadasMIRrvore e grafo de sintaxeNotaes Ps-fixada e Pr-fixada:Representaes linearizadasCdigo de trs endereos:QudruplasTriplasGrafos acclicos dirigidos (DAG)LIRInstrues assembler
ComparativoCdigo NormalCdigo Intermedirio
while (i < 10*j) _L1: _t1 := 10 * j { if i >= _t1 goto _L2 a[i] = i + 2*j; _t2 := 2 * j ++i; a[i] := i + _t2 } i := i + 1 goto _L1
Otimizao de cdigoBibliografiaAho, V. Alfred, Ravi Sethi, and J. D. Ullman, Compiladores: Princpios, Tcnicas e Ferramentas, Editora Guanabara Koogan, Rio de Janeiro-RJ, 1995.PRICE, Ana M. A.; TOSCANI, Simo S. Implementao de Linguagens de Programao: Compiladores. Porto Alegre: Instituto de Informtica da UFRGS, Ed. Sagra Luzzatto, 2000.