Eric, Fabrício, João Vicente

Slides:



Advertisements
Apresentações semelhantes
gerador de código intermediário
Advertisements

Estruturas de Dados Marcio Gonçalves.
IV – Análise semântica DEI Implementação da tabela de símbolos
Entrada e Saída Introdução.
Linguagem de Montagem Visão geral.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Software Básico Silvio Fernandes
Carlos R. M. Junior Eduardo Motta
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Prof. Heloise Manica Paris Teixeira
Pesquisa em Memória Primária
Pesquisa em Memória Primária
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Programação II Estruturas, uniões e enumerações
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Complexidade de Algoritmos
Arquitetura de Computadores
Aula 4 Nomes, Vinculações, Tipos e Escopos
Prof. Msc. Raul Paradeda Aula 3 Fundamentos
Estrutura de um tradutor
Revisão da Linguagem C.
Gerência de Memória.
Diagrama de Componentes
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
PROGRAMAÇÃO I UNIDADE 1.
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aula prática - análise contextual
Linguagem de Programação II Parte IX
Sistemas Operacionais
Conceitos de Linguagem de Programação
Algorítmos e estrutura de dados III
Tópicos avançados em internet A
Otimizador de consultas
Verificação de Tipos e Escopos
Professor: Márcio Amador
Técnicas de Desenvolvimento de Programas
Análise Léxica.
Algoritmos e Estruturas de Dados I – Ponteiros
Curso Técnico em Mineração
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Geração de Código aula-12-geração-de-código.pdf.
Sistemas Operacionais
Capítulo VIII Ambientes de Execução
Analise Semântica aula-10-analise-semântica.pdf.
Modularização Dividir um problema em subproblemas Módulos menores facilita a depuração Dividir o desenvolvimento entre vários programadores “Reutilização”
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Tradutor Preditivo. Introdução Introdução Esquemas L-atribuidos são reconhecidos por analisadores Top-Down. Entre estes analisadores, se encontra.
Regras de escopo Escopo: trecho de codificação no qual o identificador possui significado Escopo de função: identificador válido dentro do trecho de uma.
Back-End Compilação aula-11-back-end.pdf.
Faculdade Pernambucana - FAPE Setembro/2007
Tudo sobre o Processador
Aula Prática 3 Funções Monitoria Introdução à Programação.
COMPILADORES 04 Prof. Marcos.
Trabalho de Persistência para o EPOS. Problema Proposto Implementar no Epos objetos persistentes, ou seja, fazer com que o sistema, ao ser reiniciado,
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Geração de Código Fase final do compilador
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
PUBLISHER AULA 02 Neste capítulo você conhecerá os recursos básicos encontrados nas diferentes guias do Microsoft Publisher. O uso de tais ferramentas.
SISTEMAS DE INFORMAÇÃO
Análise Semântica e Representação Intermédia
Projeto Archiving - FI Fevereiro de 2012.
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
COMPILADORES 07 Prof. Marcos.
Análise Contextual Mauro Araújo Teoria e Implementação de Linguagens Computacionais - IF688 Centro de Informática – CIn Universidade Federal de Pernambuco.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
ACCESS Prof: Felipe Lira.  O que é o ACCESS ? Microsoft Access (nome completo Microsoft Office Access), também conhecido por MSAccess, é um sistema de.
Transcrição da apresentação:

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

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

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

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

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.

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

FIM