Escolar Documentos
Profissional Documentos
Cultura Documentos
Pergunta 1
Supondo a expresso dada pela rvore sinttica abaixo, assinale a
alternativa que corresponde ao cdigo intermedirio gerado na forma
de qudruplas.
a)
b)
c)
d)
Resultado
Operador
Oper_1
Oper_2
t1
t2
-U
t3
t2
Resultad
o
Operador
Oper_1
Oper_2
t1
-U
t2
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
Resultad
o
-U
Operador
d
Oper_1
Oper_2
t1
d)
Pergunta 2
Aspectos como a obrigatoriedade de declarao antes do uso,
compatibilidade de tipos durante atribuies ou mesmo a adequao
as regras de escopo na utilizao dos identificadores, so exemplos
de questes que esto alm do domnio sinttico de uma linguagem
de programao. Assim a anlise semntica responsvel,
fundamentalmente, por realizar trs tarefas bsicas: construir uma
descrio dos tipos e estruturas de dados definidas pelo
programador; armazenar informaes sobre os identificadores; e
verificar os tipos e demais aspectos dependentes de contexto na
estrutura do programa.
Acerca da anlise semntica de programas, assinale a alternativa
correta.
a) Considera-se portanto que so atribuies do componente semntico de um
compilador as tarefas de verificar o emprego correto dos identificadores, no
que diz respeito ao seu escopo de uso, tipagem e declarao prvia. Deste
modo, em linguagens ditas fracamente tipadas a fase de anlise semntica
do em compilador inexistente, uma vez que no necessitam definir o tipo
de
uma
varivel
e
tampouco
declar-la
antecipadamente.
Pergunta 3
Em uma Gramtica de Atributos podemos classificar cada um de seus
atributos em duas categorias, herdados e sintetizados, de acordo com
o smbolo a quem esto associados durante o seu clculo. Os
chamados atributos herdados so aqueles que aparecem ligados a
elementos posicionados a direita do sinal de derivao, ou seja, em
uma regra na forma A, seriam os atributos ligados a qualquer
smbolo da sentena . Por sua vez, os atributos ditos sintetizados
so aqueles que aparecem associados ao elemento da esquerda do
sinal de derivao, isto , para o nosso exemplo, seriam aqueles que
estiverem associados ao smbolo A. A respeito dos atributos analise
os itens a seguir e assinale a alternativa correta.
Entre outros aspectos, a categorizao dos atributos
importante pois permite determinar o sentido em que devemos
percorrer a rvore sinttica para calcul-lo. No caso dos
atributos herdados, como o prprio nome sugere, seu valor
calculado a partir de elementos hierarquicamente superiores da
rvore e dos quais este valor deriva.
i)
Pergunta 4
So tarefas de responsabilidade de um montador Assembler:
A substituio dos mnemnicos pelos opcodes numricos do
conjunto ISA (Instruction Set of Architecture), seguindo uma
tabela de associaes que relaciona o mnemnico com a
instruo-alvo.
i)
Pergunta 5
Um analisador sinttico dito ascendente aquele que processa a
cadeia de entrada e constri sua rvore de derivao de baixo para
cima, ou seja, partindo dos smbolos do programa (as folhas da
rvore) em direo ao smbolo inicial da gramtica (raiz). A esse
respeito analise cada uma das afirmativas a seguir e marque a
alternativa correta.
Por conta de sua forma peculiar de construo da rvore, os
passos executados pelo analisador correspondem ao processo
de derivao conhecido como mais direita (right-most)
invertido. O processo mais direita aquele em que sempre
derivamos o smbolo no-terminal mais direita antes dos
demais. E dito invertido para que a entrada possa ser
processada de maneira natural, isto , a leitura dos smbolos de
entrada sendo feito do incio para o fim do arquivo.
i)
Pergunta 6
A respeito dos Carregadores (Loaders) incorreto afirmar:
a) Avaliar a quantidade de memria necessria ao programa e
solicit-la ao SO.
b) Copiar o programa para a memria principal e preparar sua
execuo.
c) Ajustar os endereos do cdigo executvel de acordo com a
posio base de carregamento.
d) Resolver os endereos de cdigo dinamicamente em situaes
de swapping, pois os processos no necessariamente retornam
a mesma posio.
e) Reunir os mdulos objeto em um nico elemento chamado de
mdulo absoluto de carga.
Pergunta 7
Supondo o comando: delta = b * b 4 * a * c; (em C) assinale a
alternativa que corresponde a uma das possveis verses de cdigo
intermedirio dado na forma de qudruplas para este comando.
a.
b.
c.
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
t3
-4
t2
t4
t1
t3
:=
t4
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
t3
t2
t4
-U
t3
t5
t1
:=
t5
t3
Resultad
o
Operador
Oper_1
Oper_2
t1
-4
t2
t1
t3
t4
t1
t3
:=
t4
d.
e.
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
-4
t3
t1
t2
:=
t3
Resultad
o
Operador
Oper_1
Oper_2
t1
t2
-4
t1
t2
Oper_3
Oper_3
Pergunta 8
A tabela de smbolos uma estrutura de dados que tem por propsito
armazenar todos os nomes declarados pelo programador juntamente
com os seus respectivos atributos. considerada fundamental para o
processo de compilao, pois participa de vrias etapas do processo
inclusive para a gerao de cdigo. Durante a anlise semntica o
compilador busca nesta tabela as informaes sobre os
identificadores que participam de suas anlises, como por exemplo,
para recuperar os tipos dos identificadores envolvidos no clculo de
uma expresso com o propsito de verificar a compatibilidade entre
eles.
Sobre a tabela de smbolos e a anlise semntica incorreto afirmar
que:
a) Questes relacionadas a declarao prvia dos identificadores, escopo de utilizao e
a verificao dos argumentos informados como parmetro durante a chamada de uma
sub-rotina so aspectos pertinentes ao componente semntico de tempo de execuo.
Pergunta 9
Um dos tipos de analisadores ascendentes o conhecido como LR(1), que constri a rvore
sinttica do programa realizando redues atravs das regras da gramtica geradora da
linguagem. Considerando o estado corrente do mecanismo reconhecedor (um autmato de
pilha) e apenas um smbolo da entrada possvel determinar com preciso qual a regra
apropriada e que de ser aplicada em cada momento do processo de anlise do programa.
A construo desse autmato comea com uma ampliao das regras da gramtica, as quais
acrescenta-se uma nova regra que sinalize o incio do processo de derivao e permita
diferenciar qualquer ocorrncia do smbolo inicial daquela que se configura como raiz da rvore
sinttica.
Adicionalmente caracterizamos os diferentes momentos de derivao de uma regra atravs de
uma representao na forma de item. Num item dado por A, o marcador sinaliza os
smbolos que j foram encontrados pelo parser (os smbolos de ) e tambm aqueles que
ainda faltam para que a regra tenha sido completamente derivada (a sequncia correspondente
a ). Quando todos os smbolos tiverem sido encontrados, ou seja, tivermos um item na forma
A possvel ento realizar a reduo da sequncia correspondente por A.
Supondo a gramtica dada a seguir:
(4) T int,
(6) L L , id
(3) D TL,
(7) L id }
Sabendo que j encontra-se aumentada pela incluso da regra 0, assinale a alternativa que
corresponde ao primeiro estado (inicial) do autmato de reconhecimento deste analisador.
a.
Estado 0:
S V
b.
Estado 0:
S V
V D ; V
V D
c.
Estado 0:
S V
V D ; V
V D
D TL
T int
T float
L L , id
L id
d.
Estado 0:
S V
V D ; V
V D
D TL
T int
T float
e.
Estado 0:
S V
V D ; V
V D
D TL
L L , id
Pergunta 10
O Linker tem a tarefa de reunir em um nico programa os vrios
mdulos objeto obtidos a partir da traduo dos diferentes arquivos
fontes que compe o programa. Esse arquivo resultante, dado por
todas as partes devidamente encaixadas, damos o nome de Mdulo
Absoluto de Carga. Durante esse processo o linker deve ser capaz de
resolver as chamadas Referncias Cruzadas, isto , referncia a
elementos externos ao mdulo corrente e so conhecidos apenas
aps a ligao do mdulos. Tendo em mente estas atribuies,
incorreto afirmar que cabe ao Linker:
a) Construir uma tabela com todos os mdulos objeto e registrar
seus respectivos comprimentos.
b) Atribuir um endereo de carga a cada mdulo objeto, que
identificar sua posio dentro do mdulo de carga.
c) Relocar todas as instrues que contm um endereo,
adicionando ao seu endereo uma constante de relocao (que
o endereo inicial de cada mdulo).
d) Encontrar todas as instrues que referenciam outros
procedimentos e inserir nelas o endereo absoluto dos mesmos.
e) Copiar o mdulo de carga para a memria principal, preparando
o programa para a sua execuo.
QUESTOES EXTRAS
A memria um recurso controlado pelo sistema operacional e um programa no deve ter
posies de memria fixas e pr-estabelecidas para que funcione corretamente. Usualmente o
programador desenvolve seu cdigo despreocupado de qual ser sua localizao na memria,
pois caber ao sistema resolver os problemas relacionados com posicionamento do cdigo
quando colocar o programa na memria para execuo. Este processo de resoluo de
endereos chamado de relocao.
A atividade de relocao realizada conjuntamente por montadores e carregadores. Os
montadores so encarregados de marcar as posies no cdigo-objeto passveis de alterao,
enquanto os carregadores devem reservar espao suficiente na memria para receber o cdigo
de mquina e atualizar suas posies a partir da localizao base do programa na memria.
A esse respeito analise as afirmativas a seguir e assinale a alternativa correta.
i) As referncias aos smbolos externos devem estar presentes no mdulo-objeto e podem
ocorrer quanto um smbolo referenciado no segmento, mas, definido, ocorre em outro
segmento (descrito como uma referncia externa), ou ainda, quando um smbolo definido
neste segmento e poder ser referenciado em outro segmento (descrito como uma definio
local de um smbolo externamente referencivel).
ii) o Dicionrio de Smbolos Externos contm todos os smbolos que esto envolvidos no
processo de resoluo de referncias entre segmentos: smbolos associados a referncias
externas, a definies locais ou a definies de segmentos.
iii) o Diretrio de Relocao e Ligao indica, para cada segmento, quais posies devero ter
seus contedos atualizados, de acordo com o posicionamento em memria deste e de outros
segmentos.
a. Apenas o item i verdadeiro.
b.
c.
Os itens i e ii so verdadeiros.
d.
e.
A sintaxe geralmente definida por uma Gram. Livre de Contexto, mas estas no so capazes
de descrever aspectos sobre a compatibilidade de tipos ou regras de escopo de identificadores.
Analise as informaes a seguir e assinale a alternativa correta.
i) Uma Gramtica de Atributos uma gramtica livre de contexto estendida com regras de
clculo e/ou aes semnticas de modo a fornecer sensitividade ao contexto atravs de
elementos chamados de atributos, que esto associados aos smbolos terminais e no
terminais utilizados na regra de produo.
ii) Um atributo qualquer propriedade da estrutura da linguagem que se deseja quantificar ou
caracterizar, como por exemplo, o tipo e o escopo das variveis, valores de expresses, etc.
iii) O valor dos atributos estabelecido tomando como base a rvore sinttica explcita do
programa e podem ser calculados tanto em tempo de compilao quanto em tempo de
execuo, de acordo com a propriedade que representam.
a. Apenas o item i verdadeiro.
b.
c.
Os itens i e ii so verdadeiros.
d.
e.
c.
Os itens i e ii so verdadeiros.
d.
e.
c.
Os itens i e ii so verdadeiros.
d.
e.