A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

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

Download "A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)"

Transcrição

1 DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1 D.2 D.3 D.4 E F Total Cotação 1,75 0,75 2,00 1,00 1,75 1,00 0,75 1,00 1,00 1,25 1,25 1,25 1,25 2,00 2,00 20,00 IMPORTANTE Não se exigia que na resolução deste teste por parte dos alunos, as justificações apresentadas fossem tão pormenorizadas. Apenas aproveitei este momento para explicar o melhor possível a resolução dos problemas propostos. A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) 1. Desenhe um AFD sobre o alfabeto Σ = { 0, 1 } que aceite a linguagem em que todas as palavras são da forma w 1 011w 2 (010) n, com n 0 e w 1, w 2 Σ*. Começar por construir o AFD para a palavra de comprimento mínimo: 011 (com w 1 = w 2 = λ e n = 0) Acrescentar a possibilidade de aparecer pela 1ª vez a subsequência 010 (n = 1). Se não aparecer 010 então tudo o que está depois de 011 pertence a w 2. No entanto, logo que apareça uma subsequência 010, para que a palavra seja aceite pelo AFD tudo o aparecer depois desta 1ª subsequência terá que daquele tipo, isto é várias subsequências de 010. O estado q9 é um estado de ERRO, pois depois de surgir várias subsequências do tipo 010 surgiu algo diferente. Desta forma, o AFD final é : 1

2 Interpretação do autómato: 1) o ramo [q0, q1, q2, q3] garante a sub-cadeia w 1 (011) 2) o ramo [q3, q4, q5, q6] garante a sub-cadeia w 2 (010) 1 (n = 1) 3) o ramo [q7, q8, q9] garante a subcadeia (010) k, k > 1 4) o estado q5 é de ERRO depois de surgir apela primeira vez 010, só podem aparecer sequências deste tipo 2. Indique, usando uma expressão semelhante à anterior, qual a linguagem reconhecida pelo AFND sobre Σ = { 0, 1 } que se segue. Justifique. Analizando o AFND verifica-se que aceita dois tipos de palavras, cada um correspondente a uma linguagem: L = L1 L2 (L1 = (q0, q1, q4, [q1, q4] k, k 0); L2 = (q0, q2, q3, q4, [q1, q4] k, k 0). Usando o ramo q0 q1 q4, o tipo de palavras aceites é: 0w 1 0. Usando o ramo q1 q4, o tipo de palavras aceites é: 1w 2 0. Logo, L1 = { w {0,1}* : w = 0w 1 0 (1w 2 0) k, k 0, w 1, w 2 {0,1}*} (q1 q4 pode-se repetir). Usando o ramo q0 q2 q3 q4, o tipo de palavras aceites é: 1 n 1 0 m 0 = 1 n+1 0 m+1, n 0 e m 0. Mas como q1 q4 pode-se repetir, Portanto, L2 = { w {0,1}* : w = 1 n 0 m (1w 1 0) k, n 1, m 1, k 0, w 1 {0,1}*}. L = L1 L2 = { w {0,1}* : w = (0w n 0 m ) (1w 2 0) k, n 1, m 1, k 0, w 1, w 2 {0,1}*} 3. Converta o AFND anterior num AFD e desenhe este último. Tabela de conversão do AFND para um AFD: q0q2 é o estado inicial do AFD δ(q0, λ) = q2 estados 0 1 (A) q0q2 q1 q2q3 (B) q1 q1q4 q1 (C) q2q3 q3q4 q2q3 (D) q1q4 q1q4 q1 (E) q3q4 q3q4 q1 2

3 B. (Expressões regulares e autómatos finitos) 1. Indique, justificando, uma expressão regular para a linguagem L do alfabeto Σ = { 0, 1 } à qual pertencem as palavras formadas por várias sequências de 0's e de 1's consecutivos, em que cada uma destas sequências têm exactamente dois elementos. Por ex: L; L. Pretendem-se as palavras que só têm a's isolados ou aos pares. A expressão regular é a seguinte: (1100)*(11 + λ) + (0011)*(00 + λ) (1100)*(11 + λ) Para as sequências que começam por 11 e terminam em 00 [(1100)*λ] ou em 11 [(1100)*11]. Também abrange a sequência 11 apenas. (0011)* (00 + λ) Para as sequências que começam por 00 e terminam em 11 [(0011)*λ] ou em 00 [(0011)*00]. Também abrange a sequência 00 apenas. 2. Usando o método de eliminação de estados (esquema em baixo), r = r1* r2 (r4 + r3 r1* r2)* determine a expressão regular associada à linguagem reconhecida pelo seguinte AFND: Analisando diretamente o AFND, facilmente se verifica que uma expressão regular associada à linguagem reconhecida por ele é a seguinte: 0*1(0+1)*10*0 (1* + 10*1(0+1)*10*0)* No entanto, vai-se usar o método de eliminação de estados para chegar a uma expressão idêntica. Desta forma, vai-se eliminar os estados q1 e q2, um de cada vez. Optou-se por eliminar primeiro q1 e depois q3 (podia-se também eliminar q3 e só depois q1). Eliminação do estado q1: q0 q1 q0 : q0 q1 q3 : 1(0+1)*1 q3 q1 q0 : q3 q1 q3 : O estado q2 não é envolvido na eliminação de q1, porque não existe nenhuma ligação direta entre q1 e q2. Ou seja, q1 e q2 não são estados adjacentes entre si. O pseudo-autómato resultante após a remoção do estado q1 é o seguinte: 3

4 Eliminação do estado q3 (usando o pseudo-autómato resultante da remoção de q1): q0 q3 q0 : q0 q3 q2 : 1(0+1)*10*0 q2 q3 q0 : q2 q3 q2 : O pseudo-autómato resultante após a remoção do estado q3 é o seguinte: Segundo a expressão apresentada em cima, temos: r1 = 0; r2 = 1(0+1)*10*0; r3 = 1; r4 = 1 Logo, temos que a expressão regular associada à linguagem reconhecida pelo AFND, é a seguinte: r = r1* r2 (r4 + r3 r1* r2)* = 0*(1(0+1)*10*0) (1 + 10*(1(0+1)*10*0))* = = 0*(1(0+1)*10*0)1* + 0*(1(0+1)*10*0) (10*(1(0+1)*10*0))* 3. Determinar a gramática regular que gere a linguagem associada à seguinte expressão regular: 1 0 ( 1 0 ) * * 1 ( 0 * + 1 * ) 1 Para tal, a) Desenhe um AFND associado à expressão regular. b) Construa a gramática a partir deste autómato). a) Um AFND associado à expressão regular é o seguinte: b) A gramática G = (V, T, S, P) é construída da seguinte forma: V = { S, A, B, C, D, E, F, G, H }, em que S está associado a q0, A a q1, B a q2, C a q3, D a q4, E a q5, F a q6, G a q7 e H a q8. T = { 0, 1 } P é o conjunto de produções, as quais são construídas da seguinte forma: S A 1A δ(q0,1) = q1 S 0B 0C δ(q1,0) = q3 B 0B B 1D C D δ(q2,1) = q4 1G δ(q3,1) = q7 C 1E F δ(q4,λ) = q6 D H δ(q0,0) = q2 δ(q2,0) = q2 δ(q3,1) = q5 δ(q4,λ) = q8 E λ q5 é estado final do AFND construído em a) F 0F δ(q6,0) = q6 F 1E G 0C H δ(q7,0) = q3 1H δ(q8,1) = q8 H 1E δ(q6,1) = q5 δ(q8,1) = q5 4

