Linguagens Formais - Preliminares

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

Download "Linguagens Formais - Preliminares"

Transcrição

1 Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

2 Algumas propriedades de Conjuntos Algumas propriedades de Conjuntos PROPOSIÇÃO: Sejam A e B conjuntos quaisquer. Então 1 A B = B A, 2 A B = B A, 3 A (B C) = (A B) (A C), 4 A (B C) = (A B) (A C), 5 A = A = A, 6 A =, 7 = U, 8 A = A, 9 A B = A B, 10 A B = A B, 11 Se A B então A B = B, A B = A e B A. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

3 Alfabetos e Linguagens Alguns Conceitos Alfabetos e linguagens Seja Σ um conjunto finito não vazio de símbolos, chamado alfabeto. Dos símbolos individuais construiremos cadeias (strings) que são sequências finitas de símbolos do alfabeto. EXEMPLO: Se o alfabeto for Σ = {a, b}, então abab e aaabba são cadeiais sobre Σ. A cadeia vazia, é aquela sem nenhum símbolo, e será denotado por λ. A concatenação de duas cadeias w e v, denotado por wv, é a cadeia obtida juntando-se os símbolos de v à direita de w, isto é, se w = a 1... a n e v = b 1... b n, então wv = a 1... a n b 1... b m. Note que, λw = wλ = w para qualquer cadeia w. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

4 Alfabetos e linguagens A reversa de uma cadeia é obtida escrevendo-se os símbolos em ordem reversa. Se w é a cadeia acima, então a reversa de w, denotado por w R, é a cadeia a n a 1. Uma definição recursiva da reversa de uma cadeia é a seguinte: λ R = λ e (aw) R = w R a EXEMPLO: Sejam w = bbab e v = aaab. Então wv = bbabaaab, vw = aaabbbab, w R = babb e v R = baaa. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

5 Alfabetos e linguagens Se w = vu, então v é chamado de prefixo e u de sufixo de w. Formalmente v é um prefixo de w se existe uma cadeia u tal que vu = w. Analogamente, u é um sufixo de w se existe uma cadeia v tal que vu = w. EXEMPLO: Seja w = abbab. O conjunto de todos os prefixos de w é {λ, a, ab, abb, abba, abbab} e de todos os sufixos é {λ, b, ab, bab, bbab, abbab}. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

6 Alfabetos e linguagens O comprimento de uma cadeia w, denotado por w, é o número de símbolos que figuram na cadeia. Por exemplo, abba = 4. Sejam u e v cadeias quaisquer sobre um alfabeto Σ. Então uv = u + v. (1) De fato, para mostrar esta igualdade precisamos de uma definição mais precisa de comprimento de cadeia. Daremos a seguinte definição recursiva. λ = 0 e wa = w +1, para todo a Σ e qualquer cadeia w de Σ. Usaremos a indução no comprimento da cadeia para mostrar a equação (1). Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

7 Alfabetos e linguagens Se v = 0, então v = λ. Logo, por definição, uv = u = u +0 = u + v. Suponha que uv = u + v e calculemos uva : uva = uv +1 = u + v +1 = u + va. Logo, por indução, a igualdade é válida para todo v. Se w é uma cadeia, então w n é a cadeia obtida concatenando w com ela própria n vezes. Portanto, w n+1 = ww n. No caso especial de n = 0, w 0 = λ. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

8 Fecho Estrêla - Fecho de Kleene Alfabetos e linguagens Seja Σ um alfabeto. O fecho estrela de Σ, denotado por Σ, é o conjunto de todas as cadeias (finitas) obtidas concatenando zero ou mais símbolos de Σ. Por exemplo, se Σ = {a}, então Σ = {λ, a, aa, aaa, aaaa,...}. Formalmente, podemor definir o fecho estrela de um alfabeto Σ, indutivamente, por 1 λ Σ 2 Se w Σ e a Σ, então wa Σ 3 os únicos elementos de Σ são aqueles que podem ser obtidos aplicando uma quantidade finita de vezes as regras 1) e 2), acima. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

9 Fecho Estrêla - Fecho de Kleene Alfabetos e linguagens O conjunto Σ sempre contém λ. O fecho estrela de Σ sem a cadeia vazia é denominado fecho positivo do alfabeto Σ, e é denotado por Σ +. Isto é, Σ + = Σ {λ}. Enquanto um alfabeto Σ é um conjunto finito, Σ e Σ + são sempre infinitos, pois Σ é não vazio e não existe limite no comprimento das cadeias nesses dois conjuntos. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

