Buscar

compiladores AV

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Disciplina: COMPILADORES AV
Aluno: 
Professor: 
 Turma: 
 
Avaliação:
6,0
Av. Parcial.: Nota SIA:
 
 
 
ENSINEME: ANÁLISE LÉXICA 
 
 1. Ref.: 3990674 Pontos: 0,00 / 1,00
Autômato Finito é formalmente definido por uma quíntupla como por exemplo esta: 
Q = número de estados = {S0, S1, S2, S3,S4,S5} 
 = símbolos de entrada = {A,E,M,O,S} 
 = transições = 
 (S0,S) = S1 
 (S1,E) = S2 
 (S1,O) = S3 
 (S3,M)= S4 
 (S4,A) = S5 
q0 = estado inicial = {S0} 
F = conjunto de estados finais = {S3,S5} 
Sabendo-se que os estados finais quando atingidos caracterizam que a palavra foi
aceita, que palavras seriam aceitas por este autômato? 
 "Se" e "Soma"
"Som" e "Sema" 
"Mesa" e "So" 
 "Mesa" e "Ema" 
"So" e "Sema" 
 
 2. Ref.: 3990678 Pontos: 1,00 / 1,00
O GALS além dos tokens permite a escrita de definição regulares que facilitam a
Σ
δ
δ
δ
δ
δ
δ
Educational Performace Solution EPS ® - Alunos 
javascript:voltar();
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990674.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
construção do tokens. 
Observe a figura abaixo:
Ela faz a especificação de um token chamado ID, qual das opções abaixo apresenta o
único lexema que atende a especificação:
 A3A
AA.
A3
3A
AA3
 
 
ENSINEME: ANÁLISE SEMÂNTICA 
 
 3. Ref.: 3992184 Pontos: 1,00 / 1,00
As árvores como representações intermediárias gráficas são muito utilizadas para armazenar informações que
auxiliam na execução dos passos da etapa de análise da compilação. 
Quanto a estes aspectos podemos afirmar que: 
Arvores de Derivação Anotadas prestam um auxílio valioso à Análise Semântica 
Porque 
Como seus nós possuem atributos associados podem ser validados quanto a vários aspectos, por exemplo, o tipo
de variáveis. 
Com base nas afirmativas acima podemos concluir que:
As duas são corretas e a segunda não justifica a primeira
 As duas são corretas e a segunda justifica a primeira
A primeira é falsa e a segunda correta
A primeira é verdadeira e a segunda falsa
As duas afirmativas são falsas
 
 4. Ref.: 3992188 Pontos: 1,00 / 1,00
As representações intermediárias lineares são utilizadas para produzir o resultado da Análise Semântica. 
As respeito destas representações analise as seguintes afirmativas: 
I. Código de máquina de pilha é um exemplo de código de um endereço 
II. Códigos de um endereço utilizam nomes implícitos 
III. Códigos de dois endereços não utilizam operações destrutivas. 
IV. Código de três endereços possuem o formato básico r ← x op y 
Estão corretas apenas as afirmativas:
II, III e IV {ε} 
II e III
 I, II e IV
I e IV
I, II e III Educational Performace Solution EPS ® - Alunos 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992188.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
 
 
ENSINEME: ANÁLISE SINTÁTICA 
 
 5. Ref.: 3992525 Pontos: 1,00 / 1,00
Enade 2008
Compiladores de linguagens de programação traduzem programas-fonte, em uma linguagem de entrada, para
programas-objeto, em uma linguagem de saída. Durante o processo de tradução, o compilador deve verificar se
as sentenças do programa-fonte estão sintaticamente corretas.
Esse processo de análise sintática pode ser realizado construindo-se uma árvore de análise segundo duas
principais abordagens: top-down, quando a árvore é investigada da raiz às folhas; ou bottom-up, das folhas à
raiz.
Acerca desse assunto, julgue os itens seguintes.
I A análise top-down é adequada quando a linguagem de entrada é definida por uma gramática recursiva à
esquerda.
II Independentemente da abordagem adotada, top-down ou bottom-up, o analisador sintático utiliza informações
resultantes da análise léxica.
III Se os programas em uma linguagem podem ser analisados tanto em abordagem top-down como em bottom-
up, a gramática dessa linguagem é ambígua.
IV A análise bottom-up utiliza ações comumente conhecidas como deslocamentos e reduções sobre as sentenças
do programa-fonte.
Estão certos apenas os itens
I e III
I, III e IV
II, III e IV
 II e IV
I e II
 
 6. Ref.: 3992520 Pontos: 0,00 / 1,00
Considere a seguinte gramática:
E → +EE
E → *EE
E → a
E → b
Podemos afirmar que ela somente pode ser analisada por um Parser Descendente Preditivo
Porque
Ela está fatorada e sem recursão à Esquerda
Como base nas afirmativas acima podemos concluir que:
 As duas são corretas e a segunda justifica a primeira
A primeira é verdadeira e a segunda falsa
 A primeira é falsa e a segunda correta
As duas são corretas e a segunda não justifica a primeira
As duas afirmativas são falsas
 
 
ENSINEME: GERAÇÃO DE CÓDIGO 
 Educational Performace Solution EPS ® - Alunos 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992525.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992520.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
 7. Ref.: 3993093 Pontos: 0,00 / 1,00
A alocação de registradores junto com a seleção de instruções são atividades fundamentais na geração do código
de montagem. Ela possui um impacto enorme no desempenho do programa já que ao se utilizar os registradores
para minimizar o acesso a memória torna a execução mais eficiente.
Considerando que temos uma máquina com dois registradores (r0 e r1) e com o conjunto de instruções do
quadro abaixo
Sub r0 bMove r0 a
Move r1 c
Add r1 r0
Move x r1
Move r1 d
Mult r1 e
Add r0 f
Move y r1
Add x r1
Move x r1
Move z r0
Move w r1
Podemos afirmar que:
A instrução Move y r1 foi necessária para derramar o conteúdo de r1 em Y
Porque
Era necessário liberar o um registrador para poder continuar a execução do programa da forma mais eficiente.
Com base nas afirmativas acima podemos concluir que:
 As duas são corretas e a segunda justifica a primeira
 As duas são corretas e a segunda não justifica a primeira
As duas afirmativas são falsas
A primeira é falsa e a segunda correta
A primeira é verdadeira e a segunda falsa
 
Educational Performace Solution EPS ® - Alunos 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993093.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
 8. Ref.: 3993113 Pontos: 0,00 / 1,00
Computadores modernos fazem amplo uso do multiprocessamento , pois possuem vários núcleos o que permite
a execução em paralelo de várias instruções de um mesmo programa.
Este recurso pode ser utilizado na otimização do código para partir da diminuição da altura da árvore sintática e
a alocação das operações nos vários núcleos.
Dentro desta concepção analise a Árvore Sintática abaixo que se originou de outra árvore de altura maior
Com base na análise podemos afirmar que:
 
Está árvore é uma tentativa de utilizar o multiprocessamento para a sequência de operações
Porém
A otimização não irá funcionar já que ela possui operadores diferentes em seus nós internos
 
Com base nas afirmativas acima podemos concluir que:
As duas são corretas e a segunda não justifica a primeira
A primeira é falsa e a segunda correta
As duas afirmativas são falsas
 As duas são corretas e a segunda justifica a primeira
 A primeira é verdadeira e a segunda falsa
 
 
ENSINEME: O COMPILADOR 
 
 9. Ref.: 7674284 Pontos: 1,00 / 1,00
(EMPREL/2019 - Adaptada) Qual é o componente de um compilador que lê um fluxo de entrada (caracteres) e
produz um fluxo de saída que contém palavras das quais cada uma é rotulada com sua categoria sintática,
equivalente a uma classe gramatical da palavra na linguagem do programa fonte?
 Analisador Léxico.
Otimizador.
Analisador Sintático.
Gerador de CódigoIntermediário.
Analisador Semântico.
 
 10. Ref.: 3990553 Pontos: 1,00 / 1,00
Os compiladores, de um modo geral, são compostos de funções padronizadas, as quais
compreendem a análise do programa fonte e então a síntese para a derivação do código
objeto. 
O processo de compilação é comumente estruturado em passos que, eles são: 
reconhecimento dos tokens iniciais e finais, análise contextual, aplicação deEducational Performace Solution EPS ® - Alunos 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993113.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7674284.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
algoritmo de escalonamento, geração de código intermediário e geração de código
objeto. 
simplificação do programa fonte, aplicação de algoritmo de escalonamento, análise
contextual, geração e otimização de código. 
 análise léxica, análise sintática, análise semântica, geração de código intermediário,
otimização de código e geração de código.
análise da gramática, busca binária, geração de código intermediário, geração de
objeto final. 
análise léxica, análise sintática, análise semântica, síntese do programa fonte e
reutilização de tokens. 
 
 
 
Educational Performace Solution EPS ® - Alunos 
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')

Mais conteúdos dessa disciplina