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

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

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

Transcrição

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

2 Sumário Comunicação Gramática Análise sintáctica (Parsing)

3 Comunicação Perspectiva clássica (anterior a 1953) Linguagem consiste em frases que são V/F Wittgenstein (1953) Perspectiva moderna (posterior a 1953) Linguagem é uma forma de acção: o acto de falar através de sinais (palavras) Comunicação entre agentes Perguntas, troca de informação, pedidos,

4 Fundamentos da Linguagem Linguagem formal Palavra = concatenação de símbolos terminais Linguagens formais têm definições matemáticas rigorosas e.g. P Q em LPO é uma frase; PQ não é Linguagem natural Português, Inglês, Chinês, Não têm definições rigorosas Objectivo deste capítulo: estudar linguagem natural de um modo formal

5 Fundamentos da Linguagem Sintaxe / Gramática Conjunto de regras de uma linguagem E.g. se X e Y são expressões válidas, então X+Y é uma expressão válida Semântica Significado da linguagem E.g. X+Y denota a soma de X com Y Pragmática Significado em função do contexto: interpretação

6 Expressões Frases (S, Sentence) Nomes (NP, Noun Phrase) Verbos (VP, Verb Phrase) BNF (Bachus-Naur Form) S NP VP S é o símbolo de frase S, NP e VP são símbolos não terminais

7 Etapas na Comunicação Intenção: S quer informar H sobre P Geração: S selecciona palavras W para exprimir P no contexto C Síntese: S emite palavras W Percepção: H percebe W no contexto C Análise: H infere possíveis significados P 1,,P n Construção da árvore de parsing Interpretação semântica: eliminação de ambiguidades Desambiguação: H infere significado pretendido P i Incorporação: H incorpora P i na BC

8 Modelo de Comunicação

9 Comunicação: exemplo

10 Gramática Formal Animais usam símbolos isolados como palavras Não têm capacidade de gerar frases Gramática: especifica a estrutura de mensagens complexas Uma linguagem formal é um conjunto de palavras (símbolos terminais) Cada palavra pode ser gerada/analisada pela gramática Uma gramática é um conjunto de regras de escrita S NP VP Article the a an

11 Classificação de gramáticas Gramáticas são classificadas em função da capacidade gerativa (linguagens que podem representar) Regular: não terminal terminal [não terminal] S as S Livre de contexto: não terminal qualquer coisa S asb Sensível ao contexto: lado direito tem de ter pelo menos tantos símbolos como lado esquerdo Recursivamente enumerável: sem restrições nas regras Linguagens naturais tipicamente são livres de contexto e o parsing pode ser feito em tempo real

12 Construção de Gramáticas Léxico Palavras permitidas Agrupadas em categorias: nomes, verbos, adjectivos, advérbios, etc. que tipicamente terminam com Classes abertas: significa que é impossível listar todos os elementos, ou que novos elementos são adicionados frequentemente e.g. nomes, verbos, adjectivos, advérbios Classes fechadas: significa que tem muitos elementos, embora possam ser enumerados; evolução a longo prazo e.g. pronomes, artigos, proposições, conjunções

13 Léxico do Wumpus ( 0 )

14 Gramática do Wumpus

15 Avaliação de Gramáticas Linguagem formal L 1 pode diferir da linguagem natural L 2 Ajustar L 2 para ficar semelhante a L 1 é um problema de aprendizagem!

16 Avaliação de Gramáticas Problemas Supergeração: geração de frases incorrectas Me go Boston Subgeração: não é possível gerar frases que estão correctas I think the wumpus is smelly

17 Análise sintáctica: parsing Processo que gera uma árvore de parsing para os dados de entrada PARSE( I shoot the wumpus, 0,S) Parsing top-down Começar com S como raiz da árvore; gerar árvore com palavras como folhas Parsing bottom-up Começar com palavras como folhas

