Buscar

alguns exercicios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
G1 = ({atr, exp, id}, {A, B, C, :=, +, *, (, )}, P1, atr)
P1 = { <atr> → <id> := <exp>
<exp> → <id> + <exp> | <id> * <exp> | ( <exp> ) | <id>
<id> → A | B | C }
01. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := A * (B + (C * A))
sobre a gramática G1.
02. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := A * (B + (C * A))
sobre a gramática G1.
03. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := A * (B + (C * A)) sobre a
gramática G1.
04. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença B := C * (A * C + B)
sobre a gramática G1.
05. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença B := C * (A * C + B)
sobre a gramática G1.
06. [Sebesta, 2000] Apresente uma árvore de derivação da sentença B := C * (A * C + B) sobre a
gramática G1.
07. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := A * (B + (C))
sobre a gramática G1.
08. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := A * (B + (C)) sobre a
gramática G1.
09. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := A * (B + (C)) sobre a
gramática G1.
G2 = ({atr, exp, ter, fat, id}, {A, B, C, :=, +, *, (, )}, P2, atr)
P2 = { <atr> → <id> := <exp>
<exp> → <exp> + <ter> | <ter>
<ter> → <ter> * <fat> | <fat>
<fat> → ( <exp> ) | <id>
<id> → A | B | C }
10. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := (A + B) * C sobre a
gramática G2.
11. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := (A + B) * C sobre a
gramática G2.
1 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
12. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := (A + B) * C sobre a
gramática G2.
13. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := B + C + A sobre a
gramática G2.
14. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := B + C + A sobre a
gramática G2.
15. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := B + C + A sobre a
gramática G2.
16. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := A * (B + C) sobre a
gramática G2.
17. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := A * (B + C) sobre a
gramática G2.
18. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := A * (B + C) sobre a
gramática G2.
19. [Sebesta, 2000] Apresente uma derivação à extrema esquerda da sentença A := B * (C * (A + B))
sobre a gramática G2.
20. [Sebesta, 2000] Apresente uma derivação à extrema direita da sentença A := B * (C * (A + B))
sobre a gramática G2.
21. [Sebesta, 2000] Apresente uma árvore de derivação da sentença A := B * (C * (A + B)) sobre a
gramática G2.
22. [Sebesta, 2000] Considerando a gramática G3, quais das seguintes sentenças estão na linguagem gerada
por essa gramática?
G3 = ({S, A, B}, {a, b}, P3, S)
P3 = { <S> → <A> a <B> b
<A> → <A> b | b
<B> → a <B> | a }
a) baab b) bbbab
c) bbaaaaa d) bbaab
e) baba
2 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
23. [Sebesta, 2000] Considerando a gramática G4, quais das seguintes sentenças estão na linguagem gerada
por essa gramática?
G4 = ({S, A, B}, {a, b, c, d}, P4, S)
P4 = { <S> → a <S> c <B> | <A> | b
<A> → c <A> | c
<B> → d | <A> }
a) abcd b) acccbd
c) acccbcc d) acd
e) accc
G5 = ({A, B, C}, {x, +, *}, P, A)
P5 = { <A> → <A> + <B> | <B>
<B> → <B> * <C> | <C>
<C> → x }
24. Apresente uma derivação à extrema esquerda da sentença x * x + x sobre a gramática G5.
25. Apresente uma derivação à extrema direita da sentença x * x + x sobre a gramática G5.
26. Apresente uma árvore de derivação da sentença x * x + x sobre a gramática G5.
27. Apresente uma derivação à extrema esquerda da sentença x * x + x * x sobre a gramática G5.
28. Apresente uma derivação à extrema direita da sentença x * x + x * x sobre a gramática G5.
29. Apresente uma árvore de derivação da sentença x * x + x * x sobre a gramática G5.
G6 = ({S, A, B, C}, {x, y, z, +, *, (, )}, P6, S)
P6 = { <S> → <S> + <S> | <A>
<A> → <A> * <A> | <B>
<B> → ( <S> ) | <C>
<C> → x | y | z }
30. Apresente uma derivação à extrema esquerda da sentença x + ( y * ( z * x ) + z ) sobre a
gramática G6.
31. Apresente uma derivação à extrema direita da sentença x + ( y * ( z * x ) + z ) sobre a
gramática G6.
32. Apresente uma árvore de derivação da sentença x + ( y * ( z * x ) + z ) sobre a gramática G6.
3 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
33. Apresente uma derivação à extrema esquerda da sentença x * ( y + z ) sobre a gramática G6.
34. Apresente uma derivação à extrema direita da sentença x * ( y + z ) sobre a gramática G6.
35. Apresente uma árvore de derivação da sentença x * ( y + z ) sobre a gramática G6.
36. Quais das gramáticas abaixo são ambíguas? Apresente a árvore de derivação para comprovar a
ambiguidade.
a) G = ({S, T, F}, {a, b, c, +, *}, P, S)
P = { <S> → <S> + <S> | <T>
<T> → <T> * <T> | <F>
<F> → a | b | c }
b) G = ({S, T, F}, {a, b, c, +, *, (, )}, P, S)
P = { <S> → <S> + <T> | <S> * <T> | <T>
<T> → ( <S> ) | <F>
<F> → a | b | c }
c) G = ({S, T, F}, {a, b, c, +, *}, P, S)
P = { <S> → <S> + <T> | <T>
<T> → <T> * <T> | <F>
<F> → a | b | c }
37. Desenvolver uma Gramática Livre do Contexto (GLC) que reconheça a declaração de variáveis utilizada
pela linguagem de programação Java, para os tipos inteiros e reais, como nos exemplos abaixo:
int a;
double b, c, d;
int soma = 0;
double produto = 1, media, def5;
38. Desenvolver uma Gramática Livre do Contexto (GLC) que reconheça programas desenvolvidos na
linguagem de programação SIMPLE, especificada em http://www.jacinto-mendes.eti.br/mackenzie/
compiladores/simpletron/simpletron03.htm. 
39. Construa uma Gramática Livre do Contexto (GLC) sobre o alfabeto {a, b, c} que reconheça a linguagem
formal L = {anb2nc, n ≥ 0}. Exemplo de palavras que a gramática livre do contexto deve reconhecer:
c
abbc
aabbbbc
aaabbbbbbc
40. Construa uma Gramática Livre do Contexto (GLC) sobre o alfabeto {a, b, c} que reconheça palavras
palíndromas, ou seja, palavras que lidas da esquerda para a direita ou vice-versa são a mesma palavra.
41. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui acc como prefixo, cba ou cac como subpalavra e acb como sufixo}.
4 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
42. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui bac ou cbc como prefixo, bca ou caa como subpalavra e abc ou cac como sufixo}.
43. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui bbc ou acc como prefixo, cab ou bcb como subpalavra e bba ou abc como sufixo}.
44. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {x, y, z}, que reconheça a linguagem L =
{w | w possui xy como prefixo, yzx como subpalavra e xzx como sufixo}.
45. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui acb ou cac como prefixo, baa ou cba como subpalavra e acb ou bac como sufixo}.
46. Desenvolver uma Gramática Livre do Contexto (GLC)sobre Σ = {x, y, z}, que reconheça a linguagem L =
{w | w possui xxy ou yyz como prefixo, yxz ou yzx como subpalavra e xzz ou xyx como sufixo}.
47. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui abc ou cba como prefixo, acc ou abb como subpalavra e cbb ou caa como sufixo, caso
a subpalavra seja acc, e bab ou bcb como sufixo, caso a subpalavra seja abb}.
48. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {1, 2, 3}, que reconheça a linguagem L =
{w | w possui 132 ou 223 como prefixo, 232 ou 312 como subpalavra e 121 ou 321 como sufixo}.
49. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui ab como prefixo, bca como subpalavra e aca como sufixo}.
50. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {x, y, z, w}, que reconheça a linguagem L
= {w | w possui xyw ou wzz como prefixo, wzx ou wyx como subpalavra e xyy ou xwz como sufixo}.
51. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {x, y, z}, que reconheça a linguagem L =
{w | w possui xyz como prefixo, zxy como subpalavra e xyx como sufixo}.
52. Desenvolver uma Gramática Livre do Contexto (GLC) sobre Σ = {a, b, c}, que reconheça a linguagem L =
{w | w possui cba como prefixo, aba como subpalavra e abc como sufixo}.
53. Desenvolver uma Gramática Livre do Contexto (GLC) que reconheça expressões de adição e subtração na
linguagem de programação LISP, considerando que os operandos sejam apenas números inteiros,
números reais e variáveis. Uma variável é uma palavra composta por dígitos e letras, cujo primeiro símbolo
deve ser obrigatoriamente uma letra. A seguir são apresentados algumas expressões válidas como
exemplo.
(+ 1 a 2 )
(- b5 -2 1.9 )
(+ x (- 1 2 3) soma )
(- a 10 (+ 1.5 -5 (- s123 b432) -0.5 4) 123 bgty)
5 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
54. Desenvolver uma Gramática Livre do Contexto (GLC) que reconheça expressões matemáticas na notação
prefixada, considerando apenas os operadores de adição, subtração, multiplicação e divisão e que os
operandos sejam apenas números inteiros, números reais e variáveis. Uma variável é uma palavra
composta por dígitos e letras, cujo primeiro símbolo deve ser obrigatoriamente uma letra. A seguir são
apresentados algumas expressões válidas como exemplo.
+ a b
+ * 10 15 20
* + a b c
+ 10 * 20 30
55. Desenvolver uma Gramática Livre do Contexto (GLC) que reconheça expressões matemáticas na notação
pós-fixada, considerando apenas os operadores de adição, subtração, multiplicação e divisão e que os
operandos sejam apenas números inteiros, números reais e variáveis. Uma variável é uma palavra
composta por dígitos e letras, cujo primeiro símbolo deve ser obrigatoriamente uma letra. A seguir são
apresentados algumas expressões válidas como exemplo.
a b +
10 15 20 * +
a b c + *
10 20 + 30 *
56. Provar a ambiguidade da gramática:
G = ({S, A, B}, {a, b}, P, S)
P = { < S > → < A > < B > | a a < B >
 < A > → a | < A > a
 < B > → b }
