Análise sintática Parsing

Tamanho: px
Começar a partir da página:

Download "Análise sintática Parsing"

Transcrição

1 Análise sintática Parsing IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Departmento de Computação e Matemática FFCLRP Universidade de São Paulo Baseado em Jurafsky&Martin E.E.S Ruiz (DCM USP) POS 1 / 59

2 Pensamento do dia Benjamin Franklin We are all born ignorant, but one must work hard to remain stupid. BF, poĺıtico, cientista e inventor norte-americano, E.E.S Ruiz (DCM USP) POS 2 / 59

3 Conteúdo 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 3 / 59

4 Motivação GLC e estruturas sintáticas Estudamos as GLC GLC é uma gramática formal Tópicos de GLC podem ser adaptadas para textos livres GLC através de regras podem determinar ou analisar estruturas gramaticais E.E.S Ruiz (DCM USP) POS 4 / 59

5 Introdução 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 5 / 59

6 Introdução Análise sintática (AS) Parsing O processo de analisar uma seqüência de símbolos (palavras ou termos) para determinar sua estrutura gramatical de acordo com uma determinada gramática E.E.S Ruiz (DCM USP) POS 6 / 59

7 Introdução Análise sintática (AS) Parsing O processo de analisar uma seqüência de símbolos (palavras ou termos) para determinar sua estrutura gramatical de acordo com uma determinada gramática Resultado: árvore sintática F N SV João V toca N piano E.E.S Ruiz (DCM USP) POS 6 / 59

8 Introdução Recordando... 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 7 / 59

9 Introdução Recordando... AS: Análise componencial Trabalha sobre unidades menores internas à frase, os constituintes Constituintes Exe: sintagmas e categorias gramaticais Sintagmas Grupos de palavras em torno de um núcleo sintático dominante Exemplos Núcleo=verbo: sintagma verbal (SV=VP) Núcleo=substantivo, adjetivo, pronome: sintágma nominal (SN=NP) Categorias gramaticais: verbo, substantivo... E.E.S Ruiz (DCM USP) POS 8 / 59

10 Introdução Recordando... Estrutura arbórea de uma frase F SN SV Det o N João V comprou Q SN SN todos Det os N livros E.E.S Ruiz (DCM USP) POS 9 / 59

11 Introdução Recordando... recordando... Constituintes em todos lugar Os constituintes são modulares Podem surgir em vários pontos das frases Analisar a sentença sob o ponto de vista de constituintes é uma forma de otimizar a análise todos os livros do João foram doados Eu não entendo como todos os livros foram doados? Constituintes podem ser e expandidos Eu não entendo como todos aqueles livros maravilhosos foram doados? E.E.S Ruiz (DCM USP) POS 10 / 59

12 Introdução Recordando... GLC e Análise sintática Análise sintática (AS) é um ponto central no ensino de gramática AS é essencial em CC: análise sintática das LP AS é baseada numa gramática Gramática é um conjunto de regras para a composição de frases E.E.S Ruiz (DCM USP) POS 11 / 59

13 Introdução Recordando... Onde estão as regras? Pronominais, por Oswald de Andrade Dê-me um cigarro Diz a gramática Do professor e do aluno E do mulato sabido Mas o bom negro e o bom branco Da Nação Brasileira Dizem todos os dias Deixa disso camarada Me dá um cigarro E.E.S Ruiz (DCM USP) POS 12 / 59

14 Introdução Recordando... GLC e Análise sintática Gramáticas livres de contexto (GLC) de são gramáticas declarativas de LP Mas as GLC não especificam como fazer o parsing Existem diversos tipos de parsers e algoritmos Dois grandes grupos: Top-down parsers Bottom-up parsers E.E.S Ruiz (DCM USP) POS 13 / 59

15 Introdução Recordando... AS: utilidades Verificação gramatical em processadores de texto Estágio intermediário para Análise Semântica Importante para: Tradução automática Sistemas de Question Answering Extração de informação E.E.S Ruiz (DCM USP) POS 14 / 59

16 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 15 / 59

17 AS: o problema F SN SV Det o N João V comprou Q SN SN todos Det N os livros Encontrar todas as árvores sintáticas com raís em F. Problema de busca, passeio em árvore E.E.S Ruiz (DCM USP) POS 16 / 59

18 AS: distinções Aplicações diferentes, parsers distintos Parsers para linguagens naturais são distintos de parsers para compiladores de linguagens formais. Grande parte da teoria de aplicação de parsers para compiladores não é adequada para PLN E.E.S Ruiz (DCM USP) POS 17 / 59

19 AS: Objetivo S NP VP John V NP loves Mary Encontrar todas as árvores sintáticas com raís em S. Pode haver ambiguidade Condições de contorno: 1 As folhas da árvore devem ser as palavras da frase 2 Árvore deve ter uma raíz S E.E.S Ruiz (DCM USP) POS 18 / 59

20 Uma pequena gramática + léxico (corrigir) Gramática (regras de produção) S NP VP S Aux NP VP S VP NP Det NOM(inal) NOM Noum NOM Noum NOM NP ProperNoum VP Verb VP Verb NP Léxico Det that this a Noum book flight meal money Verb book include prefer Aux does Prep from to on ProperNoum Huston TWA NOM NOM PP E.E.S Ruiz (DCM USP) POS 19 / 59

21 Top-down parsing 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 20 / 59

22 Top-down parsing Top-down: básico Busca por uma árvore sintática a partir do nó S Explora todos os espaços de busca, os ramos da árvore Assume que a partir de S ele encontrar as folhas no léxico Busca por todas as árvores possíveis E.E.S Ruiz (DCM USP) POS 21 / 59

23 Top-down parsing Top-down: início Parte do nó S e busca todas suas constituintes (sintagmas) derivados Tenta expandir estes sintagmas Busca as derivações mais a esquerda da cadeia de entrada Do início da frase para o final Veja figura a seguir E.E.S Ruiz (DCM USP) POS 22 / 59

24 Top-down parsing Top-down: expansão de árvores Abordagem top-down buscando analisar Book that flight. Só a expansão da quinta árvore da camada mais baixa (VP Verb NP) casará com a frase Book that flight. E.E.S Ruiz (DCM USP) POS 23 / 59

25 Top-down parsing Top-down: comentários LL-parser (com ou sem recursão) é o tipo de top-down mais comum LL-parser interessantes para LP Pode ter O(exp) 1 em GLC ambíguas 1 Complexidade de tempo exponencial E.E.S Ruiz (DCM USP) POS 24 / 59

26 Top-down parsing Top-down: comentários LL-parser (com ou sem recursão) é o tipo de top-down mais comum LL-parser interessantes para LP Pode ter O(exp) 1 em GLC ambíguas Escalabilidade é muito ruim Gramáticas mais amplas: qual árvore escolher? Gramáticas mais rígidas: muitas árvores derivadas, muita memória GLC com 10 regras podem surgir 592 árvores de derivação 1 Complexidade de tempo exponencial E.E.S Ruiz (DCM USP) POS 24 / 59

27 Bottom-up parsing 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 25 / 59

28 Bottom-up parsing Bottom-up: básico Forma mais antiga de AS (Victor H. Yngve, U. Chicago, 1955) AS inicia pela cadeia de entrada e tenta gerar árvore sintática até S aplicando as regras de produção Sucesso se consegue chagar ao S E.E.S Ruiz (DCM USP) POS 26 / 59

29 Bottom-up parsing Bottom-up: na prática Abordagem top-down buscando analisar Book that flight. Problema: book pode ser verbo ou substantivo Gera duas possíveis árvores de derivação Bottom-up busca o casamento das regras a partir do lado direito das regras de produção Diferente do top-down que busca o lado esquerdo das regras E.E.S Ruiz (DCM USP) POS 27 / 59

30 Bottom-up parsing Bottom-up: expansão de árvores Abordagem top-down buscando analisar Book that flight. E.E.S Ruiz (DCM USP) POS 28 / 59

31 Bottom-up parsing Bottom-up: primeira expansão Abordagem top-down buscando analisar Book that flight. E.E.S Ruiz (DCM USP) POS 29 / 59

32 Bottom-up parsing Bottom-up: segunda expansão Abordagem top-down buscando analisar Book that flight. E.E.S Ruiz (DCM USP) POS 30 / 59

33 Bottom-up parsing Bottom-up: derivações finais Abordagem top-down buscando analisar Book that flight. E.E.S Ruiz (DCM USP) POS 31 / 59

34 Bottom-up parsing Bottom-up: comentários Se a gramática tem múltiplas regras que começam com o mesmo símbolo mas tem produções diferentes Então podemos usar bottom-up determinístico Top-down não é adequado sem backtracking 2 2 Correlacionar com a busca em profundidade. E.E.S Ruiz (DCM USP) POS 32 / 59

35 Bottom-up parsing Bottom-up: + comentários LR parser é um tipo de bottom-up parser que analisa GLC determinística em tempo linear LR criado por Donald Knuth LR é um acrônimo: lê cadeia pela esquerda, regras de produção pela direita LR são determinísticos. Não usam backtracking Existem variações do LR que usam diversas estratégias E.E.S Ruiz (DCM USP) POS 33 / 59

36 Combinando as duas abordagens 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 34 / 59

37 Combinando as duas abordagens Top-down + bottom-up: Introdução Ambos, top-down e bottom-up, têm suas vantagens e desvantagens Combinação de ambas abordagens é uma estratégia válida Segredo: escolher a melhor característica de cada uma Combinação escolhida: Estratégia de controle: Top-down Filtragem: aspectos do Bottom-up E.E.S Ruiz (DCM USP) POS 35 / 59

38 Combinando as duas abordagens Busca em profundidade Explorando o potencial do Top-down... Usar a busca em profundidade para explorar cada ramo da árvore Buscar uma sub-árvore consistente a cada ramo Se sub-árvore for inconsistente, backtrack Deixar o bottom-up fazer a filtragem (casamento) das folhas E.E.S Ruiz (DCM USP) POS 36 / 59

39 Combinando as duas abordagens Opções da busca em profundidade Árvore de derivação não são especificadas por esta combinação Duas escolhas devem ser feitas: Qual sub-árvore expandir primeiro (pré-ordem, in-ordem, pós-ordem) Qual a ordem de aplicação das regras da gramática E.E.S Ruiz (DCM USP) POS 37 / 59

40 Combinando as duas abordagens Opção: pré-ordem Fazer a busca em profundidade a partir da sub-árvore mais a esquerda Casa com a ordem de entrada das palavras na cadeia de caracteres Quanto às regras: aplicá-las na ordem textual da gramática E.E.S Ruiz (DCM USP) POS 38 / 59

41 Combinando as duas abordagens Derivação top-down depht-first (1/4) Analisar Does this flight include a meal. E.E.S Ruiz (DCM USP) POS 39 / 59

42 Combinando as duas abordagens Derivação top-down depht-first (2/4) Analisar Does this flight include a meal. E.E.S Ruiz (DCM USP) POS 40 / 59

43 Combinando as duas abordagens Derivação top-down depht-first (3/4) Analisar Does this flight include a meal. E.E.S Ruiz (DCM USP) POS 41 / 59

44 Combinando as duas abordagens Derivação top-down depht-first (4/4) Analisar Does this flight include a meal. e segue... E.E.S Ruiz (DCM USP) POS 42 / 59

45 Combinando as duas abordagens Comentários: Derivação top-down depht-first Notem que, a medida que a primeira palavra é aceita um apontador muda para a segunda palavra Se a análise for bem sucedida... A palavra corrente deve ser a primeira palavra nas regras de produção que irão derivar a próxima sub-árvore O parser não pode considerar uma palavra que não esteja na left-corner tree Recorde a figura a seguir: E.E.S Ruiz (DCM USP) POS 43 / 59

46 Combinando as duas abordagens Derivação top-down depht-first (2/4) Analisar Does this flight include a meal. E.E.S Ruiz (DCM USP) POS 44 / 59

47 Combinando as duas abordagens Left-corner rule Considernado A e B não terminais e α terminal A produção A Bα tem B no left-corner se existe uma derivação de A tal que começa com B. E.E.S Ruiz (DCM USP) POS 45 / 59

48 Combinando as duas abordagens Recordando as regras de produção Retornando para a frase: Does this flight include a meal S NP VP S Aux NP VP S VP Aqui é fácil ver que Does só se encaixa na terceira regra e não nas demais E.E.S Ruiz (DCM USP) POS 46 / 59

49 Combinando as duas abordagens Recordando as regras de produção Caso analisássemos a frase: prefer a bagel VP Verb prefer Det NP Noum a bagel A regra S VP deveria anteceder as demais E.E.S Ruiz (DCM USP) POS 47 / 59

50 Problemas da abordagem combinada 1 Motivação 2 Introdução Recordando... 3 Parsing Top-down parsing Bottom-up parsing Combinando as duas abordagens Problemas da abordagem combinada E.E.S Ruiz (DCM USP) POS 48 / 59

51 Problemas da abordagem combinada Problemas da abordagem combinada Mesmo com a abordagem top-down incrementada, o parser ainda sofre de 3 problemas 1 Recursão à esquerda 2 Ambigüidade 3 Parsing repetitivo das sub-árvores E.E.S Ruiz (DCM USP) POS 49 / 59

52 Problemas da abordagem combinada Recursão à esquerda Gramáticas recursivas à esquerda: Formalmente... A αaβ A ɛ Para A não terminal e α e β terminais. Contém um não-terminal para qual existe uma derivação mais à esquerda que inclui o próprio símbolo Regra introduz uma recursão à esquerda que pode levar a um percurso infinito e nunca fazer um backtrack E.E.S Ruiz (DCM USP) POS 50 / 59

53 Problemas da abordagem combinada Recursão à esquerda: exemplo NP NP PP VP VP PP S S and S Reparem que a primeira regra de produção habilita a recursão à esquerda S S S NP VP NP VP NP VP NP PP NP PP NP PP E.E.S Ruiz (DCM USP) POS 51 / 59

54 Problemas da abordagem combinada Recursão à esquerda: Resolvendo o problema Idéia é eliminar a recursão rescrevendo a gramática original transformado-a numa gramática fracamente não recursiva à esquerda Com recursão Sem recursão A A β α A αa A βa ɛ E.E.S Ruiz (DCM USP) POS 52 / 59

55 Problemas da abordagem combinada Recursão à esquerda: Resolvendo o problema Idéia é eliminar a recursão rescrevendo a gramática original transformado-a numa gramática fracamente não recursiva à esquerda Com recursão Sem recursão A A β α A αa A βa ɛ Problema A gramática rescrita pode não mais representar o modo natural de expressão da ĺıngua. E.E.S Ruiz (DCM USP) POS 52 / 59

