Geral
Compiladores
Semana 4
0

Questão

Dado o seguinte trecho de código na linguagem de programação Python: 

if (x > 0) then
  y = x + 1;
else
  y = x – 1; 

Suponha que você está construindo um analisador sintático descendente LL(1) para essa linguagem. Qual é o próximo passo de análise após reconhecer a produção if (x > 0) then? 

A)

Procurar por um token de lookaheadcorrespondente a uma instrução dentro do bloco then.

B)

Realizar uma redução da produção if_stmt para stmt.

C)

Realizar uma redução da produção stmt para else_stmt.

D)

Realizar uma redução da produção stmt para if_stmt.

E)

Procurar por um tokende lookaheadcorrespondente a else.

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/366/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'WLeI21LYqhOvEbR7Wm7FqyMf22QzqGG2jst8USLgKMT8gzf1aBb8nzDMPtWAgd9g' }, 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'); } }); }