Linguagens Livres do Contexto. Adaptado de H. Brandão

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

Download "Linguagens Livres do Contexto. Adaptado de H. Brandão"

Transcrição

1 Linguagens Livres do Contexto Adaptado de H. Brandão

2 Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto;

3 Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Tais gramáticas podem descrever certas características que possuem estrutura recursiva, o que as torna úteis em uma variedade de aplicações;

4 Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Tais gramáticas podem descrever certas características que possuem estrutura recursiva, o que as torna úteis em uma variedade de aplicações; GLC foram primeiramente utilizadas no estudo de linguagens humanas;

5 Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Tais gramáticas podem descrever certas características que possuem estrutura recursiva, o que as torna úteis em uma variedade de aplicações; GLC foram primeiramente utilizadas no estudo de linguagens humanas; Exemplo de estudo: Tribo do Amazonas causa guerra na lingüística

6 Linguagens Livres do Contexto Uma aplicação importante de GLC ocorre na especificação e compilação de linguagens de programação;

7 Linguagens Livres do Contexto Uma aplicação importante de GLC ocorre na especificação e compilação de linguagens de programação; A maioria dos compiladores e interpretadores contém um componente chamado analisador sintático que extrai o significado de um programa antes e gerar o código compilado ou realizar a execução interpretada;

8 Linguagens Livres do Contexto Várias metodologias facilitam a construção de um analisador uma vez que a GLC esteja disponível;

9 Linguagens Livres do Contexto Várias metodologias facilitam a construção de um analisador uma vez que a GLC esteja disponível; Algumas ferramentas até geram automaticamente o analisador a partir da gramática;

10 Linguagens Livres do Contexto Várias metodologias facilitam a construção de um analisador uma vez que a GLC esteja disponível; Algumas ferramentas até geram automaticamente o analisador a partir da gramática; A coleção de linguagens associadas com GLC são denominadas Linguagens Livres do Contexto (LLC);

11 Linguagens Livres do Contexto Várias metodologias facilitam a construção de um analisador uma vez que a GLC esteja disponível; Algumas ferramentas até geram automaticamente o analisador a partir da gramática; A coleção de linguagens associadas com GLC são denominadas Linguagens Livres do Contexto (LLC); Elas incluem todas as linguagens regulares e muitas linguagens adicionais;

12 Linguagens Livres do Contexto Recursivamente enumeráveis Recursivas Sensíveis ao contexto Livres regulares contexto Regulares

13 Linguagens Livres do Contexto Um exemplo de GLC: Por exemplo, a gramática apresentadas gera a cadeia 000#111.

14 Linguagens Livres do Contexto Um exemplo de GLC: Cadeia: 000#111

15 Exemplos de LLC

16 Exemplos de LLC

17 Exemplos de LLC As cadeiras a+a*a (a+a)*a podem ser geradas com a gramática apresentada;

18 Exemplos de LLC As cadeiras a+a*a (a+a)*a podem ser geradas com a gramática apresentada; Um compilador traduz o código escrito em uma linguagem de programação para outra forma mais adequada para a execução;

19 Exemplos de LLC As cadeiras a+a*a (a+a)*a podem ser geradas com a gramática apresentada; Um compilador traduz o código escrito em uma linguagem de programação para outra forma mais adequada para a execução; Para fazer isso, o compilador extrai o significado do código em um processo chamado análise sintática;

20 Exemplos de LLC a+a*a (a+a)*a Para extrair o significado real (executável) da expressão, o compilador geralmente utiliza de uma das duas estratégias: Top-down Bottom-up

21 Derivação para a cadeia: a+a*a

22 Derivação para a cadeia: a+a*a EXPR

23 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO

24 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO

25 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO FATOR

26 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO FATOR a

27 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR a

28 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR FATOR a

29 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR FATOR a a

30 Derivação para a cadeia: a+a*a EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR FATOR a a a

31 EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR FATOR a a a Feita uma seqüência completa, dizemos que a expressão passou pela análise sintática, e ela pertence a linguagem que a gramática é capaz de gerar.

32 EXPR EXPR + TERMO TERMO TERMO * FATOR FATOR FATOR a a a Além dos conceitos relacionados com gramáticas, o compilador precisa gerar uma estrutura capaz de executar em uma máquina.

33 A execução depende da natureza da máquina; Existem, por exemplo: Máquina baseada em pilha; Comumente utilizada na implementação de JVMs; Máquina baseada em registradores; Utiliza variáveis para registrar resultados intermediários;...

34 Vamos apresentar um exemplo de execução da expressão na máquina baseada em pilha: O primeiro passo é identificar elementos que são relevantes ao processamento (não são itens intermediários)

35 Vamos apresentar um exemplo de execução da expressão na máquina baseada em pilha: O primeiro passo é identificar elementos que são relevantes ao processamento (não são itens intermediários)

36 Identificados os elementos, eles devem ser adicionados em uma pilha seguindo o percurso Pré-ordem;

37

38 2, 7, 2, 6, 5, 11, 5, 9 e 4

39 Pré-ordem:

40 Pré-ordem: A expressão é uma SOMA PILHA SOMA

41 Pré-ordem: A expressão é uma variável: Exemplo: 10 PILHA 10 SOMA

42 Pré-ordem: A expressão é uma multiplicação; PILHA MULT. 10 SOMA

43 Pré-ordem: Variável... PILHA 10 MULT. 10 SOMA

44 Pré-ordem: Variável... PILHA MULT. 10 SOMA

45 Dada a pilha, a máquina pode avaliar toda a expressão: PILHA MULT. 10 SOMA

46 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 10; PILHA MULT. 10 SOMA

47 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 10; Desempilha: R2 = 10; PILHA 10 MULT. 10 SOMA

48 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 10; Desempilha: R2 = 10; Desempilha: Executar multiplicação: R1 * R2 PILHA MULT. 10 SOMA

49 Dada a pilha, a máquina pode avaliar toda a expressão: O resultado da multiplicação é empilhado: 100 PILHA SOMA

50 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 100; PILHA SOMA

51 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 100; Desempilha: R2 = 10; PILHA 10 SOMA

52 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1 = 100; Desempilha: R2 = 10; Desempilha: Executar a operação de SOMA: R1+R2 PILHA SOMA

53 Dada a pilha, a máquina pode avaliar toda a expressão: O resultado da soma é empilhado: 110; PILHA 110

54 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1=110; PILHA 110

55 Dada a pilha, a máquina pode avaliar toda a expressão: Desempilha: R1=110; PILHA Topo da pilha aponta pra nulo: Pilha vazia! Indica que R1 possui o resultado da expressão avaliada!!!

56 Relação com compiladores e arquitetura... Relação com compiladores e estrutura de dados... Relação com compiladores e teoria dos grafos... PILHA MULT. 10 SOMA

57 Autômatos com Pilha (APs)

58 Autômato com Pilha Semelhante ao autômato finito determinístico, mas com uma componente adicional: A pilha!

59 Autômato com Pilha Semelhante ao autômato finito determinístico, mas com uma componente adicional: A pilha! Autômato Finito Controle de estado a b a a b

60 Autômato com Pilha Semelhante ao autômato finito determinístico, mas com uma componente adicional: A pilha! Autômato com Pilha Autômato Finito Controle de estado a b a a b Controle de estado a b a a b X Y Y X

61 Autômato com Pilha Um autômato com pilha (AP) pode escrever símbolos sobre a fita e lê-los de volta mais tarde;

62 Autômato com Pilha Um autômato com pilha (AP) pode escrever símbolos sobre a fita e lê-los de volta mais tarde; Escrever um símbolo empurra para baixo todos os outros símbolos sobre a pilha; Controle de estado a b a a b X Y Y X

63 Autômato com Pilha Em qualquer momento, o símbolo no topo da pilha pode ser lido e removido; O restante dos símbolos da pilha volta a subir ; Política: LIFO Controle de estado Last in, first out! a b a a b X Y Y X