10 Alfabetos e linguagens Um subconjunto qualquer de Σ pode ser visto como uma linguagem sobre o alfabeto Σ. Uma cadeia w numa linguagem L, isto é w L, será chamada palavra ou sentença de L. Na teoria das linguagens formais não há distinção entre palavras e sentenças. Para fornecer mais estrutura a essa definição, bastante ampla, de linguagem, estudaremos métodos pelos quais poderemos definir linguagens particulares. EXEMPLO: Seja Σ = {a, b}. Então Σ = {λ, a, b, aa, ab, ba, bb, aaa, aab,...}. O conjunto {a, aa, aab} é uma linguagem sobre Σ. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

11 Alfabetos e linguagens Linguagens Linguagens, Sublinguagens e Palavras Um subconjunto qualquer de Σ pode ser visto como uma linguagem sobre o alfabeto Σ. Uma cadeia w numa linguagem L, isto é w L, será chamada palavra ou sentença de L. Exemplo: Seja Σ = {a, b}. Então Σ = {λ, a, b, aa, ab, ba, bb, aaa, aab,...}. Os conjuntos: 1 L 1 {a, aa, aab}; e 2 L 2 = {a n b n /n 0}. São linguagens sobre Σ, onde as cadeias aabb e aaaabbbb são palavras de L 2, enquanto que a cadeia abb não está em L. Ao contrário de L 1, a linguagem L 2 é infinita Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

12 Operações sobre Linguagens Operações sobre Linguagens Operações Conjuntistas: União, intersecção, diferença, complemento (L = Σ L). Operações Linguísticas: concatenação, fecho estrela, fecho positivo, reverso, prefixos, sufixos, etc. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

13 Operações sobre Linguagens A concatenação de duas linguagens L 1 e L 2, sobre os alfabetos Σ 1 e Σ 2, respectivamente, é a linguagem, sobre o alfabeto Σ 1 Σ 2, denotada por L 1 L 2, consistindo do conjunto de todas as cadeias obtidas concatenando-se qualquer elemento de L 1 com qualquer elemento de L 2, isto é L 1 L 2 = {xy / x L 1 e y L 2 }. EXEMPLO: Sejam as linguagens L 1 = {aa, ab} e L 2 = {bb, ba, aba}. Então a concatenaçãode L 1 com L 2 é a linguagem L 1 L 2 = {aabb, aaba, aaaba, abbb, abba, ababa}. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

14 Operações sobre Linguagens Exponenciação de linguagens: Define-se L n como sendo L concatenado n vezes com ele próprio. Nos casos especiais de n = 0 e n = 1 temos que, recursivamente temos: L 0 = {λ} e L 1 = L. L 0 = {λ} e L n+1 = LL n. EXEMPLO: Se L = {a n b n / n 0}, então L 2 = {a m b m a n b n / m 0 e n 0}. Observe que m e n não estão relacionados. A cadeia aabbaaabbb está em L 2. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

15 Operações sobre Linguagens O fecho estrela de uma linguagem L, sobre um alfabeto Σ, denotado por L, é o fecho de L {λ} Σ com respeito à operação (binária) de concatenação de cadeias. Por definição de fecho de conjuntos L Σ, logo L é uma linguagem sobre o próprio Σ. L também pode ser obtido da seguinte maneira: L = L i = L 0 L 1 L 2 L 3 i=0 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

16 Operações sobre Linguagens O fecho positivo da linguagem L, denotado por L +, o fecho de L Σ com respeito à operação (binária) de concatenação de cadeias. Também pode ser definido por L + = L i = L 1 L 2 L 3 i=1 Observação: Note que não necessariamente é verdade que L + = L L 0 = L {λ}, pois se λ L então, L + = L. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

17 Operações sobre Linguagens EXEMPLO: Seja L a linguagem L = {aa, bb, aba}. Então os fechos estrela e positivo de L são definidos por: L = {λ, aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba} {abaaa, ababb, abaaba, aaaaaa, aaaabb,...} e L + = {aa, bb, aba, aaaa, aabb, aaaba, bbaa, bbbb, bbaba} {abaaa, ababb, abaaba, aaaaaa, aaaabb,...}. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

18 Operações sobre Linguagens A linguagem reversa de uma linguagem L, sobre um alfabeto Σ, é a linguagem L R, sobre o próprio alfabeto Σ, consistindo de todas as cadeias em L revertidas, isto é w L se e somente se w R L R. Como (w R ) R = w para qualquer cadeia w, temos que L R é definida por L R = {w Σ / w R L}. EXEMPLO: Seja a linguagem L = {aa, baa, aba, abbb}. A linguagem reversa de L é: L R = {aa, aab, aba, bbba}. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

19 Operações sobre Linguagens A linguagem de prefixos de uma linguagem L, sobre um alfabeto Σ, é a linguagem L P, sobre o próprio Σ, definida por L P = {v Σ / vw L para algum w Σ }. Isto é, L P é a linguagem consisitindo de todas as cadeias que são prefixos de alguma cadeia em L. Analogamente, A linguagem de sufixos de uma linguagem L, sobre um alfabeto Σ, é a linguagem L S, sobre o próprio Σ, definida por L S = {w Σ /vw L para algum v Σ }. Isto é, L S é a linguagem consisitindo de todas as cadeias que são sufixos de alguma cadeia em L. Observe que L L R e L L S. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

20 Gramáticas Alguns Conceitos Gramáticas Para estudar linguagens, matematicamente, precisamos de um mecanismo para descrevê-las. A linguagem do dia a dia é imprecisa e ambígua, portanto, a descrição em português, em geral, é inadequada. A notação de conjuntos é mais adequada, porém limitada. Aqui, introduziremos a noção de gramática, uma ferramenta comum e poderosa para definir linguagens. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

21 Gramáticas Uma gramática, G, é definida como uma quádrupla G = V, T, S, P, onde V é um conjunto finito de objetos, chamados variáveis, T é um conjunto finito de objetos, disjunto de V, chamados símbolos terminais, S V é um símbolo especial, chamado variável de início, e P é um conjunto finito de produções. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

22 Gramáticas Uma produção tem a forma: x y, onde x é um elemento de (V T ) + e y está em (V T ). As produções são aplicadas como segue: dado uma cadeia da forma w = uxv, dizemos que a produção é aplicável a esta cadeia, e podemos usá-la para trocar uma ocorrência de x por y, obtendo, assim, a nova cadeia z = uyv. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

23 Gramáticas Neste caso, dizemos que w deriva z ou z é derivada de w, denotado por w = z. Cadeias sucessivas são derivadas aplicando regras de produção da gramática, numa ordem arbitrária. Uma produção pode ser usada se ela é aplicável e pode ser aplicada quantas vezes se quiser. Se w 1 = w 2 =... = w n, dizemos que w 1 deriva w n e escrevemos w 1 = w n. A estrela indica que foi considerado um número não especificado de etapas (incluindo zero) para derivar w n de w 1. Portanto, w = w sempre se dá. Para indicar que, pelo menos uma produção foi aplicada escreveremos w + = v. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

24 Gramáticas Seja G = V, T, S, P uma gramática. O conjunto L(G) = {w T / S = w} é denominado linguagem gerada pela gramática G. Os elementos de L(G) são chamados sentenças ou palavras. Se w L(G), então a sequência S = w 1 = w 2 =... = w n = w é uma derivação da sentença w. As cadeias S, w 1, w 2,..., w n que contém variáveis e objetos terminais, são chamados formas sentenciais da derivação. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

25 Gramáticas Exemplo Considere a gramática G = {S}, {a, b}, S, P, onde P é dado por S asb S λ. Então, S = asb = aasbb = aabb. Logo, podemos escrever S = aabb. A cadeia aabb é uma sentença na linguagem gerada por G, enquanto aasbb é uma forma sentencial. Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

26 Autômatos Alguns Conceitos Autômatos Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de / 26

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

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018 27 de Fevereiro de 2018 Definição: Concatenação Sejam u, v Σ. A concatenação de u e v, denotado por uv é a operação binária sobre Σ assim definida (i) BASE: Se tamanho(v) = 0 então v = λ e uv = u. (ii)

Leia mais

Linguagem (formal) de alfabeto Σ

Linguagem (formal) de alfabeto Σ Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

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 Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens) Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.

Leia mais

IBM1088 Linguagens Formais e Teoria da

IBM1088 Linguagens Formais e Teoria da IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com

Leia mais

Modelos de Computação

Modelos de Computação Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas

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

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo? 2 Linguagens Uma linguagem de programação, ou uma língua natural como o Português ou o Inglês, pode ser vista como um conjunto de sequências de símbolos, pertencentes a um conjunto finito. Em Português

Leia mais

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos (notas da primeira aula 1 Definições básicas 1.1 Conjuntos Definição 1. Um conjunto é uma coleção de objetos, denominados elementos. Notação 1. Para indicar que um elemento

Leia mais

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ). Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento

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 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

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

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

Revisões de Conjuntos

Revisões de Conjuntos Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A

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

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

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010

Leia mais

Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas

Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Definições Hierarquia de Chomsky 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

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

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 ( [HMU00], Cap. 5.1)

Gramáticas ( [HMU00], Cap. 5.1) Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é

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

BCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal.

BCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal. BCC244 Alfabeto, String, Linguagem, Gramática Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal. Exemplo: Máquina de Venda A máquina de venda retorna uma cocacola

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

Expressões Regulares e Gramáticas Regulares

Expressões Regulares e Gramáticas Regulares Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão

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 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís

Leia mais

Linguagens, Reconhecedores e Gramáticas

Linguagens, Reconhecedores e Gramáticas Linguagens, Reconhecedores e Gramáticas Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias são denominadas sentenças

Leia mais

1 INTRODUÇÃO E CONCEITOS BÁSICOS

1 INTRODUÇÃO E CONCEITOS BÁSICOS 1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos

Leia mais

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos

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

Conceitos de Análise Sintática

Conceitos de Análise Sintática Conceitos de Análise Sintática Pro.f. Marcus Ramos UNIVASF Atualizado em 28 de outubro de 2016 The Theory of Parsing, Translation and Compiling Volume I: Parsing Alfred V. Aho Jeffrey D. Ullman Prentice

Leia mais

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos 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

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 TEORIA DA COMPUTAÇÃO Aula 02 Introdução à Teoria da Computação Prof.ª Danielle Casillo Linguagem: é uma forma precisa de expressar

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

A.Tomás, N.Moreira Modelos de Computação DCC-FCUP

A.Tomás, N.Moreira Modelos de Computação DCC-FCUP 1.1. NOTAÇÃO PARA CONJUNTOS 4 Capítulo 1 Preliminares 1.1 Notação para conjuntos Nesta secção vamos essencialmente rever alguma da notação que usaremos para conjuntos. Sendo A e B conjuntos, a A a pertence

Leia mais

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1 Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Teoria da Computação

Teoria da Computação Introdução Março - 2009 1 Noções e Terminologia Matemática Conjuntos Um conjunto é um grupo de objetos, chamados elementos ou membros, representado como uma unidade. O conjunto { 3, 41, 57} possui os elementos

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Problema

Conceitos Básicos. Vocabulário Cadeias Linguagens Problema Conceitos Básicos Vocabulário Cadeias Linguagens Problema Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto. Ex: {A,B,C,.Z} alfabeto latino (maiúsculas)

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ómatos de Pilha e Linguagens Livres de Contexto

Autómatos de Pilha e Linguagens Livres de Contexto Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição

Leia mais

Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção

Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção às folhas); Caracteriza a classe das gramáticas (e

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

Modelos de Computação Folha de trabalho n. 8

Modelos de Computação Folha de trabalho n. 8 Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

Apontamentos de Modelos de Computação. Ana Paula Tomás

Apontamentos de Modelos de Computação. Ana Paula Tomás Apontamentos de Modelos de Computação Ana Paula Tomás Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 1999 Conteúdo 1 Preliminares 3 1.1 Notação para conjuntos.................................

Leia mais

TEORIA DA COMPUTAÇÃO

TEORIA DA COMPUTAÇÃO LICENCIATURA EM ENGENHARIA INFORMÁTICA TEORIA DA COMPUTAÇÃO António Dourado Pereira Correia Advertência. Este documento é um texto de trabalho para apoio ao estudo da cadeira de Teoria da Computação. Não

Leia mais

Segunda Lista de Exercícios 2004/2...

Segunda Lista de Exercícios 2004/2... + + UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Segunda Lista de Exercícios

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 Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte

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

Fundamentos de Teoria da Computação

Fundamentos de Teoria da Computação Fundamentos de Teoria da Computação (Versão preliminar em constante modificação) Prof. Celso Antônio Alves Kaestner, Dr. Eng. Universidade Tecnológica Federal do Paraná celsokaestner@utfpr.edu.br 28 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

Expressões e Gramáticas Regulares e Autómatos Finitos

Expressões e Gramáticas Regulares e Autómatos Finitos Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente

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

Capítulo 1: Alfabetos, cadeias, linguagens

Capítulo 1: Alfabetos, cadeias, linguagens Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de

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

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação - 1 0 Semestre 007 Professora : Sandra Aparecida de Amo Solução da Lista de Exercícios n o 1 Exercícios de Revisão

Leia mais

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

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

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In... 1 de 1 1//010 09:1 CT-00 Fundamentos de Linguagens Formais e Automata Aula 01 - Introdução Segunda Aula (updated just now by YourName) Propriedades de Relações Partições Seja A={1,,,...,10} e os subconjuntos

Leia mais

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Gramáticas e Linguagens Independentes de Contexto

Gramáticas e Linguagens Independentes de Contexto Gramáticas e Linguagens Independentes de Contexto 6.1 Responde às uestões seguintes considerando a gramática independente de contexto G = (V, {a, b}, P, R), onde o conjunto de regras P é: R XRX S S at

Leia mais

Gramáticas Regulares

Gramáticas Regulares Capítulo 3 Expressões Regulares, Linguagens Regulares es e Gramáticas Regulares 3.1. Expressões Regulares (RE) 3.2. Relação entre ER e Linguagens Regulares (LR) 3.3. Gramáticas Regulares (GR) 3.4. Síntese

Leia mais

Propriedades das Linguagens Livres do Contexto

Propriedades das Linguagens Livres do Contexto Capítulo 7 Propriedades das Linguagens Livres do Contexto As linguagens livres do contexto ocupam uma posição central na hierarquia das linguagens formais. Por um lado, as linguagens livres do contexto

Leia mais

Histórico e motivação

Histórico e motivação Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico

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

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

AFNs, Operações Regulares e Expressões Regulares

AFNs, Operações Regulares e Expressões Regulares AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação

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

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 3 Autômatos Finitos Alfabeto Alfabeto Conjunto finito de símbolos; Normalmente descrito por ; Exemplos: ={a, b} ={1, 2, 3} ={00, 11} Ø Alfabeto romano

Leia mais

Lista de exercícios 1

Lista de exercícios 1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro

Leia mais

Aula 3: Autômatos Finitos

Aula 3: Autômatos Finitos Teoria da Computação Primeiro Semestre, 25 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor

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

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Aula de 19/08/2013 Símbolos, Cadeias, Linguagens Propriedades e Representações Formais de Interesse 1 Nota preliminar ( O conceito de decomposição e suas representações

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

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

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

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

Leia mais

Gramática. Gramática. Gramática

Gramática. Gramática. Gramática Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

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

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível

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

CAPÍTULO 5 LINGUAGENS LIVRES DE CONTEXTO

CAPÍTULO 5 LINGUAGENS LIVRES DE CONTEXTO CAPÍTULO 5 LINGUAGEN LIVRE DE CONTEXTO 5.1. Introdução 181 5.2 Gramáticas livres de contexto 181 5.2.1. Definição e exemplos 183 5.2.2 Derivação pela extrema direita e pela extrema esquerda 188 5.2.3.Árvores

Leia mais

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional? capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental

Leia mais

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de

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

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

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo Linguagens Formais e Autômatos Conceitos Básicos Prof. Anderson Belgamo Introdução Teoria das Linguagens Formais Originariamente desenvolvida na década de 1950. Objetivo inicial: desenvolver teorias relacionadas

Leia mais

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000) Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade

Leia mais

Conceitos de Análise Sintática

Conceitos de Análise Sintática Conceitos de Análise Sintática Pro.f. Marcus Ramos UNIVASF Atualizado em 21 de dezembro de 2017 às 14:18 The Theory of Parsing, Translation and Compiling Volume I: Parsing Alfred V. Aho Jeffrey D. Ullman

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Soluções para a Lista 4 Universidade Federal do ABC Aritanan Gruber aritanan.gruber@ufabc.edu.br http://professor.ufabc.edu.br/ aritanan.gruber Os exercícios marcados com

Leia mais