A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Eric, Fabrício, João Vicente

Apresentações semelhantes


Apresentação em tema: "Eric, Fabrício, João Vicente"— Transcrição da apresentação:

1 Eric, Fabrício, João Vicente
Tabela de Símbolos Eric, Fabrício, João Vicente

2 Tabela de Símbolos Funções:
- Armazenar as informações sobre os nomes declarados num programa podendo ser: Variáveis Procedimentos Funções Métodos Classes Entre outros - Usada, pelo analisador semântico, para verificar se uma variável foi declarada, na verificação de compatibilidade de tipos, entre outras consultas que forem necessárias. - Pode ser usada para armazenar os valores das variáveis durante a execução do programa - Utilizado no ambiente de debug

3 Tabela de Símbolos Por ser muito utilizada em consultas, é importante que a estrutura de dados tenha uma performance considerável. Também é necessário o crescimento dinâmico de tal estrutura de dados - Por isso a escolha da tabela hashing em nosso trabalho Devem ser guardados quais endereços de memória serão associados as variáveis - No nosso trabalho foi utilizada o atributo referência na classe Simbolo para essa utilidade

4 Tabela de Símbolos Escopo:
Um programa pode ter várias tabelas de símbolos dando assim o escopo para os símbolos. Alguns exemplos: Tabela de Símbolos globais (externos) Tabela de Símbolos globais (internos ao módulo) Tabela de Símbolos de uma função Cada função tem a sua própria tabela de símbolos

5

6 Tabela de Símbolos Utilizando a Tabela de Símbolos:
- As informações armazenadas para cada símbolo podem variar de acordo com o tipo/uso (não sendo o caso do nosso trabalho) - Cada entrada na tabela pode ser implementada como um registro contendo campos (nome, tipo, classe, tamanho, escopo, etc.) sobre o símbolo. - Cria-se a classe Símbolo. - Cria-se a classe Tabela (Tabela de Símbolos). - A interação se dar por ações semânticas inseridas no analisador sintático, na classe principal do compilador.

7 Tabela de Símbolos A tabela se símbolos interage com quase todas as fases do compilador: varredura, análise sintática e análise semântica. - Elas podem fornecer identificadores a tabela -O analisador semântico interage com os tipos de dados e outras informações -As fases de otimização e geração de código utilizam a informação da tabela para efetuar escolhas apropriadas

8 FIM


Carregar ppt "Eric, Fabrício, João Vicente"

Apresentações semelhantes


Anúncios Google