56 Problemas da abordagem combinada Ambigüidade Novo tipo de ambigüidade: ambigüidade estrutural Gramática associa mais de uma árvore de derivação à uma frase Três tipos se destacam: Ambigüidade por qualificação, aposto, ligação Ambigüidade por coordenação Ambigüidade por sintagmas nominais Vejamos um exemplo de ambigüidade por qualificação: E.E.S Ruiz (DCM USP) POS 53 / 59

57 Problemas da abordagem combinada Ambigüidade estrutural: exemplo Analisando a ambigüidade em: I once shot an elephant in my pajamas. Sentido: While I was wearing my pajamas, I once shot an elephant. E.E.S Ruiz (DCM USP) POS 54 / 59

58 Problemas da abordagem combinada Ambigüidade estrutural: exemplo Analisando a ambigüidade em: I once shot an elephant in my pajamas. Sentido: I once shot an elephant that was in my pajamas. E.E.S Ruiz (DCM USP) POS 55 / 59

59 Problemas da abordagem combinada Ambigüidade: solução Sintagma preposicional é uma grande fonte de ambigüidade SP= locução prepositiva. Modificador de qualquer outro sintagma Exe: Ontem eu e Maria caminhamos pela cidade Desambiguar: problema difícil! Tarefa exige conhecimento estatístico e/ou semântico Possibilidade: usar GLC probabiĺıstica E.E.S Ruiz (DCM USP) POS 56 / 59

60 Problemas da abordagem combinada Parsing repetitivo das sub-árvores Considere S=a flight from NYC to Chicago on Delta O parse ideal é a frase inteira, mas Como usamos a abordagem top-down, depth-first, left-to-right Algumas sub-árvores falham no parse Segundo a ordem, as primeiras regras de produção fomentam árvores que eventualmente não cobrem todos os termos Vários backtrack, os mesmos sintagmas são derivados várias vezes E.E.S Ruiz (DCM USP) POS 57 / 59

61 Problemas da abordagem combinada Outros parsers Não estão no escopo desta aula Parser (algoritmo) de Earley (1970) Programação dinâmica (repartição do problema) Melhorias: recursão à esquerda, ambigüidade e parsing repetitivo Pior caso: O(N 3 ), N número de palavras Cocke Younger Kasami (CYK) parser Trabalha sobre forma normal de Chomsky (FNC) Pior caso: O(N 3 G ), N número de palavras, G tamanho da FNC Top: Parsers probabiĺısticos E.E.S Ruiz (DCM USP) POS 58 / 59

62 Finalizando... Continuem estudando Leiam as notas de aula e os livros texto! E.E.S Ruiz (DCM USP) POS 59 / 59

Compiladores Analisador Sintático. Prof. Antonio Felicio Netto Ciência da Computação

Compiladores Analisador Sintático. Prof. Antonio Felicio Netto Ciência da Computação Compiladores Analisador Sintático Prof. Antonio Felicio Netto antonio.felicio@anhanguera.com Ciência da Computação 1 Análise Sintática - A Análise Sintática constitui a segunda fase de um tradutor de uma

Leia mais

Aula de Hoje. Processamento Estatístico da Linguagem Natural. Bottom-Up Filtering. Ambiguidade. Combinando Top-Down e Bottom-Up

Aula de Hoje. Processamento Estatístico da Linguagem Natural. Bottom-Up Filtering. Ambiguidade. Combinando Top-Down e Bottom-Up Processamento Estatístico da Linguagem Natural Aula 19 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Aula de Hoje Cap. 13 Jurafsky & Martin Parsing Sintático

Leia mais

Construção de Compiladores Aula 16 - Análise Sintática

Construção de Compiladores Aula 16 - Análise Sintática Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de

Leia mais

28/04/2011 SINTAXE PARTE 1. SCC5908 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo SINTAXE E GRAMÁTICAS

28/04/2011 SINTAXE PARTE 1. SCC5908 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo SINTAXE E GRAMÁTICAS SINTAXE PARTE 1 SCC5908 Tópicos em Processamento de Língua Natural Thiago A. S. Pardo SINTAXE E GRAMÁTICAS 1 DEFINIÇÃO Forma como as palavras se organizam em uma sentença Longa história: gramática do Sânscrito,

Leia mais

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo Gramática regular IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos

Leia mais

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Autômato com pilha IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Departmento de Computação e Matemática FFCLRP Universidade de São Paulo E.E.S Ruiz (DCM USP)

Leia mais

17/09/2010 SINTAXE PARTE 1. SCC5869 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo SINTAXE E GRAMÁTICAS

17/09/2010 SINTAXE PARTE 1. SCC5869 Tópicos em Processamento de Língua Natural. Thiago A. S. Pardo SINTAXE E GRAMÁTICAS SINTAXE PARTE 1 SCC5869 Tópicos em Processamento de Língua Natural Thiago A. S. Pardo SINTAXE E GRAMÁTICAS 1 DEFINIÇÃO Forma como as palavras se organizam em uma sentença Longa história: gramática do Sânscrito,

Leia mais

V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC

V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC V Análise Sintática V.1 Fundamentos Teóricos V.1.1 G.L.C V.1.2 Teoria de Parsing V.2 Especificação Sintática de Ling. de Prog. V.3 - Implementação de PARSER s V.4 - Especificação Sintática da Linguagem

Leia mais

V Teoria de Parsing. Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada

V Teoria de Parsing. Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada V Teoria de Parsing Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada Ascendentes: S + x (* Seq. Invertida Reducao *) dir Exemplo: Descendentes:

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 06 Análise Sintática (Implementação) Edirlei Soares de Lima Análise Sintática A maioria dos compiladores separam a tarefa da análise sintática

Leia mais

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34 Análise Sintática II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 34 Sumário 1 Introdução 2 Ambiguidade 3 Análise sintática descendente 4

Leia mais

Análise Sintática. Fabiano Baldo

Análise Sintática. Fabiano Baldo Compiladores Análise Sintática Fabiano Baldo Gramáticas Livre de Contexto (GLC) É utilizada na especificação formal lda sintaxe de uma linguagem de programação. É um conjunto de produções ou regras gramaticais

Leia mais

INE5318 Construção de Compiladores. AULA 4: Análise Sintática

INE5318 Construção de Compiladores. AULA 4: Análise Sintática INE5318 Construção de Compiladores AULA 4: Análise Sintática Ricardo Azambuja Silveira INE CTC UFSC E Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Definições preliminares Parser (Analisador

Leia mais

Um Compilador Simples. Definição de uma Linguagem. Estrutura de Vanguarda. Gramática Livre de Contexto. Exemplo 1

Um Compilador Simples. Definição de uma Linguagem. Estrutura de Vanguarda. Gramática Livre de Contexto. Exemplo 1 Definição de uma Linguagem Linguagem= sintaxe + semântica Especificação da sintaxe: gramática livre de contexto, BNF (Backus-Naur Form) Especificação Semântica: informal (textual), operacional, denotacional,

Leia mais

Análise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42

Análise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42 Análise Sintática I Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Introdução 2 Derivações 3 Ambiguidade 4 Análise sintática descendente

Leia mais

Revisão. Fases da dacompilação

Revisão. Fases da dacompilação 1 Revisão Prof. Julio Arakaki Julio Arakaki 1 Fases da dacompilação Código fonte Análise Léxica tokens e lexemas Análise Sintática Árvore Sintática Abstrata (ASA) Análise Semântica ASA decorada Geração

Leia mais

Gramáticas Livres de Contexto Parte 1

Gramáticas Livres de Contexto Parte 1 Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável

Leia mais

Compiladores. Exemplo. Caraterísticas de Gramáticas. A αβ 1 αβ 2. A αx X β 1 β 2. Lembrando... Gramáticas Livres de Contexto

Compiladores. Exemplo. Caraterísticas de Gramáticas. A αβ 1 αβ 2. A αx X β 1 β 2. Lembrando... Gramáticas Livres de Contexto Compiladores Análise sintática (2) Análise Top-Down Lembrando... Gramáticas Livres de Contexto Análise sintática = parsing. Baseada em GLCs Gramática: S A B Top-Down Bottom-Up S AB cb ccbb ccbca S AB A

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto baseado em material produzido pelo prof Paulo Bauth Menezes e pelo prof Olinto José Varela

Leia mais

Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural. Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl

Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural. Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl Roteiro 1. Introdução 2. Objetivos 3. Análise Essencial de Sistemas 4.

Leia mais

Compiladores. Parser LL 10/13/2008

Compiladores. Parser LL 10/13/2008 Compiladores Fabiano Baldo Usa uma pilha explícita ao invés de chamadas recursivas para realizar a análise sintática. LL(k) parsing significa que ktokensà frente são utilizados. O primeiro L significa

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa

Leia mais

Compiladores - Análise Ascendente

Compiladores - Análise Ascendente Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,

Leia mais

Análise Sintática Introdução

Análise Sintática Introdução Análise Sintática Introdução Renato Ferreira Linguagens e Automatas Linguagens formais são importantes em Computação Especialmente em linguagens de programação Linguagens regulares A linguagem formal mais

Leia mais

Análise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18

Análise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18 Análise Sintática Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 18 Sumário 1 Introdução 2 Derivações 2 / 18 1 Introdução 2 Derivações 3 /

Leia mais

Comunicação. Capítulo 22

Comunicação. Capítulo 22 Comunicação Capítulo 22 Sumário Comunicação Gramáticas Análise sintáctica (parsing) Comunicação Comunicar consiste em trocar informação através da produção e percepção de sinais, pertencentes a um sistema

Leia mais

Vantagens de uma Gramática. Sintaxe de uma Linguagem. Analisador Sintático - Parser. Papel do Analisador Sintático. Tiposde Parsers para Gramáticas

Vantagens de uma Gramática. Sintaxe de uma Linguagem. Analisador Sintático - Parser. Papel do Analisador Sintático. Tiposde Parsers para Gramáticas Sintaxe de uma Linguagem Cada LP possui regras que descrevem a estrutura sintática dos programas. specificada através de uma gramática livre de contexto, BNF (Backus-Naur Form). 1 Vantagens de uma Gramática

Leia mais

Lema do Bombeamento para Linguagens Livres do Contexto

Lema do Bombeamento para Linguagens Livres do Contexto Lema do Bombeamento para Linguagens Livres do Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 44

Leia mais

QUESTÃO 1 (0,6 ponto) Classifique os processadores de linguagens com relação aos tipos das linguagens-fonte e objeto.

QUESTÃO 1 (0,6 ponto) Classifique os processadores de linguagens com relação aos tipos das linguagens-fonte e objeto. COMPILADORES Prof. Marcus Ramos Prova 1 07 de março de 2012 QUESTÃO 1 (0,6 ponto) Classifique os processadores de linguagens com relação aos tipos das linguagens-fonte e objeto. Tanto a linguagem-fonte

Leia mais

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Análise sintática Parte 02 Prof. geovanegriesang@unisc.br Data Conteúdo 23/09/2013 3. Análise Sintática: 3.1 analisadores

Leia mais

Comunicação. Capítulo 22 (Secções 1-3)

Comunicação. Capítulo 22 (Secções 1-3) Comunicação Capítulo 22 (Secções 1-3) Sumário Comunicação Gramática Análise sintáctica (Parsing) Comunicação Perspectiva clássica (anterior a 1953) Linguagem consiste em frases que são V/F Wittgenstein

Leia mais

IBM1088 Linguagens Formais e Teoria da Computação

IBM1088 Linguagens Formais e Teoria da Computação IBM1088 Linguagens Formais e Teoria da Computação Apresentação da disciplina Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 16 IBM1088 Objetivos Fornecer

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br

Leia mais

Construção de Compiladores Aula 17 - Análise Sintática Descendente

Construção de Compiladores Aula 17 - Análise Sintática Descendente Construção de Compiladores Aula 17 - Análise Sintática Descendente Bruno Müller Junior Departamento de Informática UFPR 3 de Novembro de 2014 1 Análise Sintática Descendente Eliminação de retrocessos Converter

Leia mais

Construção de Compiladores Aula 3 - Analisador Sintático

Construção de Compiladores Aula 3 - Analisador Sintático Construção de Compiladores Aula 3 - Analisador Sintático Bruno Müller Junior Departamento de Informática UFPR 20 de Agosto de 2014 Definição A análise sintática (parsing) é um processo que verifica se

Leia mais

Problemas decidíveis para LICs

Problemas decidíveis para LICs Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é

Leia mais

Análise Sintática LL(1)

Análise Sintática LL(1) FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 7º Periodo Disciplina: Compiladores Prof. Erinaldo Sanches Nascimento Análise Sintática LL(1) Análise Sintática Descendente Introdução

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 6 Análise Sintática Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir

Leia mais

BNF (Backus-Naur Form) Gramática Livres de Contexto / Estruturas Recursivas

BNF (Backus-Naur Form) Gramática Livres de Contexto / Estruturas Recursivas Sintae => Usualmente Gramática Livre do Conteto (GLC) BNF (Backus-Naur Form) Gramática Livres de Conteto / struturas Recursivas comando => IF epressao THN epressao LS epressao epressao => (epressao) OR

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas 2015.2 http://www.dcc.ufrj.br/~fabiom/comp Ambiguidade Uma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática De maneira

Leia mais

CAP. VI ANÁLISE SEMÂNTICA

CAP. VI ANÁLISE SEMÂNTICA CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve

Leia mais

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.

Leia mais

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais. Apresentação Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra/!! Aquisição de conceitos sobre a definição de linguagens de programação.!! Familiarização com os métodos de construção

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 12. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 12. Instituto de C ompiladores Análise Sintática Bruno Lopes Bruno Lopes ompiladores 1 / 12 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

Tokens, Padroes e Lexemas

Tokens, Padroes e Lexemas O Papel do Analisador Lexico A analise lexica e a primeira fase de um compilador e tem por objetivo fazer a leitura do programa fonte, caracter a caracter, e traduzi-lo para uma sequencia de símbolos lexicos

Leia mais

Compiladores. Análise Sintática

Compiladores. Análise Sintática Compiladores Análise Sintática Cristiano Lehrer, M.Sc. Introdução (1/3) A análise sintática constitui a segunda fase de um tradutor. Sua função é verificar se as construções usadas no programa estão gramaticalmente

Leia mais

Análise Sintática - Final

Análise Sintática - Final MAB 471 2011.2 Análise Sintática - Final http://www.dcc.ufrj.br/~fabiom/comp LR(k ) vs LL(k ) Encontrando o próximo passo em uma derivação LR(k) Cada redução na análise detectável com o contexto esquerdo

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C ompiladores Análise Sintática Bruno Lopes Bruno Lopes ompiladores 1 / 30 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL:

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 04 Sintaxe e Semântica Edirlei Soares de Lima Sintaxe e Semântica A descrição de uma linguagem de programação envolve dois aspectos principais:

Leia mais

Análise Sintática Bottom-up

Análise Sintática Bottom-up MAB 471 2011.2 Análise Sintática Bottom-up http://www.dcc.ufrj.br/~fabiom/comp Recapitulando parsers top-down Constróem árvore sintática da raiz até as folhas Recursão à esquerda faz parsers entrarem em

Leia mais

Linguagens de Programação Aula 4

Linguagens de Programação Aula 4 Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Autômatos finitos AF:exemplos... Cadeia de caracteres a,b,c 2/82 Na aula passada... Autômatos finitos AF:exemplos... Números inteiros(com

Leia mais

Parsing Preditivo. Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo.

Parsing Preditivo. Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo. UPE Caruaru Sistemas de Informação Disciplina: Compiladores Prof.: Paulemir G. Campos Parsing Preditivo Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo.

Leia mais

Compiladores Aula 4. Celso Olivete Júnior.

Compiladores Aula 4. Celso Olivete Júnior. Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro

Leia mais

Construção de Compiladores

Construção de Compiladores Construção de Compiladores Parte 1 Introdução Linguagens e Gramáticas F.A. Vanini IC Unicamp Klais Soluções Motivação Porque compiladores? São ferramentas fundamentais no processo de desenvolvimento de

Leia mais

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação

Leia mais

Compiladores. Top-Down x Bottom Up. Plano da aula. Redução exemplo 1. Redução exemplo 1. Lembrando: construir a tabela de análise LL(1) A Abc b B d

Compiladores. Top-Down x Bottom Up. Plano da aula. Redução exemplo 1. Redução exemplo 1. Lembrando: construir a tabela de análise LL(1) A Abc b B d Compiladores Análise sintática ) Análise ascendente Autômatos Empilhar/Reduzir Lembrando: construir a tabela de análise LL) Como fazer? Re-escrever gramática para satisfazer condições de LL) Calcular conjuntos

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha

Leia mais

Análise sintática. Questão. E se a análise sintática pudesse ser modelada por autômatos?

Análise sintática. Questão. E se a análise sintática pudesse ser modelada por autômatos? Análise sintática Função, interação com o compilador Análise descendente e ascendente Especificação e reconhecimento de cadeias de tokens válidas Implementação Tratamento de erros Prof. Thiago A. S. Pardo

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

MAB Análise Sintática. Wednesday, August 31, 11

MAB Análise Sintática.  Wednesday, August 31, 11 MAB 471 2011.2 Análise Sintática http://www.dcc.ufrj.br/~fabiom/comp O Front End Código fonte Scanner tokens Parser IR Erros Parser Verifica a corretude gramatical da sequência de palavras e categorias

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Lembrando análise semântica. Compiladores. Implementação de esquemas de tradução L-atribuídos. Exemplo de implementação top-down (1)

Lembrando análise semântica. Compiladores. Implementação de esquemas de tradução L-atribuídos. Exemplo de implementação top-down (1) Lembrando análise semântica Compiladores Geração de código intermediário (1) Parser Bottom-up: squema S-atribuído sem problema Apenas atributos sintetizados squema L-atribuído: ok, mas deve-se usar variáveis

Leia mais

Processamento de Linguagem Natural

Processamento de Linguagem Natural Processamento de Linguagem Natural Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Processamento de linguagem natural (PLN) consiste

Leia mais

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos Plano da aula Compiladores Análise sintática (1) Revisão: Gramáticas Livres de Contexto 1 Introdução: porque a análise sintática? Noções sobre Gramáticas Livres de Contexto: Definição Propriedades Derivações

Leia mais

Definições Exemplos de gramáticas

Definições Exemplos de gramáticas Definições Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução por volta dos anos

Leia mais

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38 Compiladores Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2017 1 / 38 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais

Gramática Livre de Contexto

Gramática Livre de Contexto Prof. Yandre Maldonado - 1 Gramática Livre de Contexto Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) (FNG) Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 02 Prof. geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = epsilon λ =

Leia mais

FOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato.

FOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato. Tema 01: LINGUAGENS E FUNÇÕES REGULARES Disserte sobre as possíveis formas de se demonstrar que uma linguagem é regular e de se demonstrar que uma linguagem não é regular. Descreva e ilustre, com um exemplo,

Leia mais

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas Universidade de São Paulo Mestrado em Ciência da Computação Instituto de Matemática e Estatística Disciplina MAC5725 Lingüística Computacional Análise Sintática de Frases utilizando Gramáticas Livres de

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.

Leia mais

Processamento de Linguagem Natural

Processamento de Linguagem Natural Processamento de Linguagem Natural Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Processamento de de linguagem natural (PLN)

Leia mais

Aplicações do PLN. PLN é multidisciplinar. É difícil? MUITO!!!! É difícil? MUITO!!!! Processamento de Linguagem Natural

Aplicações do PLN. PLN é multidisciplinar. É difícil? MUITO!!!! É difícil? MUITO!!!! Processamento de Linguagem Natural Processamento de Linguagem Natural Carlos Augusto Prolo, Dr. (U. of Pennsylvania)... Linguagem Natural versus Linguagem Artificial Aberta, não completamente definida Estrutura formal não pré-definida Inerentemente

Leia mais

(2) SN N (SP)/(Adj) {gerando por exemplo: SN = N-livro SP-de chocolate; SN = N-rabo Adj-amarelo]

(2) SN N (SP)/(Adj) {gerando por exemplo: SN = N-livro SP-de chocolate; SN = N-rabo Adj-amarelo] Universidade de São Paulo Faculdade de Filosofia, Letras e Ciências Humanas Letras Clássicas e Vernáculas Sintaxe do Português I FLC0277 Maria Clara Paixão de Sousa Aula 10: Constituência e Estrutura da

Leia mais

Processamento de Linguagem Natural

Processamento de Linguagem Natural Processamento de Linguagem Natural Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Processamento de de linguagem natural (PLN)

Leia mais

Análise sintática. Análise sintática. Top-down ou descendente. Com retrocesso: por tentativa e erro. Preditiva: para gramáticas LL(1) 09/04/2012

Análise sintática. Análise sintática. Top-down ou descendente. Com retrocesso: por tentativa e erro. Preditiva: para gramáticas LL(1) 09/04/2012 Análise sintática Função, interação com o compilador Análise descendente e ascendente Especificação e reconhecimento de cadeias de tokens válidas Implementação Tratamento de erros Prof. Thiago A. S. Pardo

Leia mais

Compiladores - Análise Recursiva

Compiladores - Análise Recursiva Compiladores - Análise Recursiva Fabio Mascarenhas 2015.2 http://www.dcc.ufrj.br/~fabiom/comp Geradores x Reconhecedores A definição formal de gramática dá um gerador para uma linguagem Para análise sintática,

Leia mais

CP Compiladores I Prof. Msc. Carlos de Salles

CP Compiladores I Prof. Msc. Carlos de Salles CP 5017.9 Prof. Msc. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.

Leia mais

Compiladores - Análise LL(1)

Compiladores - Análise LL(1) Compiladores - Análise LL(1) Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Gramáticas LL(1) Uma gramática é LL(1) se toda predição pode ser feita examinando um único token à frente Muitas

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

6 Atributos. A dívida da empresa subiu.

6 Atributos. A dívida da empresa subiu. 6 Atributos Para buscar o sentimento de um texto automaticamente precisamos encontrar boas pistas ao longo do discurso. Uma grande variedade de palavras e expressões possui conotação positiva ou negativa,

Leia mais

Expressões regulares

Expressões regulares Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38 Frase do dia A vida é uma luta inteira

Leia mais

Compiladores - Análise LL(1)

Compiladores - Análise LL(1) Compiladores - Análise LL(1) Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/comp Gramáticas LL(1) Uma gramática é LL(1) se toda predição pode ser feita examinando um único token à frente Muitas

Leia mais

Recursividade, Tentativa e Erro

Recursividade, Tentativa e Erro Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Introdução Definição Conceitos Básicos de Linguagem

Introdução Definição Conceitos Básicos de Linguagem Introdução Definição Conceitos Básicos de Linguagem Introdução Desenvolvida originalmente em 1950 Objetivo: Desenvolver teorias relacionadas com a Linguagem natural Logo verificou-se a importância para

Leia mais

TÓPICO III: INTRODUÇÃO A UMA ABORDAGEM FORMAL DA GRAMÁTICA 1. Teoria X-barra (ou: dos Constituintes Sintáticos)

TÓPICO III: INTRODUÇÃO A UMA ABORDAGEM FORMAL DA GRAMÁTICA 1. Teoria X-barra (ou: dos Constituintes Sintáticos) Universidade de São Paulo Faculdade de Filosofia, Letras e Ciências Humanas Letras Clássicas e Vernáculas Sintaxe do Português I FLC0277 Maria Clara Paixão de Sousa TÓPICO III: INTRODUÇÃO A UMA ABORDAGEM

Leia mais

Autômatos e Linguagens

Autômatos e Linguagens Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores

Leia mais

Gramáticas e Linguagens independentes de contexto

Gramáticas e Linguagens independentes de contexto Capítulo 6 Gramáticas e Linguagens independentes de contexto 6.1 Gramáticas Nesta secção vamos introduzir gramáticas formais para caracterização das linguagens, estudando fundamentalmente as gramáticas

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador

Leia mais

Cálculo proposicional

Cálculo proposicional O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais

Leia mais

Processamento Estatístico da Linguagem Natural

Processamento Estatístico da Linguagem Natural Processamento Estatístico da Linguagem Natural Aula 18 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Aula 18-13/11/2008 1 Aula de Hoje Cap. 12 Jurafsky & Martin

Leia mais

Compiladores. Introdução à Compiladores

Compiladores. Introdução à Compiladores Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem

Leia mais