IV – Análise semântica DEI Implementação da tabela de símbolos

Slides:



Advertisements
Apresentações semelhantes
Curso de aprofundamento na linguagem C
Advertisements

Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
gerador de código intermediário
II – Análise léxica DEI Papel do analisador léxico.
II – Análise léxica DEI Conversão de expressões regulares em autómatos finitos determinísticos mínimos Bibliografia aconselhada: Aho, Sethi e Ullman –
III – Análise sintáctica
III – Análise sintáctica
II – Análise léxica DEI lex: linguagem de especificação para analisadores léxicos Implementação de simuladores de autómatos finitos Bibliografia aconselhada:
III – Análise sintáctica
I - Noções dum compilador
III – Análise sintáctica
III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/ Jorge.
I - Noções dum compilador
III – Análise sintáctica
IV – Análise semântica DEI Associação de regras semânticas a produções
I - Noções dum compilador Partes dum compilador Ferramentas de construção de compiladores Bibliografia aconselhada: –Aho, Sethi e Ullman – Cap. 1 LFA 1999/2000.
III – Análise sintáctica
III – Análise sintáctica
V – Geração de código Chamada de funções Organização de memória Passagem de parâmetros Representação de código intermédio Bibliografia aconselhada: –Aho,
III – Análise sintáctica Geradores de parsers Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.9 LFA 1999/ Jorge Morais.
I - Noções dum compilador
VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
Linguagens Formais e Autómatos
Indexação Automática de Documentos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Conjuntos disjuntos Objectivo
Software Básico Silvio Fernandes
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Principais famílias de algoritmos
Algoritmos e Estrutura de Dados I
Conteúdo: - Operadores.
Prof. Heloise Manica Paris Teixeira
Teoria dos Compiladores
INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
Pesquisa em Memória Primária
Pesquisa em Memória Primária
Hashing (Espalhamento)
Autômatos Finitos Determinísticos
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Linguagens de Programação
Marco Antonio Montebello Júnior
Análise Semântica e Representação Intermédia
PROGRAMAÇÃO I UNIDADE 1.
Aula prática - análise contextual
Linguagens de Programação
Pesquisa em Memória Primária
Eric, Fabrício, João Vicente
Algorítmos e estrutura de dados III
Gramáticas Livres de Contexto
Desenvolvimento de Jogos e Entretenimento Digital
INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
Professor: Márcio Amador
Geração de Código Intermediário
Orientação a Objetos Parte I
Análise Léxica.
Capítulo II Gramáticas e Linguagens
Programação e Sistemas de Informação
Capítulo VIII Ambientes de Execução
Analise Semântica aula-10-analise-semântica.pdf.
Analisador Léxico Prof. Alexandre Monteiro
ANÁLISE ESTRUTURADA DE SISTEMAS
Faculdade Pernambucana - FAPE Setembro/2007
COMPILADORES 04 Prof. Marcos.
VII – Conceitos avançados Garbage Collection Linguagens orientadas a objectos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
SISTEMAS DE INFORMAÇÃO
Análise Semântica e Representação Intermédia
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
COMPILADORES 03 Prof. Marcos.
Algoritmos de Pesquisa
Transcrição da apresentação:

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