Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo

Slides:



Advertisements
Apresentações semelhantes
Linguagens Livre-de-contexto
Advertisements

FAPE - Curso de Ciência da Computação
Software Básico Silvio Fernandes
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 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 Geradores de parsers Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.9 LFA 1999/ Jorge Morais.
I - Noções dum compilador
Compiladores I Cristiano Damiani Vasconcellos
Prof. Yandre Maldonado e Gomes da Costa
TEORIA DA COMPUTAÇÃO Parte II  Linguagens Livres de Contexto
Software Básico Silvio Fernandes
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Análise Sintática - Continuação
Linguagens Livres de Contexto
JavaCC e JJTree Geração de compiladores implementados em Java
Curso Sistemas de Informação Disciplina: Arquitetura de Software
YACC.
Análise Sintática Ascendente
Relações em uma Gramática
Linguagem de Prog. e Programas
Autômatos Finitos Determinísticos
Construção de Compiladores
Construção de Compiladores
Construção de Compiladores
Construção de Compiladores
Tradutores de Linguagens
5.6 – Complementos de Yacc – Usando Yacc com gramáticas ambíguas
Prof. Bruno Moreno Aula 4 – 11/03/2011
Análise léxica e sintática
Análise léxica e sintática
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Ferramentas para a Construção de Compiladores: Lex & Yacc
Compiladores, Aula Nº 5 João M. P. Cardoso
Compiladores, Aula Nº 9 João M. P. Cardoso
Gramáticas Livres de Contexto
Sintaxe e Semântica Prof.: Gláucya Carreiro Boechat
Análises léxica e sintática
Análise léxica e sintática
Análise Léxica Primeira fase de um compilador
Mayerber Carvalho Neto
Análise Léxica e Sintática
Expressões Regulares e Gramáticas
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?
Capítulo II Gramáticas e Linguagens
Analise sintática aula-07-analise-sintática.pdf.
Análise Sintática LR Prof. Alexandre Monteiro
Análises léxica e sintática
Análise Sintática Prof. Alexandre Monteiro
Tradução Dirigida por Sintaxe
Linguagens Livres de Contexto
Compiladores Análise Sintática
Revisão Compiladores – AP1
Faculdade Pernambucana - FAPE Setembro/2007
COMPILADORES 04 Prof. Marcos.
Geradores de analisadores léxicos
JavaCC.
Sintaxe de uma Linguagem
PLP – JavaCC Java Compiler Compiler
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Analisador sintático: Tipos de análises sintáticas
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
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.
COMPILADORES 03 Prof. Marcos.
Transcrição da apresentação:

Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo Análise Sintática Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo

Análise Sintática Analisador sintático = Parser Erro sintático Análise hierárquica Hierarquia de Chomsky Linguagens tipo 3 e 2 Linguagem livre de contexto Gramática livre de contexto Gramática no formato EBNF Gramática sem recursividades à esquerda, fatorada e sem conflitos à esquerda = LL(1) Gramática para expressões com problemas de ambigüidade, ordem de resolução e precedência de operadores

Análise Sintática Analisador sintático: recebe os tokens classificados pelo analisador léxico e verifica se estão na ordem adequada, por intermédio da gramática da linguagem fonte.

Análise Sintática Erro sintático: erro que representa o desordenamento dos tokens segundo o que é solicitado pela gramática livre de contexto. Por exemplo: parênteses desbalanceados, um comando sem o término de ponto-e-vírgula etc.

Análise Sintática Análise hierárquica: tipo de análise usada pelo analisador sintático pois tem que construir a árvore de derivação através da gramática numa estrutura arborescente.

Análise Sintática Hierarquia de Chomsky : Hierarquia de Chomsky é a classificação de gramáticas formais descrita em 1959 por Noam Chomsky.

Análise Sintática Linguagem Regular (tipo 3): gramática regular, expressão regular, autômato finito determinístico, autômato finito não determinístico, autômato finito com movimentos vazios. Aplicações: representação e geração de tokens; construção de analisadores léxicos (scanner). Linguagem Livre de Contexto (tipo 2): gramática livre de contexto, autômato com pilha. Aplicações: representação e geração de programas da maioria das linguagens de programação conhecidas (C++, Pascal, Java, etc.); construção de analisadores sintáticos (parser).

Análise Sintática Gramática Livre de Contexto (GLC) É um formalismo gerador para linguagens do tipo 2, na Hierarquia de Chomsky. Numa GLC, as regras não tem limitação do lado direito. Em particular, destacam-se analisadores sintáticos, tradutores de linguagens e processadores de texto.

Análise Sintática Gramática no formato EBNF : É uma extensão do BNF. É usado também na simplificação da escrita de gramáticas livres de contexto, sendo bem mais poderoso do que o formato BNF. Usa os mesmos meta-símbolos da expressão regular: *, +, ?, |, além de permitir a associação de subexpressões com parênteses.

Análise Sintática Gramática sem recursividades à esquerda, fatorada e sem conflitos à esquerda = LL(1):o primeiro ‘L’ significa ‘left to right’ indicando que a leitura da entrada é feita da esquerda para a direita; o segundo ‘L’ significa ‘left linear’ e indica que sempre o símbolo não terminal mais à esquerda será reconhecido primeiro. O número ‘1’ indica quantos tokens serão lidos por vez, ou seja, apenas com a leitura de um token é suficiente para decidir qual produção utilizar. Conseqüentemente este tipo de gramática não pode ter conflitos à esquerda e também não pode possuir recursividade à esquerda.

Análise Sintática Gramática para expressões com problemas de ambigüidade, ordem de resolução e precedência de operadores .

FIM Obrigado pela atenção.