57. Desenvolver uma Gramática Livre do Contexto (GLC) sobre o alfabeto {(, )}, que produza cadeias com
parênteses a esquerda e a direita, como por exemplo
(())
(()())
()()()
(()((())))
58. A gramática livre de contexto abaixo é uma descrição de um fragmento da língua inglesa. 
 
G = ({SENTENCE, NOUN-PHRASE, VERB-PHRASE, PREP-PHRASE, CMPLX-NOUN, CMPLX-VERB,
ARTICLE, NOUN, VERB, PREP}, {a, the, boy, girl, flower, touches, likes, sees,
with}, P, S)
P = { <SENTENCE> → <NOUN-PHRASE> <VERB-PHRASE> 
 <NOUN-PHRASE> → <CMPLX-NOUN> | <CMPLX-NOUN> <PREP-PHRASE> 
 <VERB-PHRASE> → <CMPLX-VERB> | <CMPLX-VERB><PREP-PHRASE> 
 <PREP-PHRASE> → <PREP> <CMPLX-NOUN> 
 <CMPLX-NOUN> → <ARTICLE> <NOUN> 
 <CMPLX-VERB> → <VERB> | <VERB> <NOUN-PHRASE> 
 <ARTICLE> → a | the 
 <NOUN> → boy | girl | flower 
 <VERB> → touches | likes | sees 
 <PREP> → with }
Apresente uma árvore de derivação da sentença a girl with a flower likes the boy.
6 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
59. Apresente a derivação a extrema esquerda e a derivação a extrema direita da sentença a ( e , e , e )
sobre a gramática
G = ({S, Z, R, X, Y}, {a, e, (, ), ','}, P, S)
P = {< S > → < Z > )
 < Z > → < Z > , < X > | < R >
 < R > → < Y > ( < X >
 < X > → e
 < Y > → a }
60. Construa uma Gramática Livre do Contexto (GLC) sobre o alfabeto {0, 1, ..., 8, 9} que reconheça
exclusivamente os números arábicos pares. Exemplo de palavras que a gramática livre do contexto deve
reconhecer:
0
124
987345566
12345676898
61. Construa uma Gramática Livre do Contexto (GLC) que reconheça todas as expressões regulares possíveis
de serem construídas sobre o alfabeto {a, b, c}.
62. Apresente uma derivação à extrema esquerda da sentença ((a + b)*c + a) sobre a gramática
produzida no exercício 61.
63. Apresente uma derivação à extrema direita da sentença ((a + b)*c + a) sobre a gramática produzida
no exercício 61.
64. Apresente uma árvore de derivação da sentença a(a + b + c)*bc sobre a gramática produzida no
exercício 61.
G1 = ({atr, exp, id}, {A, B, C, :=, +, *, (, )}, P1, atr)
P1 = { <atr> → <id> := <exp>
<exp> → <id> + <exp> | <id> * <exp> | ( <exp> ) | <id>
<id> → A | B | C }
65. Modifique a gramática a seguir para adicionar um operador unitário que tenha uma precedência mais alta
do que a adição e a multiplicação.
G = ({atr, id, exp, ter, fat}, {A, B, C, :=, +, *, (, )}, P, atr)
P = { <atr> → <id> := <exp>
 <id> → A | B | C
 <exp> → <exp> + <ter> | <ter>
 <ter> → <ter> * <fat> | <fat>
 <fat> → ( <exp> ) | <id> }
66. Desenvolva uma gramática livre do contexto que gere a linguagem L = {0i 1j 2k | i = j ou j = k, com
i, j, k > 0}.
7 de 8
Gramáticas Livre do Contexto
Linguagens Formais e Autômatos
http://www.ybadoo.com.br/
67. Apresente a derivação a extrema esquerda e a derivação a extrema direita da sentença a(e, e, e)a
sobre a gramática a seguir
G = ({S, Z, R, X, Y}, {a, e, (, ), ','}, P, S)
P = { < S > → < Y > ( < Z >
 < Z > → < X > , < Z > | < R >
 < R > → < X > ) < Y >
 < X > → e
 < Y > → a }
68. Apresente a árvore de derivação (parse tree) da sentença 
a ( a + a ( a + a ) ) := a ( a + a ) + a ( a + a )
sobre a gramática a seguir:
G = ({S, E, V, I}, {a, (, ), +, :=}, P, S)
P = { < S > → < V > := < E > | < I > ( < E > )
 < E > → < E > + < V > | < V >
 < V > → < I > ( < E > ) | < I >
 < I > → a }
8 de 8

Outros materiais