Geral
Compiladores
Semana 5
0

Questão

Sobre a tabela de símbolos no processo de estruturação de um compilador, avalie as seguintes assertivas e classifique-as em verdadeiras (V) ou falsas (F): 

(I) A tabela de símbolos é uma estrutura de dados que armazena informações sobre variáveis, funções e outros identificadores em um programa.
(II) Cada entrada na tabela de símbolos geralmente contém informações como o nome do identificador, seu tipo, seu escopo e seu endereço de memória (caso aplicável).
(III) A tabela de símbolos é usada apenas durante a análise sintática para verificar a corretude sintática do código-fonte.
(IV) Em linguagens de programação, o escopo de um identificador pode afetar sua visibilidade e acessibilidade em diferentes partes do código.
(V) Uma tabela de símbolos bem implementada deve garantir que não haja conflitos de nome entre diferentes identificadores. 

Assinale a alternativa com a ordem correta: 

 

A)

V, V, V, V, F

B)

F, V, V, V, V 

C)

V, V, F, V, F

D)

F, F, V, F, V

E)

V, V, F, V, V 

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