18 Parsing top-down Estado inicial [S:?] Função sucessores Selecciona o nó mais à esquerda na árvore Procura regras com o símbolo do nó do lado esquerdo Por cada regra cria um sucessor onde? é substituído pelo lado direito da regra correspondente [S: [S:?][Conjunction:?][S:?]] [S: [NP:?][VP:?]] Teste objectivo Folhas correspondem exactamente aos dados de entrada; nenhuma palavra dos dados de entrada está em aberto ou é desconhecida

19 Parsing bottom-up Estado inicial: lista de palavras nos dados de entrada [I,shoot,the,wumpus] Função sucessores Procura emparelhar lado direito de uma regra com cada posição na lista Pronoun I [[Pronoun: I],shoot,the,wumpus] Teste objectivo: estado com uma única árvore com S na raiz

20 Árvore de Parsing

21 Árvore de Parsing

22 Árvore de Parsing

23 Árvore de Parsing

24 Árvore de Parsing

25 Parsing Eficiente Ideia base é um exemplo de programação dinâmica Cada vez que analisamos uma palavra guardamos o resultado num diagrama para não ser necessário analisá-la novamente Combina vantagens do parsing bottom-up com vantagens do parsing top-down Diagrama para uma frase de n-palavras consiste em n+1 vértices e um número de arcos que faz a ligação entre vértices

26 Parsing eficiente: exemplo 6 vértices e 3 arcos Arco [0,5, S NP VP ] significa que a combinação de NP seguido por VP dá origem a S que abrange as palavras de 0 a 5 Arcos com símbolo no final são arcos completos

27 Parsing eficiente Função Parser-Diagrama(palavras,gramática) devolve diagrama diagrama array[0..comp(palavras)] de listas vazias AdicionaArco([0,0, S S]) para i 0:COMP(palavras) Scanner(i,palavras[i]) devolve diagrama Função AdicionaArco(arco) /* Adiciona arco ao diagrama, e vê se estende ou prediz outro arco.*/ se arco não está em diagrama[fim(arco)] junta arco a diagrama[fim(arco)] se arco não tem nada depois de então Estende(arco) senão Prediz(arco)

28 Parsing eficiente Função Scanner(j,palavra) /* Cada arco à espera de uma palavra desta categoria é estendido.*/ para cada [i, j, A B ] em diagrama[i] se palavra é da categoria de B então AdicionaArco([i, j+1, A B ]) Função Prediz([i, j, A B ] ) /* Adiciona ao diagrama as regras para B que podem estender este arco.*/ para cada (B ) em RegraPara(B,gramática) AdicionaArco([j, j, B ]) Função Estende([j, k, B ] ) /* Vê que arcos podem ser estendidos por este arco.*/ B arco recebido como argumento para cada [i, j, A B ] em diagrama[j] se B=B então AdicionaArco([i, k, A B ]

29 Parsing eficiente: exemplo

30 Parsing eficiente: exemplo Arco a b c d e f g h i j k l m Função Inicialização Prediz(a) Prediz(b) Scanner(c) Estende(b,d) Prediz(e) Prediz(e) Scanner(f) Estende(g,h) Prediz(g) Scanner(j) Estende(i,k) Estende(e,l) Derivação [0,0, S S] [0,0, S NP VP] [0,0, NP Pronoun] [0,1, NP Pronoun ] [0,1, S NP VP] [1,1, VP Verb] [1,1, VP VP NP] [1,2, VP Verb ] [1,2, VP VP NP] [2,2, NP Pronoun] [2,3, NP Pronoun ] [1,3, VP VP NP ] [0,3, S NP VP ]

31 Parsers canto-esquerdo Parser bottom-up: ride the horse classificado como VP Parsers canto-esquerdo: algoritmos que funcionam da esquerda para a direita evitam fazer parsing desnecessário

32 Parsing eficiente: complexidade Requer espaço e tempo polinomial Espaço O(kn 2 ) para guardar arcos n é o número de palavras k é uma constante que depende da gramática O algoritmo termina quando já não pode construir mais arcos Tempo O(n 3 ) no pior caso Estende é a função mais pesada (O(n 3 ))

33 Sumário Linguagens formais e gramáticas livres de contexto são ferramentas úteis para lidar com linguagem natural Parsing de uma frase numa linguagem livre de contexto pode ser feito em O(n 3 ) usando um diagrama

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

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

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de 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 / 42 Frase do dia Quando vires

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

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

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

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL: INE5416 Paradigmas de Programação Ricardo Azambuja Silveira INE CTC UFSC E Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Conceitos Léxica estudo dos símbolos que compõem uma linguagem Sintaxe

Leia mais

LL Parser ( TOP-DOWN)

LL Parser ( TOP-DOWN) LL Parser ( TOP-DOWN) CT-200 Thiago Silva de Oliveira Duarte Marcus Kimura Lopes TOP DOWN x BOTTON UP PARSER TOP DOWN Algoritmo começa do símbolo de início aplicando produções até alcançar a string desejada

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Repescagem Segundo Teste 2 de Fevereiro de 2013 9:00-10:30 Este teste é composto por 13 páginas contendo 6 perguntas. Identifique já todas as folhas do teste com o seu nome e número.

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

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

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

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Repescagem do Segundo Teste 4 de Feveiro de 2012 9:00-10:30 Este teste é composto por 11 páginas contendo 7 perguntas. Identifique já todas as folhas do teste com o seu nome e número.

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á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

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

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

IV Gramáticas Livres de Contexto

IV Gramáticas Livres de Contexto IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S

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

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Problemas de Decisão Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas

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

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

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

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 6 de Novembro de 200 09:00 0:30 SOLUÇÃO. (.0) Escolha a única afirmação incorrecta. Uma resposta certa vale valor e uma resposta errada desconta 0.4 valores. A.

Leia mais

Python e sua sintaxe LNCC UFRJ

Python e sua sintaxe LNCC UFRJ Python e sua sintaxe LNCC UFRJ Linguagens naturais e formais Linguagens naturais Linguagem formal Um conjunto finito e não-vazio cujos elementos são símbolos Qualquer cadeia finita de símbolos justapostos

Leia mais

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros Conhecimento e Raciocínio Agente Lógicos Capítulo 7 Leliane Nunes de Barros leliane@ime.usp.br Agentes Lógicos Agentes que podem formar representações do mundo, usar um processo de inferência para derivar

Leia mais

1) Considere a gramática constituída pelas seguintes regras e em que F é o símbolo inicial.

1) Considere a gramática constituída pelas seguintes regras e em que F é o símbolo inicial. Inteligência Artificial 2009/10 Comunicação 1) Considere a gramática constituída pelas seguintes regras e em que F é o símbolo inicial. F -> SN SV SP SN SV SN -> det nc det np nc np SV -> vt SN vi adv

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 26 de Outubro de 2013 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

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

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 12 Linguagens Livres do Contexto humberto@bcc.unifal-mg.edu.br Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres

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

Automata e Linguagens Formais

Automata e Linguagens Formais Automata e Linguagens Formais 6 Prof. Carlos H. C. Ribeiro carlos@ita.br Análise Sintática (Parsing) GLCs ambíguas Grafos de GLCs Estratégias para parsing Exemplos de parsers Análise Sintática (Parsing)

Leia mais

Análise Sintática. Compiladores Cristina C. Vieira. Compiladores 2012/2013

Análise Sintática. Compiladores Cristina C. Vieira. Compiladores 2012/2013 Análise Sintática Compiladores Cristina C. Vieira 1 Árvore Sintática Nós internos: símbolos não-terminais Folhas: símbolos terminais Arcos: de símbolos não-terminais do LHS da produção para nós do RHS

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

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO LINGUAGEM LIVRE DE CONTEXTO As Linguagens Livres de Contexto é um reconhecedor de linguagens, capaz de aceitar palavras corretas (cadeia, sentenças) da linguagem. Por exemplo, os autômatos. Um gerador

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

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Marcos Castilho. DInf/UFPR. 21 de março de 2019 21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos

Leia mais

Agentes Lógicos. Capítulo 7 (online)

Agentes Lógicos. Capítulo 7 (online) Agentes Lógicos Capítulo 7 (online) Sumário Agentes baseados em conhecimento O mundo do Wumpus Lógica em geral Lógica proposicional (Booleana) Equivalência, validade, satisfação Regras de inferência e

Leia mais

Sistemas Inteligentes

Sistemas Inteligentes Sistemas Inteligentes Aula 21/10 Agentes Lógicos Agente Baseado em Conhecimento Agentes Baseados em Conhecimento ou Agentes Lógicos. Podem lidar mais facilmente com ambientes parcialmente observáveis.

Leia mais

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Programação em Lógica UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Roteiro Introdução Conceitos Básicos Linguagens Lógicas Semântica de Modelos Semântica de Prova Programação

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Segundo Teste 16 de Janeiro de 2013 17:00-18:30 Este teste é composto por 12 páginas contendo 7 perguntas. Identifique já todas as folhas do teste com o seu nome e número. Na mesa

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

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente 1 Bem-vindos ao Mundo do Wumpus Wumpus Agente caçador de tesouros 2 Codificação do Mundo do Wumpus 4 3 fedor

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

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Segundo Teste 20 de Janeiro de 2012 8:00-9:30 Este teste é composto por 12 páginas contendo 9 perguntas. Identifique já todas as folhas do teste com o seu nome e número. Na mesa

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2016.1 http://www.dcc.ufrj.br/~fabiom/dsl Processamento de uma DSL Erros Uma falha em um parser de combinadores tem dois significados: A alternativa que

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

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

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

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

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Segundo Teste 05 de Janeiro de 2009 9H00-10H30 Nome: Número: Este teste tem 8 perguntas e 6 páginas. Escreva o número em todas as páginas. Deve ter na mesa apenas

Leia mais

Compiladores - Análise Ascendente

Compiladores - Análise Ascendente Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.2 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

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

Trabalho de Linguagens Formais e Compilação

Trabalho de Linguagens Formais e Compilação Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013

Leia mais

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação Conjunto de regras que definem a forma da linguagem; Como as sentenças podem ser formadas como sequências

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

Linguagens e Programação Gramáticas. Paulo Proença

Linguagens e Programação Gramáticas. Paulo Proença Linguagens e Programação Gramáticas Gramáticas Ferramenta para a descrição e análise de linguagens; Baseada num conjunto de regras que especificam o modo de construção das frases válidas na linguagem;

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

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti. Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo

Leia mais

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1 Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Linguagens Livres do Contexto (1/2) Seu estudo é de fundamental importância na informática: Compreende um universo

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é

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

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 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

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Repescagem do Segundo Teste 13 de Feveiro de 2009 17H00-17H30 Nome: Número: Este teste tem 8 perguntas e 7 páginas. Escreva o número em todas as páginas. Deve

Leia mais

Conhecimento e Raciocínio Lógica Proposicional

Conhecimento e Raciocínio Lógica Proposicional Conhecimento e Raciocínio Lógica Proposicional Agente Baseado em Conhecimento ou Sistema Baseado em Conhecimento Representa conhecimento sobre o mundo em uma linguagem formal (KB) Raciocina sobre o mundo

Leia mais

Lógica Proposicional Sintaxe

Lógica Proposicional Sintaxe Lógica Proposicional Sintaxe José Gustavo de Souza Paiva Lógica Proposicional Forma mais simples da lógica Fatos do mundo real representados por sentenças sem argumento proposições Proposição Sentença

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

Aula 8: Gramáticas Livres de Contexto

Aula 8: Gramáticas Livres de Contexto Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,

Leia mais

Inteligência Artificial Taguspark

Inteligência Artificial Taguspark Inteligência Artificial Taguspark Repescagem do Segundo Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 10 perguntas e 10 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto M dos

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

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

Inteligência Artificial

Inteligência Artificial Repescagem Segundo Teste 31 de Janeiro de 2014 10:30-12:00 1.º Enunciado Esta prova é constituída por 5 enunciados separados. Preencha cuidadosamente o nome e número na primeira página de cada um dos enunciados.

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

Agentes que Raciocinam Logicamente. Prof. Júlio Cesar Nievola PPGIA PUC-PR

Agentes que Raciocinam Logicamente. Prof. Júlio Cesar Nievola PPGIA PUC-PR Agentes que Raciocinam Logicamente Prof. Júlio Cesar Nievola PPGIA PUC-PR Um agente baseado em conhecimento Componente central: a base de conhecimentos (KB ou BC) A BC é um conjunto de representações de

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

Lógica Proposicional

Lógica Proposicional Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28

Leia mais

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador

Leia mais

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ. Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem

Leia mais

Gramá3ca Livre de Contexto (GLC)

Gramá3ca Livre de Contexto (GLC) Linguagens Formais e Autômatos Gramá3ca Livre de Contexto (GLC) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hep://dcc.ufmg.br/~nvieira) Sumário Gramá4cas livres de

Leia mais

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da istemas de Apoio à Decisão Clínica, 09-1 1 Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da semântica. Importante: distinguir entre os fatos e sua representação

Leia mais

Capítulo 5 Análise sintática

Capítulo 5 Análise sintática Capítulo 5 1. Objetivo 2. Estratégias gerais de parsing 3. descendente (top-down) 3.1. Analisador sintático com retrocesso (backtracking) 3.2. Analisador sintático predicativo recursivo 3.3. Analisador

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas 2018.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

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.

Leia mais

I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1

I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1 PREÂMBULO PREFÂCIO xiii xv I LINGUAGENS E PROCESSADORES: INTRODUÇÃO 1 1 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 2 2.1 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.4 2.4.1 2.4.2

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

Notas sobre Definições Recursivas

Notas sobre Definições Recursivas Notas sobre Definições Recursivas Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco CIn-UFPE Introdução A torre de Hanói Jogo antigo inventado pelo matemético francês

Leia mais

O analisador sintáctico PEN

O analisador sintáctico PEN O analisador sintáctico PEN Hugo Gonçalo Oliveira hroliv@dei.uc.pt University of Coimbra Faculty of Sciences and Technology Department of Informatics Engineering Knowledge and Intelligent Systems Laboratory

Leia mais

Análise sintática Parsing

Análise sintática Parsing 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

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação 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

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 06 Lógica Proposicional Lógica Proposicional Lógica simples. A sentenças são formadas por conectivos como: e, ou, então.

Leia mais

2011/2012 (Despacho nº 5238/2011 de 28 de Março) 2º Ano CONTEÚDOS ANUAIS DISCIPLINA: Língua Portuguesa. CEF Serviço de Bar

2011/2012 (Despacho nº 5238/2011 de 28 de Março) 2º Ano CONTEÚDOS ANUAIS DISCIPLINA: Língua Portuguesa. CEF Serviço de Bar 2011/2012 (Despacho nº 5238/2011 de 28 de Março) 2º Ano CONTEÚDOS ANUAIS DISCIPLINA: Língua Portuguesa CEF Serviço de Bar CONTEÚDOS 1º PERÍODO AULAS PREVISTAS 46 TEXTOS DE TEATRO - AUTO DA BARCA DO INFERNO,

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 05 Introdução à Lógica Edirlei Soares de Lima Introdução Humanos possuem conhecimento e raciocinam sobre este conhecimento. Exemplo: João jogou

Leia mais