Buscar

Lista2.en.pt

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

Prévia do material em texto

Analisar e Top-Down análise (Compiladores 
Curso por Alex Aiken) 
QUESTÃO 1 
Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 
2 4 7 8 15 16 
QUESTÃO 2 
Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 Quantas cordas faz o seguinte gramática gerar? UMA → BB B → CC C → 1 | 2 
| ε| ε
11 12 15 16 31 32 63 64 
QUESTÃO 3 
Qual das seguintes gramática (s) produzir linguagens regulares? [Escolha todas que se 
aplicam]
UMA → ( A) | εUMA → ( A) | εUMA → ( A) | εUMA → ( A) | εUMA → ( A) | ε UMA → ( UMA( | εUMA → ( UMA( | εUMA → ( UMA( | εUMA → ( UMA( | εUMA → ( UMA( | ε UMA → ( B) | ( BB) B → UMA → ( B) | ( BB) B → UMA → ( B) | ( BB) B → UMA → ( B) | ( BB) B → UMA → ( B) | ( BB) B → UMA → ( B) | ( BB) B → 
( CC) | ( CCC) C → ( DDD) ( CC) | ( CCC) C → ( DDD) ( CC) | ( CCC) C → ( DDD) ( CC) | ( CCC) C → ( DDD) ( CC) | ( CCC) C → ( DDD) ( CC) | ( CCC) C → ( DDD) 
D → ()D → ()
UMA → aA | b UMA → aA | b UMA → aA | b UMA → aA | b UMA → aA | b UMA → Aa | b UMA → Aa | b UMA → Aa | b UMA → Aa | b UMA → Aa | b UMA → aaab | εUMA → aaab | εUMA → aaab | εUMA → aaab | εUMA → aaab | ε UMA → AAAAB | εUMA → AAAAB | εUMA → AAAAB | εUMA → AAAAB | εUMA → AAAAB | ε UMA → AAAAB | aab UMA → AAAAB | aab UMA → AAAAB | aab UMA → AAAAB | aab UMA → AAAAB | aab 
PERGUNTA 4 
Considerando-se o seguinte gramática: S → AA Considerando-se o seguinte gramática: S → AA Considerando-se o seguinte gramática: S → AA 
→ B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 → B | CB → ( C) C → B + C | DD → 1 | 0 
Adicionando qual das seguintes fará com que a gramática para ser deixado recursiva? [Escolha todas que se 
aplicam]
B → C B → C B → C D → B D → B D → B UMA → D UMA → D UMA → D D → UMA D → UMA D → UMA C → 1C C → 1C C → 1C C → C + B C → C + B C → C + B 
PERGUNTA 5 
Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ Qual dos seguintes gramáticas remove corretamente esquerda recursão de: S → Aa | Um δ → Sβ 
[Escolha todas que se aplicam] 
S → Aa | Um δ → δβAS → Aa | Um δ → δβAS → Aa | Um δ → δβAS → Aa | Um δ → δβAS → Aa | Um δ → δβAS → Aa | Um δ → δβAS → Aa | Um δ → δβA
'
UMA ' → αβA ' | εUMA ' → αβA ' | εUMA ' → αβA ' | εUMA ' → αβA ' | εUMA ' → αβA ' | εUMA ' → αβA ' | εUMA ' → αβA ' | ε
S → Ds 'S → Ds 'S → Ds 'S → Ds '
S ' → COMO ' | εS ' → COMO ' | εS ' → COMO ' | εS ' → COMO ' | εS ' → COMO ' | εS ' → COMO ' | εS ' → COMO ' | ε
UMA → βα UMA → βα UMA → βα 
S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ S → Aa | Um δ → δβ | Aαβ 
S → δAα | Um δ → UMAS → δAα | Um δ → UMAS → δAα | Um δ → UMAS → δAα | Um δ → UMAS → δAα | Um δ → UMAS → δAα | Um δ → UMAS → δAα | Um δ → UMA
' UMA | ε' UMA | ε' UMA | ε' UMA | ε
UMA ' → αβ UMA ' → αβ UMA ' → αβ UMA ' → αβ 
PERGUNTA 6 
Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E Considere o seguinte gramática: E → E * E | E 
+ E | ( E) | int + E | ( E) | int + E | ( E) | int + E | ( E) | int + E | ( E) | int 
Quantas árvores de análise exclusivas estão lá para a cadeia 5 * 3+ (2 * 7) +4? Quantas árvores de análise exclusivas estão lá para a cadeia 5 * 3+ (2 * 7) +4? Quantas árvores de análise exclusivas estão lá para a cadeia 5 * 3+ (2 * 7) +4? Quantas árvores de análise exclusivas estão lá para a cadeia 5 * 3+ (2 * 7) +4? Quantas árvores de análise exclusivas estão lá para a cadeia 5 * 3+ (2 * 7) +4? 
1 2 4 5 7 8 
QUESTION 7
Using the grammar and string from the previous question (Question 6), which of the following rules are necessary to produce a 
unique parse tree for the string 5 ∗ 3+(2 ∗ 7)+4? [Choose all that apply] unique parse tree for the string 5 ∗ 3+(2 ∗ 7)+4? [Choose all that apply] unique parse tree for the string 5 ∗ 3+(2 ∗ 7)+4? [Choose all that apply] unique parse tree for the string 5 ∗ 3+(2 ∗ 7)+4? [Choose all that apply] unique parse tree for the string 5 ∗ 3+(2 ∗ 7)+4? [Choose all that apply] 
addition associates to the left multiplication associates to the 
left multiplication binds more tightly than addition parentheses 
bind more tightly than multiplication 
 
QUESTION 8
[Choose all that apply] 
The language "strings with an even number of 0's" is both regular and context-free. The language "0n1n, 
where n > 0 is an integer" is context-free but not regular. The language "0n1n2n, where n > 0 is an 
integer" is context-free but not regular. The language "0n2, where n > 0 is an integer" is regular. 
A linguagem "0n2, onde n> 0 é um inteiro" não é nem nem regular, livre de contexto. 
PERGUNTA 9 
Considere seguindo 4 gramáticas: G1. S →Considere seguindo 4 gramáticas: G1. S →
ASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | εASB | Sb | b G2. S → Sa | Sb | c G3. S → SaS | ε
G4. S → bT G4. S → bT G4. S → bT 
T → aT | εT → aT | εT → aT | εT → aT | εT → aT | ε
Seja n = o número de gramáticas onde existe uma cadeia quepossui pelo menos duas diferentes derivações mais à esquerda; 
m = número de gramáticas onde por qualquer string, só temos uma árvore de análise; K = o número de 
gramáticas que podem ser utilizados com um analisador de descida recursiva Escolha o valor correcto para n, 
m e k.
n = 1; m = 2; k = 1 n = 1; m = 1; k = 0 n = 2; m = 2; k = 1 n = 2; m = 2; k = 2 n = 
1; m = 1; k = 1 
PERGUNTA 10 
Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |Quantas cordas distintos e analisar as árvores podem ser gerados pela seguinte gramática? S → A1 | 1B A → 10 |
C | εC | εC | ε
B → C1 | εB → C1 | εB → C1 | εB → C1 | εB → C1 | ε
C → 0 | 1 C → 0 | 1 C → 0 | 1 C → 0 | 1 C → 0 | 1 
5 cordas 7, árvores de análise 5, 6 cordas árvores de análise 6 cordas 7, árvores de análise 4, 6 cordas de análise 
árvores 
PERGUNTA 11 
Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E Qual das seguintes gramática (s) não são ambíguos e reconhecem o mesmo gramática como: E → E + E | E - E | E * E 
 | E / E | int [Escolha todas que se aplicam] | E / E | int [Escolha todas que se aplicam] | E / E | int [Escolha todas que se aplicam] | E / E | int [Escolha todas que se aplicam] | E / E | int [Escolha todas que se aplicam] 
E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * E → int + E | int - E | int * E | int / E | int E → E + int | E - int | E * 
int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int int | E / int | int E → int + E | E - int | int * E | E / int | int E → int + E ' | int 
- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E '| int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '- E ' | int + E | int - EE '→ int * E ' | int / E ' | int E → E ' + E | E ' -E | E '
E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int E ' → int * E ' | int / E ' | int 
PERGUNTA 12 
Vamos Tn ser a string 0n1, para ser combinado com um analisador descendente recursivo usando a gramática a seguir: 
S -> A | B | 0S A -> 
0A | 0 B -> 1
É o número de comparações de tokens necessários para (com sucesso) jogo Tn: 
O (1) Em) O (n2) O (n3) O (2n) 
© Universidade de Stanford, Stanford, Califórnia 94305

Continue navegando