IV – Análise semântica DEI Implementação da tabela de símbolos Verificação estática Bibliografia aconselhada: Aho, Sethi e Ullman – capítulo 6 Crespo – capítulo 6 Jorge Morais LFA 1999/2000 - 1
Tabelas de símbolos DEI Inserção e pesquisa eficiente dos identificadores Capacidade de armazenar atributos para diferentes tipos de identificadores Visibilidade nas várias fases da compilação Versatilidade na verificação de tipos Jorge Morais LFA 1999/2000 - 2
Árvores binárias DEI Inserção ordenada de informação Pesquisa de informação eficiente Existência de algoritmos de balanceamento de árvores binárias Jorge Morais LFA 1999/2000 - 3
Tabelas de hashing DEI Divisão da informação em várias parcelas Função de hashing: Função simples que faz essa divisão e acede rapidamente ao local de armazenamento Jorge Morais LFA 1999/2000 - 4
Verificação estática DEI Verificação de tipos: verificar se os tipos de duas variáveis numa operação são compatíveis Verificação de fluxo de controlo: verificar se algumas instruções de fluxo de controlo estão bem definidas: goto label só é possível se existir label break só é possível dentro dum ciclo Jorge Morais LFA 1999/2000 - 5
Verificação estática (cont.) DEI Unicidade: verificação da unicidade de algumas construções: funções definidas uma única vez switch-case com alternativas únicas Verificação relacionada com nomes Jorge Morais LFA 1999/2000 - 6
Verificação de tipos DEI Verificação de tipos pode ser realizada em: Expressões Instruções Funções Equivalência de tipos Conversão de tipos Tipos polimórficos Funções polimórficas Jorge Morais LFA 1999/2000 - 7