64 Autômato com Pilha Nos APs, a fila possui utilidade porque ela pode conter uma quantidade ilimitada de informação;

65 Autômato com Pilha Nos APs, a fila possui utilidade porque ela pode conter uma quantidade ilimitada de informação; Relembrando: um AFD é incapaz de reconhecer {anbn n>0} Ele não é capaz de reconhecer porque possui memória limitada em torno do seu conceito de estado.

66 Autômato com Pilha Nos APs, a fila possui utilidade porque ela pode conter uma quantidade ilimitada de informação; Relembrando: um AFD é incapaz de reconhecer {anbn n>0} Ele não é capaz de reconhecer porque possui memória limitada em torno do seu conceito de estado. Já os APs podem armazenar elementos em uma quantidade ilimitada (em sua pilha); Isso amplia sua capacidade de reconhecimento.

67 Autômato com Pilha Mecanismo informal para reconhecer a linguagem {anbn n>0} utilizando uma pilha: Leia símbolos da entrada. A medida que cada 0 é lido, empilhe-o. Assim que 1 s são vistos, desempilhe um 0 da pilha para cada 1 lido. Se a leitura da entrada termina exatamente quanto a pilha fica vazia de 0 s, aceite a entrada. Se a pilha fica vazia enquanto 1 s permanecem ou se os 1 s terminam enquanto a pilha ainda contém 0 s ou se quaisquer 0 s aparecem na entrada seguindo 1 s, rejeite a entrada.

68 Poder computacional dos APs

69 Autômato com Pilha Os autômatos com pilha podem ser não-determinísticos;

70 Autômato com Pilha Os autômatos com pilha podem ser não-determinísticos; Os APs não-determinísticos não são equivalentes em poder se comparados aos APs determinísticos, diferentemente da relação que existia entre AFNs e AFDs;

71 Autômato com Pilha Os autômatos com pilha podem ser não-determinísticos; Os APs não-determinísticos não são equivalentes em poder se comparados aos APs determinísticos, diferentemente da relação que existia entre AFNs e AFDs; Nos nossos estudos, vamos focar nos APs não-determinísticos porque estes reconhecem as linguagens livres do contexto;

72 Formalismo Matemático

73 Autômato com Pilha

74 Autômato com Pilha Antes de desenharmos um autômato... Escrevermos "a,b c" para indicar que quando a máquina está lendo o símbolo a da palavra de entrada ela pode substituir b no topo da pilha por um c.

75 Autômato com Pilha Antes de desenharmos um autômato... Escrevermos "a,b c" para indicar que quando a máquina está lendo o símbolo a da palavra de entrada ela pode substituir b no topo da pilha por um c. a, b ou c podem ser símbolos vazios:

76 Autômato com Pilha Antes de desenharmos um autômato... Escrevermos "a,b c" para indicar que quando a máquina está lendo o símbolo a da palavra de entrada ela pode substituir b no topo da pilha por um c. a, b ou c podem ser símbolos vazios: Se a é vazio: a máquina pode fazer a transição sem consumir um símbolo da palavra e entrada;

77 Autômato com Pilha Antes de desenharmos um autômato... Escrevermos "a,b c" para indicar que quando a máquina está lendo o símbolo a da palavra de entrada ela pode substituir b no topo da pilha por um c. a, b ou c podem ser símbolos vazios: Se a é vazio: a máquina pode fazer a transição sem consumir um símbolo da palavra e entrada; Se b é vazio: a máquina pode fazer a transição sem desempilhar nenhum símbolo da pilha;

78 Autômato com Pilha Antes de desenharmos um autômato... Escrevermos "a,b c" para indicar que quando a máquina está lendo o símbolo a da palavra de entrada ela pode substituir b no topo da pilha por um c. a, b ou c podem ser símbolos vazios: Se a é vazio: a máquina pode fazer a transição sem consumir um símbolo da palavra e entrada; Se b é vazio: a máquina pode fazer a transição sem desempilhar nenhum símbolo da pilha; Se c é vazio: a máquina pode fazer a transição sem empilhar nenhum símbolo na pilha.

79 Autômato com Pilha