5 C. (Linguagens e gramáticas independentes de contexto LIC e GIC) 1. Determine a LIC gerada por G = ({S, X}, {0, 1}, {S 0S; S 1X; X 11X00; X 1}, S). Justifique. Como na derivação de uma palavra, temos sempre que começar por S, e depois passar para X, vamos primeiro determinar os tipos de palavras derivadas a partir de X, e só depois as derivadas a partir de S. Derivação de palavras a partir de X : X 1 (P4) 1 = (11) 0 1(00) 0 X 11X00 (P3) (P4) = (11) 1 1(00) X0000 (P3) (P4) = (11) 2 1(00) Logo, a partir de X derivam-se palavras do tipo : (11) n 1(00) n (n 0) Derivação de palavras a partir de S: Como a produção S 1X (P2) terá sempre que ser usada, vai-se detarminar o tipo de palavras que se derivam a partir desta produção: S 1X (P2)... 1(11) n 1(00) n (n 0) (derivação de X) = (11) n 11(00) n (n 0) = (11) n+1 (00) n (n 0) Logo, a partir de S (P2) derivam-se palavras do tipo: (11) n+1 (00) n (n 0) Derivação a partir de S (P1): S 0S... 0 m S (m 1) aplicando P1 m vezes 0 m (11) n+1 (00) n (m 1, n 0) (P2) aplicando P2 e depois n vezes P3 e 1 vez P4 Logo, a partir de S (P1) derivam-se palavras do tipo: 0 m (11) n+1 (00) n (m 1, n 0) Logo, a partir de S derivam-se palavras de L(G) = { w {0,1}* : w = 0 m (11) n+1 (00) n, m 0, n 0 } 2. Determine a GIC associada à linguagem L = { 1 n 0 m 1 m+2 0 n, com n 0 e m 1 }. Justifique. Pode-se considerar que 1 n 0 m 1 m+2 0 n = 1 n 0 m m 0 n, n 0 e m 1. A ideia é derivar primeiro os n símbolos exteriores: S 1S0. Depois o S do lado direito dá lugae a X que deriva os m símbolos: X 0X0. Por fim, terminar por derivar 1 2 usando Y (pois m 1): Y 11 Um grupo de produções possível é: S 1S0 (para derivar 1n S 0n) S 0X1 (para começar a derivar 0m X 1m e como m 1 garantir pelo menos uma vez é 0?1) X 0X1 (para continuar a derivar 0m X 1m) X 11 (para terminar a derivação com 11) Portanto, G = (V, T, S, P), em que V = { S, X }, T = { a, b }, S = { S } e P = { S 1S0; S 0X1; X 0X1; X 11 } D. (Simplificação de gramáticas livres de contexto) 1. Elimine as λ-produções da gramática G = ( { S, A, B, C, D }, { 0, 1 }, { S 0 B 1 D ; A 0; A λ; B A; B 1 C ; C 0 A ; D A B }, S ). 1º passo: Determinar as variáveis anuláveis (X λ) V N = { A } (A λ) V N = { A } { B } (B A e A V N ) V N = { A, B } { D } (D AB e A, B V N ) V N = { A, B, D } { } = { A, B, D } (as variáveis que derivam a palavra nula, λ) 2º passo: Remover todas as λ-produções e actualizar o conjunto de produções de G (todas as produções que têm A, B e/ou D na parte direita): S 0B1D (B, D V N ) S 01D (fazer B λ em S 0B1D) S 0B1 (fazer D λ em S 0B1D) S 01 (fazer B λ e D λ em S 0B1D) B A (A V N ) (B λ, fazer de A λ em B A não se adiciona) C 0A (A V N ) C 0 (fazer A λ em C 0A) D AB (A, B V N ) 5

6 D A (fazer B λ em D AB) D B (fazer A λ em D AB) (D λ, fazer de A λ e B λ em B A não se adiciona) Portanto, a gramática equivalente sem λ-produções equivalente a G, tem as seguintes produções : S 0B1D 01D 0B1 01 A 0 B A 1C C 0A 0 D AB A B 6

7 2. Elimine as produções inúteis da gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0B1D; A 0; B A; B 1C; C 0A; D AB; E 1C }, S ). 1º passo: Determinar as variáveis úteis (X w, w {0,1}*) V 1 = V 1 = { A } (A 0) V 1 = { A } { B, C } (B A e C 0A, pois A V 1 ) V 1 = { A, B, C } { D, E } (D AB e E 1C, pois A, B, C V 1 ) V 1 = { A, B, C, D, E } { S } (S 0B1D, pois B, D V 1 ) V 1 = { S, A, B, C, D, E }, pois não há mais símbolos não terminais a acrescentar 2º passo: Determinar o conjunto VA de variáveis alcançáveis a partir de S (símbolo inicial da gramática). Para tal, constrói-se a árvore de derivação apenas com variáveis, da seguinte forma: Logo, VA = { S, A, B, C, D }, o que significa que E é não alcançável. Interceptando os 2 conjuntos, V 1 e VA, obtém-se as variáveis úteis V 1 VA = { S, A, B, C, D } 3º passo: Remover todas as produções com E (E 1C) da gramática G, obtendo-se uma gramática equivalente a G sem produções inúteis. A nova gramática é tem as seguintes produções: S 0B1D A 0 B A 1C C 0A D AB 3. Elimine as produções unitárias da gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0 B 1 D ; A 0; A C; A 0 D 1 ; B A; B 1 C ; C 0 A ; C 1; D A B ; E 1 C }, S ). 1º passo: Determinar todos os pares unidade (X Y então (X, Y) é um par unidade) A C então (A, C) é um par unidade B A então (B, A) é um par unidade B A e A C então (B, C) também é um par unidade Pares unidade: (A, C), (B, A) e (B, C). 2º passo: Remover todas as produções unitárias (A C e B A) e actualizar o conjunto de produções de G, da seguinte forma: para cada par unidade (X, Y), criam-se produções cujas partes esquerdas têm X e as partes direitas são as partes direitas das produções que têm Y à esquerda. Neste caso, criam-se as seguintes produções: Como (A, C) é par unidade, criam-se as produções A 0A (C 0A) e A 1 (C 1) Como (B, A) é par unidade, criam-se as produções B 0 (A 0) e B 0D1 (A 0D1) Como (B, C) é par unidade, criam-se as produções B 0A (C 0A) e B 1 (C 1) Assim, a nova gramática que é equivalente a G tem as seguintes produções: S 0B1D A 0 0D1 0A 1 B 1C 0 0D1 0A 1 C 0A 1 D AB E 1C 7

8 4. Reduza à Forma Normal de Chomsky a gramática G = ( { S, A, B, C, D, E }, { 0, 1 }, { S 0 B 1 D ; A 0; A 0 D 1 ; B 1 C ; C 0 A ; C 1; D A B ; E 1 C }, S ). Uma gramática está na Forma Normal de Chomsky (FNC) se contiver apenas produções de 2 tipos: 1) X AB X, A, B são variáveis (símbolos não terminais) da gramática 2) X a X é variável e a é símbolo terminal Transformar cada uma das produções de G na respectiva FNC: S 0B1D S XBYD S XZ (1) X 0 Z BK (2) Y 1 K YD (3) X 0 (4) Y 1 (5) A 0 (está na FNC) A 0 (6) A 0D1 A XDY A XW (7) X 0 (já existe) W DY (8) Y 1 (já existe) B 1C B YC B YC (9) Y 1 (já existe) C 0A C XA C XA (10) X 0 (já existe) C 1 (está na FNC) C 1 (11) Y 1 (já existe) D AB (está na FNC) D AB (12) E 1C E YC E YC (13) Y 1 (já existe) A gramática G na sua FNC contém as 13 produções determinadas em cima. E. (Autómatos de Pilha Não Determinísticos APND) Construa um APND que aceite a linguagem L = { w {a, b, c}* : w = a n b m c k, com n + k = m }. Indique o critério de aceitação. Autómato desenhado cujo critério de aceitação é pilha vazia. Estratégia para manipulação da pilha: - inserir na pilha (push) um a por cada a lido da sequência de a's (an) - remover da pilha (pop) um a por cada b lido da sequência de b's (bm) - após remover da pilha n a's pelos n b's lidos, inserir na pilha (push) um b por cada b lido do resto da sequência de b's (bm) - remover da pilha (pop) um b por cada c lido da sequência de c's (ck), até a pilha ficar vazia: se chegou-se ao fim da cadeia, a palavra é aceite; caso contrário, a cadeia é não aceite. Um APND possível é o seguinte: Autómato desenhado cujo critério de aceitação é estado final. Estratégia para manipulação da pilha: - inserir na pilha (push) um a por cada a lido da sequência de a's (an) - remover da pilha (pop) um a por cada b lido da sequência de b's (bm) - após remover da pilha n a's pelos n b's lidos, inserir na pilha (push) um b por cada b lido do resto da sequência de b's (bm) - remover da pilha (pop) um b por cada c lido da sequência de c's (ck), até a pilha ficar vazia: se chegou-se ao fim da cadeia, a palavra é aceite e obriga-se o autómato a transitar para o estado final q3 lendo a palavra vazia (λ); caso contrário, a cadeia é não aceite. 8

