Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({A, B, C, D}, {w, x, y, z}, P, A)
P = {A → AxC | Byw | ACz
B → Cyz | yBz | BAC
C → xDy | Dw
D → xDx | yDy | Dz | Dw}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({A, B, C, D}, {w, x, y, z}, P, A)
P = {A → AxC | Byw | ACz
B → Cyz | yBz | BAC
C → xDy | Dw
D → xDx | yDy | Dz | Dw}
Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({E, T, F, P}, {*, +, a, b}, P, E)
P = {E → E+T | T
T → TF | F
F → F* | P
P → a | b}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({E, T, F, P}, {*, +, a, b}, P, E)
P = {E → E+T | T
T → TF | F
F → F* | P
P → a | b}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → BCy | Bz | BCD
B → CzD | Cz
C → xy | xDB
D → yzA | y | yz}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → zBxDy | zBy | zBxDC
B → xAB | CA | xB
C → DyB | Dy | DyBy
D → y | yA}
Apresente os conjuntos FIRST e FOLLOW das variáveis da gramática a seguir.
G = ({S, A, B, C}, {a, b, c, d}, P, S)
P = {S → AC | CdB | Ba
A → aA | BC
B → bB | CB | ε
C → cC | ε}
Apresente os conjuntos FIRST e FOLLOW das variáveis da gramática a seguir.
G = ({S, A, B, C, D}, {a, b, c, d}, P, S)
P = {S → aBC | CcD
A → dS | BDb
B → Ca | bAd
C → c | ε
D → ε | Cd}
Apresente os conjuntos FIRST e FOLLOW das variáveis da gramática a seguir.
G = ({S, A, B, C}, {a, b, c, d}, P, S)
P = {S → ABC
A → aA | ε
B → bB | CdA
C → cC | ε}
Apresente a Análise Recursiva com Retrocesso da palavra [[a];a] sobre a gramática a seguir.
G = ({S, L}, {;, [, ], a}, P, S)
P = {S → a | [L]
L → S;L | S}
Apresente as funções para a realização da Análise Recursiva Preditiva da gramática a seguir.
G = ({S, A, B, C}, {a, b, c, d}, P, S)
P = {S → AC | CdB | Ba
A → aA | BC
B → bB | AB | ε
C → cC | ε}
Apresente a Análise Preditiva Tabular da entrada (id + id) * (id + id) sobre a gramática a seguir.
G = ({A, B, C, D, E}, {id, +, *, (, )}, P, A)
P = {A → CB
B → +CB | ε
C → ED
D → *ED | ε
E → (A) | id}
id | + | * | ( | ) | $ | |
---|---|---|---|---|---|---|
A | A → CB | A → CB | ||||
B | B → +CB | B → ε | B → ε | |||
C | C → ED | C → ED | ||||
D | D → ε | D → *ED | D → ε | D → ε | ||
E | E → id | E → (A) |
Apresente a Análise Preditiva Tabular da entrada id & (~id v ~id) sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, ~, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | ~F | id}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada (id ~id) v id sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, ~, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | ~F | id}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada (id ~id) v id sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, ~, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | ~F | id}
Apresente a Análise Preditiva Tabular da entrada id * (id + id * id) sobre a gramática a seguir.
G = ({A, B, C}, {id, +, *, (, )}, P, A)
P = {A → A+B | B
B → B*C | C
C → (A) | id}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada id * (id id) * id sobre a gramática a seguir.
G = ({A, B, C}, {id, +, *, (, )}, P, A)
P = {A → A+B | B
B → B*C | C
C → (A) | id}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada id * (id id) * id sobre a gramática a seguir.
G = ({A, B, C}, {id, +, *, (, )}, P, A)
P = {A → A+B | B
B → B*C | C
C → (A) | id}
Apresente a tabela de Análise de Precedência de Operadores, com tratamento de erros, da gramática a seguir.
G = ({A, B, C, D}, {id, +, -, *, /, (, )}, P, A)
P = {A → A+B | A-B | B
B → B/C | C
C → C*D | D
D → (A) | id}
Apresente a Análise de Precedência de Operadores, da entrada x * (x + (x ^ x) * x) sobre a gramática a seguir.
G = ({S, T, P, F}, {+, *, ^, (, ), x}, P, S)
P = {S → S+T | T
T → T*P | P
P → P^F | F
F → (S) | x}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada x + (x ^ + x)) (x * x x sobre a gramática a seguir.
G = ({S, T, P, F}, {+, *, ^, (, ), x}, P, S)
P = {S → S+T | T
T → T*P | P
P → P^F | F
F → (S) | x}
Apresente a Análise de Precedência de Operadores, da entrada (id & (id v id) v id) sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | id}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada id & (v id)) sobre a gramática a seguir.
G = ({E, T, F}, {id, &, v, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | id}
Elimine a recursividade à esquerda e apresente a fatoração a esquerda das produções da gramática a seguir, de modo que a gramática se torne LL(1).
G = ({A}, {a, b, c, d}, P, A)
P = {A → Ac | Acd | bc | bac | ε}
Apresente a Análise Preditiva Tabular da entrada 01012 sobre a gramática a seguir.
G = ({S, A, B}, {0, 1, 2}, P, S)
P = {S → 0A | 1B
A → 1B | 2
B → 0A | 2}
FIRST(S) = {0, 1}
FIRST(A) = {1, 2}
FIRST(B) = {0, 2}
FOLLOW(S) = {$}
FOLLOW(A) = {$}
FOLLOW(B) = {$}
Apresente os conjuntos FIRST e FOLLOW das variáveis da gramática a seguir.
G = ({S, A, B, C, D}, {a, b, c, d}, P, S)
P = {S → ABCD
A → ε | aA
B → ε | Bb
C → c | AB
D → d}
Apresente a Análise Recursiva com Retrocesso da palavra abcd sobre a gramática a seguir.
G = ({S, A, B}, {a, b, c, d}, P, S)
P = {S → A
A → a | aB
B → bB | cB | d}
Apresente a Análise Preditiva Tabular da entrada (a+b)*ab* sobre a gramática a seguir.
G = ({A, B, C, D, E}, {a, b, +, *, (, )}, P, A)
P = {A → A+B | B
B → BC | C
C → D* | D
D → (A) | E
E → a | b | ε}
Apresente a Análise de Precedência de Operadores, da entrada ((x + y) ^ (z * y)) / (x - y) sobre a gramática a seguir.
G = ({A, B, C, D, E}, {+, -, *, /, ^, (, ), x, y, z}, P, A)
P = {A → A+B | A-B | B
B → B*C | B/C | C
C → C^D | D
D → (A) | E
E → x | y | z}
Apresente a Análise Preditiva Tabular da entrada a(e;e) sobre a gramática a seguir.
G = ({S, A, B, C, X, Y}, {a, e, (, ), ;}, P, S)
P = {S → A)
A → CB
B → ;XB | ε
C → Y(X
X → e
Y → a}
Apresente os conjuntos FIRST e FOLLOW das variáveis da gramática a seguir.
G = ({S, X, Y, Z}, {a, b, c, d, e, f}, P, S)
P = {S → XYZ
X → aXb | ε
Y → cYZcX | d
Z → eZYe | f}
Apresente a Análise Preditiva Tabular da entrada abcdac sobre a gramática a seguir.
G = ({S, A, B, C}, {a, b, c, d}, P, S)
P = {S → ABC
A → aA | ε
B → bB | CdA
C → cC | ε}
Apresente a Análise Preditiva Tabular da entrada + / x y * - + x y z x sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → BAA | C
B → + | - | * | /
C → x | y | z}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada + - * / x y z z sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → BAA | C
B → + | - | * | /
C → x | y | z}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada * x * * - x y z sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → BAA | C
B → + | - | * | /
C → x | y | z}
Apresente a Análise Preditiva Tabular da entrada x z y x + - * y x / + sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → AAB | C
B → + | - | * | /
C → x | y | z}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada z z y x / * - + sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → AAB | C
B → + | - | * | /
C → x | y | z}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada z y x - * * x * sobre a gramática a seguir.
G = ({A, B, C}, {+, -, *, /, x, y, z}, P, A)
P = {A → AAB | C
B → + | - | * | /
C → x | y | z}
Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → Bxy | ABz
B → xCy | x
C → y | Cxy | CDz
D → xz | Dzy | xBA}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → Bxy | ABz
B → xCy | x
C → y | Cxy | CDz
D → xz | Dzy | xBA}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → xBy | xBC
B → yCz | yC
C → zDxC | zCxD | zDxB
D → yCxB | yBzA | yCy | yBz}
Apresente a Análise Recursiva com Retrocesso da palavra 0101 sobre a gramática a seguir.
G = ({S, A}, {0, 1}, P, S)
P = {S → AS | A
A → 0 | 1}
Apresente a Análise de Precedência de Operadores, da entrada (a, a, (a, a), a) sobre a gramática a seguir.
G = ({S, L}, {a, ',', (, )}, P, S)
P = {S → (L) | a
L → L,S | S}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada (a; (a; a) a; (a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({S, A, B, C}, {a, b, c,}, P, S)
P = {S → ABc
A → BA | CcB | a
B → ABb | b
C → CA | c}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({S, A, B, C}, {a, b, c,}, P, S)
P = {S → ABc
A → BA | CcB | a
B → ABb | b
C → CA | c}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({W, X, Y, Z}, {a, b, c}, P, W)
P = {W → YaX | Ya | YXZ
X → ZX | Zb | ZXW
Y → aWY | ab
Z → bc | bcX | b}
Apresente a Análise Recursiva com Retrocesso da palavra (a; (a; a); a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Apresente a Análise Preditiva Tabular da entrada (a; (a; a); a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada (a (a; ); a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada (a (a; ); a) sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Apresente a Análise de Precedência de Operadores, da entrada (x . (x + x) . x) sobre a gramática a seguir.
G = ({A, B, C}, {x, +, ., (, )}, P, A)
P = {A → (B) | x
B → B+C | C
C → C.A | A}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada (x (x + x) . (x) sobre a gramática a seguir.
G = ({A, B, C}, {x, +, ., (, )}, P, A)
P = {A → (B) | x
B → B+C | C
C → C.A | A}
Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({S, A, B, C}, {a, b}, P, S)
P = {S → SC | AA | a
A → CA | AB | a
B → AC | b
C → CA | AS | b}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({S, A, B, C}, {a, b}, P, S)
P = {S → SC | AA | a
A → CA | AB | a
B → AC | b
C → CA | AS | b}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({A, B, C, D}, {x, y, z}, P, A)
P = {A → xAB | xAC | xBC
B → CyD | yD | Cy | yDx
C → zCD | Dzx | zC | DzA
D → xA | x | yB}
Apresente a Análise Recursiva com Retrocesso da palavra abbccd sobre a gramática a seguir.
G = ({S, A, B}, {a, b, c, d}, P, S)
P = {S → A
A → a | aB
B → bB | cB | d}
Apresente a Análise de Precedência de Operadores, da entrada "x";"x";"x" sobre a gramática a seguir.
G = ({A, B, C}, {x, ;, "}, P, A)
P = {A → B | B;A
B → "C"
C → x}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada "xx";"";"x"x" sobre a gramática a seguir.
G = ({A, B, C}, {x, ;, "}, P, A)
P = {A → B | B;A
B → "C"
C → x}
Elimine a recursividade à esquerda, considerando a palavra vazia, das produções da gramática a seguir.
G = ({S, X, K, Y}, {x, y, z}, P, S)
P = {S → KY | XK
X → XK | x
K → YK | XX | x
Y → y | z}
Elimine a recursividade à esquerda, desconsiderando a palavra vazia, das produções da gramática a seguir.
G = ({S, X, K, Y}, {x, y, z}, P, S)
P = {S → KY | XK
X → XK | x
K → YK | XX | x
Y → y | z}
Apresente a fatoração a esquerda das produções da gramática a seguir.
G = ({A, B, C, D, E}, {x, y, z}, P, A)
P = {A → yCD | zCD | xEBD | xBD | xD | xEC | xC
B → xE | x
C → yC | zC | xEB | xB | x
D → y | z
E → yCE | zCE | xEBE | xBE | xE | yC | zC | xEB | xB | x}
Apresente a Análise Recursiva com Retrocesso da palavra aabbccdd sobre a gramática a seguir.
G = ({S, A, B}, {a, b, c, d}, P, S)
P = {S → aS | aA
A → bB | bA
B → cB | cC
C → dC | d}
Apresente a Análise Preditiva Tabular da entrada r1: se a_zero então vá_para r4 senão vá_para r2;r2:faça subtrair_a vá_para r3;r3:faça adicionar_b vá_para r1; sobre a gramática a seguir.
G = ({S, C, D, I, A, N, G}, {:, ;, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, r, faça, subtrair_a, adicionar_b, vá_para, se, a_zero, então, senão}, P, S)
P = { S → C | S C
C → A : D ; | A : I ;
D → faça subtrair_a vá_para A | faça adicionar_b vá_para A
I → se a_zero então vá_para A senão vá_para A
A → r N
N → G | N G
G → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada r1: se a_zero então r4 senão vá_para r2;r2:faça vá_para r3;r3:faça adicionar_b vá_para sobre a gramática a seguir.
G = ({S, C, D, I, A, N, G}, {:, ;, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, r, faça, subtrair_a, adicionar_b, vá_para, se, a_zero, então, senão}, P, S)
P = { S → C | S C
C → A : D ; | A : I ;
D → faça subtrair_a vá_para A | faça adicionar_b vá_para A
I → se a_zero então vá_para A senão vá_para A
A → r N
N → G | N G
G → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada r1: se a_zero então r4 senão vá_para r2;r2:faça vá_para r3;r3:faça adicionar_b vá_para sobre a gramática a seguir.
G = ({S, C, D, I, A, N, G}, {:, ;, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, r, faça, subtrair_a, adicionar_b, vá_para, se, a_zero, então, senão}, P, S)
P = { S → C | S C
C → A : D ; | A : I ;
D → faça subtrair_a vá_para A | faça adicionar_b vá_para A
I → se a_zero então vá_para A senão vá_para A
A → r N
N → G | N G
G → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }
Apresente a Análise de Precedência de Operadores, da entrada a AND NOT (b XOR c OR d) XOR e sobre a gramática a seguir.
G = ({A, B, C, D, E, F}, {OR, XOR, AND, NOT, (, ), a, b, c, d, e}, P, A)
P = {A → B OR A | B
B → C XOR B | C
C → D AND C | D
D → NOT E | E
E → ( A ) | F
F → a | b | c | d | e}
Apresente a Análise de Precedência de Operadores, com tratamento de erros, da entrada a NOT (b XOR OR d) e sobre a gramática a seguir.
G = ({A, B, C, D, E, F}, {OR, XOR, AND, NOT, (, ), a, b, c, d, e}, P, A)
P = {A → B OR A | B
B → C XOR B | C
C → D AND C | D
D → NOT E | E
E → ( A ) | F
F → a | b | c | d | e}
Apresente a implementação da Análise Recursiva Preditiva sobre a gramática a seguir.
G = ({S, L}, {a, ;, (, )}, P, S)
P = {S → (L) | a
L → L;S | S}
Apresente a implementação da Análise Recursiva Preditiva sobre a gramática a seguir.
G = ({E, T, F}, {x, &, v, ~, (, )}, P, E)
P = {E → EvT | T
T → T&F | F
F → (E) | ~F | x}
Apresente a Análise Preditiva Tabular, com recuperação de erros em modo pânico, da entrada (a++b)*ab* sobre a gramática a seguir.
G = ({A, B, C, D, E}, {a, b, +, *, (, )}, P, A)
P = {A → A+B | B
B → BC | C
C → D* | D
D → (A) | E
E → a | b | ε}
Apresente a Análise Preditiva Tabular, com recuperação local de erros, da entrada (a++b)*ab* sobre a gramática a seguir.
G = ({A, B, C, D, E}, {a, b, +, *, (, )}, P, A)
P = {A → A+B | B
B → BC | C
C → D* | D
D → (A) | E
E → a | b | ε}
Apresente a Análise de Precedência de Operadores, da entrada w + x * y - z / w sobre a gramática a seguir.
G = ({A, B, C, D, E}, {-, +, /, *, w, x, y, z}, P, A)
P = {A → A-B | B
B → B+C | C
C → C/D | D
D → D*E | E
E → w | x | y | z}
Apresente a Análise de Precedência de Operadores, da entrada w * (x + y) ^ z sobre a gramática a seguir.
G = ({A, B, C, D, E}, {-, +, /, *, ^, (, ), w, x, y, z}, P, A)
P = {A → A+B | A-B | B
B → B*C | B/C | C
C → C^D | D
D → (A) | E
E → w | x | y | z}
Apresente a Análise Preditiva Tabular da entrada ((x + y) ^ (z * y)) / (x - y) sobre a gramática a seguir.
G = ({A, B, C, D, E}, {+, -, *, /, ^, (, ), x, y, z}, P, A)
P = {A → A+B | A-B | B
B → B*C | B/C | C
C → C^D | D
D → (A) | E
E → x | y | z}
Apresente a Análise de Precedência de Operadores, da entrada (a + (b . c) + d) sobre a gramática a seguir.
G = ({A, B, C, D}, {a, b, c, d, +, ., (, )}, P, A)
P = {A → (B)
B → B+C | C
C → C.D | D
D → a | b | c | d | A}