Geral
Compiladores
Semana 4
0

Questão

Considere uma gramática livre de contexto para uma linguagem de programação. Você está construindo um analisador sintático descendente LL(1) para essa gramática. Qual das seguintes afirmações é verdadeira sobre a análise LL(1)? 

A)

A análise LL(1) não permite recursão à esquerda na gramática.

B)

A análise LL(1) funciona apenas para gramáticas ambíguas.

C)

A análise LL(1) usa a técnica de redução para construir a árvore de análise.

D)

A análise LL(1) é baseada em lookahead, olhando apenas um símbolo à frente.

E)

A análise LL(1) é sempre mais eficiente do que a análise LR(1). 

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/365/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': '2yFtUfMoAejZLqiNV8Y0zUFLGm4Xw6yDDj5liVt9Z9KroenZi0znigj9PVdbHL3v' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }