Prévia do material em texto
Grafo de Sintaxe Grafo de Fluxo de Controle Representa expressões de Representa os caminhos possíveis em forma mais compacta. um programa. Permite a fatoração de Essencial para a análise de fluxo subexpressões comuns. de controle. Utilizado na geração de Ajuda na visualização da execução código eficiente. do programa. É um grafo acíclico Utilizado para otimizações e dirigido com múltiplos análise de desempenho. ancestrais. Análise Árvore de Derivação Código de Três Endereços Representa a estrutura Sintática Cada instrução refere-se a no sintática de expressões. máximo três variáveis. Obtida através da análise Decompõe expressões complexas em sintática de um código. instruções simples. Não é suficiente para gerar Utiliza variáveis temporárias para código intermediário. simplificação. Fundamental para entender a Gera um código próximo da gramática de uma linguagem. linguagem assembly. Otimização Global Elimina subexpressões comuns em todo O código. Movimenta código para Notações Pré e Pós-fixadas melhorar a eficiência. Otimização de Código Local Facilitam a geração de código Identifica redundâncias em Identifica atribuições com lados intermediário. loops para otimização. direitos iguais. A notação pós-fixa não requer Utiliza O grafo de fluxo de Remove comandos inúteis que não são parênteses. controle inteiro. utilizados. Ambas utilizam pilhas para Melhora a eficiência do código organizar dados. gerado. Eliminam a preocupação com a Foca em otimizações dentro de blocos precedência de operadores. básicos.