Prévia do material em texto
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 1/6
Disciplina: COMPILADORES AV
Aluno: NATÁLIA CRISTINA CLAUDINO DA SILVA 202108421367
Professor: MAIARA HEIL CANCIAN
Turma: 9004
CCT0838_AV_202108421367 (AG) 05/05/2023 15:46:23 (F)
Avaliação: 10,00 pts Nota SIA: 10,00 pts
ENSINEME: ANÁLISE LÉXICA
1. Ref.: 3990679 Pontos: 1,00 / 1,00
Diagramas de Sintaxe são forma grá�cas e alternativas para representar as especi�cações de tokens, sem
precisa recorrer as Expressões Regulares ao BNF.
Considere o diagrama de Sintaxe abaixo:
Que expressão regular faria exatamente a mesma de�nição no GALS?
Inteiro : [Digito]+
Inteiro : [Digito]*
Inteiro : [0-9]+
Inteiro : [0-9]?
Inteiro : [0-9]*
2. Ref.: 3990678 Pontos: 1,00 / 1,00
O GALS além dos tokens permite a escrita de de�nição regulares que facilitam a construção do tokens.
Observe a �gura abaixo:
Ela faz a especi�cação de um token chamado ID, qual das opções abaixo apresenta o único lexema que
atende a especi�cação:
3A
A3A
AA.
AA3
A3
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990679.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 2/6
ENSINEME: ANÁLISE SEMÂNTICA
3. Ref.: 3992184 Pontos: 1,00 / 1,00
As árvores como representações intermediárias grá�cas 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 a�rmar 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 a�rmativas acima podemos concluir que:
As duas são corretas e a segunda justi�ca a primeira
As duas são corretas e a segunda não justi�ca a primeira
As duas a�rmativas são falsas
A primeira é verdadeira e a segunda falsa
A primeira é falsa e a segunda correta
4. Ref.: 3992187 Pontos: 1,00 / 1,00
A determinação das dependências de uma árvore anotada e o tipo dos atributos limitam a escolha do esquema de
tradução a ser utilizado.
Considere a árvore abaixo e seu respectivo grafo de dependência (setas azuis)
Ao analisarmos a situação podemos a�rmar:
Somente poderá ser utilizado um Esquema S-atribuído
Porque
No esquema S-atribuído todos os atributos são sintetizados
Com base nas a�rmativas podemos concluir que:
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992187.');
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 3/6
As duas a�rmativas são falsas
A primeira é falsa e a segunda correta
As duas são corretas e a segunda justi�ca a primeira
As duas são corretas e a segunda não justi�ca a primeira
A primeira é verdadeira e a segunda falsa
ENSINEME: ANÁLISE SINTÁTICA
5. Ref.: 3992528 Pontos: 1,00 / 1,00
Enade 2017
Em um compilador, um analisador sintático descendente preditivo pode ser implementado com o auxílio de uma
tabela construída a partir de uma gramática livre de contexto. Essa tabela, chamada tabela LL(k), indica a regra de
produção a ser aplicada olhando-se o k-ésimo próximo símbolo lido, chamado lookahead(k). Por motivo de e�ciência,
normalmente busca-se utilizar k=1.
Considere a gramática livre de contexto G=(X,Y,Z,a,b,c,d,e,P,X)G=(X,Y,Z,a,b,c,d,e,P,X), em que PP é composto pelas
seguintes regras de produção:
X→aZbXY|c
Y→dX|ε
Z→e
Considere, ainda, a seguinte tabela LL(1), construída a partir da gramática GG, sendo $$ o símbolo que representa o
�m da cadeia. Essa tabela possui duas produções distintas na célula (Y,d)(Y,d), gerando, no analisador sintático, uma
dúvida na escolha da regra de produção aplicada em determinados momentos da análise.
Considerando que o processo da construção dessa tabela LL(1), a partir da gramática GG, foi seguido corretamente,
a existência de duas regras de produção distintas na célula (Y,d), neste caso especí�co, resulta
da ausência do símbolo de �m de cadeia ($) nas regras de produção.
da presença de duas regras de produção com um único terminal no corpo.
da presença de duas regras de produção com o mesmo não terminal na cabeça.
do uso incorreto do símbolo de cadeia vazia (ε) nas regras de produção.
de um não determinismo causado por uma ambiguidade na gramática.
6. Ref.: 3992462 Pontos: 1,00 / 1,00
ANO: 2012 BANCA: CESGRANRIO ÓRGÃO: TRANSPETRO PROVA: ANALISTA DE SISTEMAS -
INFRAESTRUTURA DE TI
Um compilador é um programa que executa vários passos, dentre os quais o de analisar uma sequência de entrada
para determinar sua estrutura gramatical segundo uma determinada gramática formal.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992528.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992462.');
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 4/6
O resultado típico dessa análise é uma estrutura conhecida como:
Árvore sintática
Árvore AVL
Gramática livre de contexto
Fluxo (stream) de tokens
Gramática dirigida a sintaxe
ENSINEME: GERAÇÃO DE CÓDIGO
7. Ref.: 3993093 Pontos: 1,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 e�ciente.
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
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993093.');
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 5/6
Move z r0
Move w r1
Podemos a�rmar 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 e�ciente.
Com base nas a�rmativas acima podemos concluir que:
As duas são corretas e a segunda justi�ca a primeira
As duas são corretas e a segunda não justi�ca a primeira
A primeira é falsa e a segunda correta
As duas a�rmativas são falsas
A primeira é verdadeira e a segunda falsa
8. Ref.: 3993113 Pontos: 1,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 a�rmar 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 a�rmativas acima podemos concluir que:
A primeira é falsa e a segunda correta
As duas são corretas e a segunda justi�ca a primeira
As duas são corretas e a segunda não justi�ca a primeira
A primeira é verdadeira e a segunda falsa
As duas a�rmativas são falsas
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993113.');
17/06/2023, 15:12 EPS
https://simulado.estacio.br/alunos/ 6/6
ENSINEME: O COMPILADOR
9. Ref.: 7674284 Pontos: 1,00 / 1,00
(EMPREL/2019 - Adaptada) Qual é o componente de um compilador que lê um �uxo de entrada (caracteres) e
produz um �uxo 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?
Gerador de Código Intermediário.
Otimizador.
Analisador Semântico.
Analisador Sintático.
Analisador Léxico.
10. Ref.: 3990550 Pontos: 1,00 / 1,00
O componente do processo de tradução que a partirdos programas objetos gera o módulo de carga é o:
Montador
Compilador
Carregador
Interpretador
Ligador
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7674284.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990550.');