9 Um APND possível é o seguinte: F. (Máquinas de Turing MT) Construa uma MT que reconheça as palavras da seguinte linguagem: L = { w {a, b, c}* : w = a n b m c k, com n = m + k }. Estratégia para manipulação da MT: - começar por emparelhar cada a da sequência de a's (an) com cada b da sequência de b's (bm); - depois emparelhar cada a do resto da sequência de a's (an) com cada c da sequência de c's (ck). Uma MT possível é a seguinte: Interpretação da MT: Em q0 espera ler da fita um a. Ao ler um a, marca esta posição da fita com *, avança na fita (R) e transita para q1. Em q1 espera ler um b para emparelhar com o a lido antes. Ao ler um b então marca esta posição com *, recua na fita e transita para q2. Em q2 vai recuando até encontar o início da fita, o que acontece quando ler na fita o símbolo. Quando isto acontecer, avança na fita e transita para o estado q0 para que possa recomeçar o processo de emparelhamento de a's com b's ou c's. No entanto, em q1 pode não ter lido nenhum b (todos os b's estão emparelhados com a's). Neste caso, procura ler um c para emparelhar com o a já lido. Quando encontrar um c, marca na fita esta posição com um *, recua na fita e transita para q3. Em q3 vai recuando até encontar o início da fita, o que acontece quando ler na fita o símbolo. Quando isto acontecer, avança na fita e transita para o estado q0 para que possa recomeçar o processo de emparelhamento de a's com b's ou c's. O processo terminar quando não for possível emparelhar o último a lido da fita (a MT fica no estado q1 n > m + k), ou estando a MT no estado q0 leu um b ou c (significa que não há mais a's para emparehar, mas existem b's ou c's por emparelhar n < m + k) neste caso a cadeia é não aceite; ou ainda, estando em q0 leu da fita o símbolo que significa que todos os símbolos estão emparelhados (n = m + k), transitando a MT para o estado aceitante q4 neste caso a cadeia é aceite. 9

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 2ª chamada - Resolução 2h + 30min 07/Fev/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e 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

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: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

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

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

Autómatos Finitos Determinísticos (AFD)

Autómatos Finitos Determinísticos (AFD) Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto

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 [email protected]

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

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa

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

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

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)

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 e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior. LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior [email protected] 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato

Leia mais

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto. As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução

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

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

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 [email protected]

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

IV Gramáticas Livres de Contexto

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

Leia mais

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. 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. [email protected] Legenda: = sigma (somatório) = delta ε = epsilon λ =

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 [email protected] Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda

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

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas

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

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova

Leia mais

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC) Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta

Leia mais

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

Terceira 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 Terceira Lista de Exercícios 2004/2

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

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

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

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

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal

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

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268 Capítulo 6 Simplificação de gramáticas livres de contexto e Formas Normais 61 6.1. Métodos para transformar gramáticas ái 62 6.2. Duas formas Normais (Chomsky e Greibach) 268 6.1. Métodos para transformar

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

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

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia. Transformações em G.L.C Uma vez que existem métodos de análise, cada qual exigindo gramáticas com características específicas é importante que uma gramática possa ser transformada, porém, sem perder a

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

Problemas decidíveis para LICs

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

Leia mais

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

Modelos de Computação Folha de trabalho n. 10 Modelos de Computação Folha de trabalho n. 10 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

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

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Compiladores Aula 4. Celso Olivete Júnior.

Compiladores Aula 4. Celso Olivete Júnior. Aula 4 Celso Olivete Júnior [email protected] 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

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos

Leia mais

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

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro [email protected] Como construir

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 [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires

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

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Draft-v0.1. Máquinas de Turing Máquinas de Turing 13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal

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

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

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

LINGUAGENS FORMAIS E AUTÔMATOS

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

Leia mais

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

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

Marcos Castilho. DInf/UFPR. 5 de abril de 2018 5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})

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

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

Gramática Livre de Contexto

Gramática Livre de Contexto Gramática Livre de Contexto Prof. Yandre Maldonado - 1 Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) Prof. Yandre Maldonado e Gomes

Leia mais

Transformação de AP para GLC

Transformação de AP para GLC UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Transformação de AP para GLC Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A técnica que será

Leia mais

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

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários

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 [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

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

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: [email protected] Monitor PAE: Fernando Alva - e-mail: [email protected] versão 1-23/8/2010 1 Objetivo Desenvolver

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

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

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

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 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

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade 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

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

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

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

Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto

Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto UNIVESIDADE ESTADUAL DE MAINGÁ DEPATAMENTO DE INFOMÁTICA Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A classe de linguagens livres de contexto é fechada

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

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

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

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

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

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

Leia mais