Compiladores
Semana 5Questão
A você foi dada a incumbência de escrever um compilador para uma linguagem de programação que permite a declaração de variáveis com o mesmo nome em diferentes escopos. Sobre essa situação, avalie as seguintes assertivas:
I. Nesse caso, a tabela de símbolos pode conter várias entradas com o mesmo nome, mas em diferentes escopos.
II.
Quando uma variável é referenciada em um programa, o compilador deve
usar a regra de "escopo mais próximo" para determinar qual variável com o
mesmo nome é acessada.
III.
A ordem de declaração das variáveis não afeta o resultado, já que o
compilador usa apenas o escopo mais próximo para determinar a variável a
ser acessada.
IV.
Em linguagens que permitem sombreamento de variáveis (variáveis com o
mesmo nome em escopos diferentes), a tabela de símbolos deve manter
informações sobre os escopos em que cada variável foi declarada.
V.
O uso de variáveis com o mesmo nome em diferentes escopos pode causar
ambiguidades e erros semânticos, e o compilador deve tratá-los
adequadamente.
Assinale a alternativa com a ordem correta: