III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/2000 - 1Jorge.

Slides:



Advertisements
Apresentações semelhantes
Software Básico Silvio Fernandes
Advertisements

Tópicos em Compiladores
5.5 – Análise Bottom-Up Tentativa de construir uma árvore sintática para a sentença analisada, começando das folhas, indo em direção à raiz (pós-ordem.
Compiladores Claudio Benossi
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
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.
IV – Análise semântica DEI Implementação da tabela de símbolos
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
Compiladores I Cristiano Damiani Vasconcellos
Prof. Yandre Maldonado e Gomes da Costa
Compiladores FIC– Ciência da Computação Professor: Ciro Meneses Santos
Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo
Análise Sintática Ascendente ­
Profa. Heloise Manica Paris Teixeira
Análise Sintática - Continuação
esquerda p/ direita,read only
Análise Sintática Ascendente
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
*(+num) Expr Expr Op Expr Expr (Expr) Expr - Expr Expr num Op + Op - Op * Pilha Buffer com string de entrada.
Construção de Compiladores
Construção de Compiladores
10ª aula - GRAFCET (elementos de base)
Resolução do exame de 2ª época
Denis Pinheiro Teoria de Linguagens Prof. Newton José Vieira
Informática Teórica Engenharia da Computação
Ferramentas para a Construção de Compiladores: Lex & Yacc
Determinar o tipo de gramática
Compiladores, Aula Nº 19 João M. P. Cardoso
Compiladores, Aula Nº 9 João M. P. Cardoso
Gramáticas Livres de Contexto
Aula 17 1 Análise Sintáctica Compiladores, Aula Nº 17 João M. P. Cardoso.
Compiladores, Aula Nº 10 João M. P. Cardoso
Autómatos de Pilha. UM NOVO MODELO PARA OS AUTÓMATOS FINITOS As linguagens regulares são aceites por autómatos finitos. E as linguagens não regulares?
Análise Léxica.
Aula 14 1 Análise Sintáctica Compiladores, Aula Nº 14 João M. P. Cardoso.
Analise sintática aula-07-analise-sintática.pdf.
Análise Sintática LR Prof. Alexandre Monteiro
Análises léxica e sintática
Projeto de Tradutor Preditivo. Introdução Introdução Esquemas L-atribuidos são reconhecidos por analisadores Top-Down. Entre estes analisadores, se encontra.
Aula 12 1 Análise Sintáctica Compiladores, Aula Nº 12 João M. P. Cardoso.
Análise Sintática Prof. Alexandre Monteiro
CES-41 COMPILADORES Aulas Práticas Capítulo II A Ferramenta Yacc.
Aula 18 1 Análise Sintáctica Compiladores, Aula Nº 18 João M. P. Cardoso.
Revisão Compiladores – AP2
Análise Sintática de Descida Recursiva
COMPILADORES 04 Prof. Marcos.
VII – Conceitos avançados Garbage Collection Linguagens orientadas a objectos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
Sintaxe de uma Linguagem
Analisador sintático: Tipos de análises sintáticas
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Informática Teórica Engenharia da Computação. Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente.
IF688 – Análise Sintática. Resumo desta aula Revisão de conceitos gerais de parsing Método de parsing top down e bottom up.
Transcrição da apresentação:

III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/ Jorge Morais

Parsers ascendentes Reconhecimento das folhas para o nó principal Redução duma sequência ao símbolo inicial da gramática Ponto de apoio (handle) é uma subsequência que pode ser associada à parte direita duma produção permitindo a sua redução à parte esquerda da mesma LFA 1999/ Jorge Morais

Pontos de apoio (handle) Forma Derivada à Direita – sequência resultante de uma derivação Um ponto de apoio duma Forma Derivada à Direita é uma produção A e uma posição de onde pode ser substituído por A de modo a produzir a Forma Derivada à Direita anterior LFA 1999/ Jorge Morais

Exemplo S aABe A Abc | b B d abbcde (b – ponto de apoio) aAbcde (Abc) aAde (d) aABe (aABe) S LFA 1999/ Jorge Morais

Implementação do parser Pilha – na pilha são colocadas os símbolos da gramática Entrada – sequência a ser analisada Acção – acção a tomar perante o símbolo no topo da pilha e o próximo símbolo na entrada LFA 1999/ Jorge Morais

shift-reduce Acções possíveis: –shift – deslocamento do símbolo de entrada para a pilha –reduce – reduz o lado direito duma produção (que está no topo da pilha) ao lado esquerdo –erro – chamada à rotina de erro –aceitação – derivação bem sucedida LFA 1999/ Jorge Morais

Aceitação duma sequência Duma forma geral, uma sequência u é reconhecida por uma gramática se S * u, onde S é o símbolo inicial Configuração inicial: –Pilha: $ –Entrada: u $ Configuração final: –Pilha: $ S –Entrada: $ LFA 1999/ Jorge Morais

Exemplo E E + E | E * E | ( E ) | id id + id * id E * id + id * id E E + E id + E id + E * E id + id * E id + id * id LFA 1999/ Jorge Morais

Exemplo - Parser LFA 1999/ Jorge Morais PilhaEntradaAcção $id+id*id$shift $id+id*id$ redução E id $E+id*id$shift $E +id*id$shift $E + id*id$ redução E id $E + E*id$shift $E + E *id$shift

Exemplo - Parser (cont.) NOTA: a escolha do ponto de apoio depende da precedência de operadores LFA 1999/ Jorge Morais PilhaEntradaAcção $E + E * id$ redução E id $E + E * E$ redução E E*E $E + E$ redução E E + E $E$aceitação