80 Autômato com Pilha { anbn n >= 0 }

81 Autômato com Pilha Exercício: crie um AP que reconheça a linguagem {wwr w {0,1}*}

82 Autômato com Pilha {wwr w {0,1}*}

83 Exemplos L={a n b n n 0} (a,,x) (b,x, ) (b,x, ) S 0 S 1

84 Exemplos L = wcw R : w { a,b}* (a,,x) (a,x, ) (c,, ) S 0 S 1 (b,,y) (b,y, )

85 Exemplos L={a n b m a n+m n 0, m 0} (a,, A) ( a,a, ) S 0 (b,,a) (a,a, ) S 2 (b,,a)

86 Exercícios

87 Exercícios

88 Bibliografia SIPSER, Michael. Introdução à Teoria da Computação. 2a ed.:são Paulo, Thomson, VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 13 Autômato com Pilha humberto@bcc.unifal-mg.edu.br Última aula Linguagens Livres do Contexto P(S*) Recursivamente enumeráveis Recursivas

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

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 08 Minimização de AFDs humberto@bcc.unifal-mg.edu.br Últimas aulas... Linguagens Formais vs Linguagens Naturais Últimas aulas... Linguagens

Leia mais

Autômatos com Pilha: Reconhecedores de LLCs

Autômatos com Pilha: Reconhecedores de LLCs Autômatos com Pilha: Reconhecedores de LLCs 1 Autômatos com Pilha (AP) Definições alternativas para Linguagens Livres de Contexto Extensão de AFND com uma pilha, que pode ser lida, aumentada e diminuída

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 14 Máquinas de Turing humberto@bcc.unifal-mg.edu.br Última aula Autômatos com Pilha Controle de estado a b a a b X Y Y X O que já vimos...

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

Linguagens Livres de Contexto

Linguagens Livres de Contexto Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011

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

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 10 Autômatos Finitos Não Determinísticos (AFN) humberto@bcc.unifal-mg.edu.br Determinismo... Quando uma máquina está em um estado e lê

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

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

Analisadores Sintáticos LR

Analisadores Sintáticos LR FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 7º Periodo Disciplina: Compiladores Prof. Erinaldo Sanches Nascimento Analisadores Sintáticos LR SLR LR Canônicos LALR Analisadores

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

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

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

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 15 Máquinas de Turing (parte 2) humberto@bcc.unifal-mg.edu.br Última Aula Uma Máquina de Turing (MT) possui: uma fita infinita para representar

Leia mais

SCC 205 Teoria da Computação e Linguagens Formais

SCC 205 Teoria da Computação e Linguagens Formais Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um

Leia mais

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante

Leia mais

a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP

a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP 1 ACP Assim como LR tem um autômato equivalente (AF) as LLC tem também

Leia mais

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos   Site: ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: rafafic@gmail.com Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),

Leia mais

Compiladores. Prof. Bruno Moreno Aula 8 02/05/2011

Compiladores. Prof. Bruno Moreno Aula 8 02/05/2011 Compiladores Prof. Bruno Moreno Aula 8 02/05/2011 RECONHECIMENTO DE TOKENS Reconhecimento de Tokens Até aqui aprendemos a identificar tokens Para reconhecimento, a única abordagem utilizada foi árvores

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

Teoria da Computação. Máquinas Universais Máquina com Pilhas

Teoria da Computação. Máquinas Universais Máquina com Pilhas Máquinas Universais Máquina com Pilhas Cristiano Lehrer Introdução A Máquina com Pilhas diferencia-se das Máquinas de Turing e de Post principalmente pelo fato de possuir uma memória de entrada separada

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

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

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

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

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 04 Linguagens Formais humberto@bcc.unifal-mg.edu.br Última aula... Relação da teoria dos conjuntos com LFA; Relação dos grafos com LFA.

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

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

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

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc. Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing

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

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

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC   URL: INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando

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

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

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 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 C01 Engenharia da Computação e Ciência da Computação Horário: Segunda e Quinta:

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

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

Leia mais

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) 1 Gramática Sensível ao Contexto Definição: Uma gramática G é sensível ao contexto se

Leia mais

Autômatos de Pilha (AP)

Autômatos de Pilha (AP) Linguagens Formais e Autômatos Autômatos de Pilha (AP) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (h@p://dcc.ufmg.br/~nvieira) Sumário Introdução Autômatos de pilha

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

EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ

EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ PROTÓTIPO TIPO PARA TRANSFORMAÇÃO DE UMA EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE 1 OBJETIVO DESTE TRABALHO ALGUNS CONCEITOS BÁSICOS

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

Implementação de Linguagens

Implementação de Linguagens Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 11 de Abril de 2016 Objectivos Introdução à implementação de linguagens de programação funcionais. Enfoce sobre técnicas de interpretação/compilação

Leia mais

Análise sintática. Análise sintática ascendente. Parte-se dos símbolos terminais em direção ao símbolo inicial da gramática. Derivação mais à direita

Análise sintática. Análise sintática ascendente. Parte-se dos símbolos terminais em direção ao símbolo inicial da gramática. Derivação mais à direita 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

Aula 7: Autômatos com Pilha

Aula 7: Autômatos com Pilha Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar

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

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

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

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?

Leia mais

Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção

Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção Shift e reduce Shift: move o foco uma posição à direita A B C x y z A B C x y z é uma ação shift Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção Se A x y é uma produção, então

Leia mais

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema

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

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

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

Máquinas de Turing - Computabilidade

Máquinas de Turing - Computabilidade BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma

Leia mais

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2) SCC-505 - Capítulo 2 e (versão 2) João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação

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 Autômatos Apresentação da Disciplina

Linguagens Formais e Autômatos Apresentação da Disciplina Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto

INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira

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

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

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior. LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação Universiae e São Paulo Instituto e Ciências Matemáticas e e Computação Curso e Ciências e Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma A 2º. Semestre e 2010 Prof. João Luís Lista

Leia mais

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação

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

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Aula de 09/09/2013 Panorama do Restante da Disciplina 1 Próximo Tópicos da Matéria Linguagens Autômatos Regulares Autômatos Finitos Máquinas de Moore e Mealy Livres

Leia mais

Linguagens livres de contexto e autômatos de pilha

Linguagens livres de contexto e autômatos de pilha Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

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

Linguagens Livres-do-Contexto

Linguagens Livres-do-Contexto Linguagens Livres-do-Contexto 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 Livres-do-Contexto DCC-UFMG

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. Prof. Thiago A. S. Pardo. Análise sintática ascendente

Análise sintática. Prof. Thiago A. S. Pardo. Análise sintática ascendente 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

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos

Leia mais

SCC-5832 Teoria da Computação

SCC-5832 Teoria da Computação Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos

Leia mais

Interfaces de Vanguarda do Compilador

Interfaces de Vanguarda do Compilador Interfaces de Vanguarda do Compilador Stefani Henrique Ramalho¹, Prof Mário Rubens Welerson Sott¹ ¹DCC Departamento de Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Barbacena MG

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

Autómatos de pilha e GIC

Autómatos de pilha e GIC Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018 22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria

Leia mais

SCC-ICMC-USP. Trabalho em Grupo 1 SCC-0205

SCC-ICMC-USP. Trabalho em Grupo 1 SCC-0205 Trabalho em Grupo 1 SCC-0205 2 o. Semestre de 2010 Professor: João Luís G. Rosa - e-mail: joaoluis@icmc.usp.br Monitor PAE: Fernando Alva - e-mail: falva@icmc.usp.br versão 1-23/8/2010 1 Objetivo Desenvolver

Leia mais

Conceitos básicos de Teoria da Computação

Conceitos básicos de Teoria da Computação Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3

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

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e Gramáticas independentes de contexto Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula 06 Pilhas Estáticas Prof. Leinylson Fontinele Pereira Na aula anterior... Filas Estáticas Sequencial # Propriedades # Operações fundamentais Introdução 3 O que vamos aprender?

Leia mais

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema

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