Buscar

Teste de Conhecimento em Compiladores

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 8 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 8 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

Prévia do material em texto

COMPILADORES
	
		
	
	
	
	
	 
	 
	 
	
	
	
		Aluno: 
	Matr.: 
	Disc.: COMPILADORES 
	2022.2 (G) / EX
		Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	ANÁLISE SEMÂNTICA
	 
		
	
		1.
		Por melhor que seja a fórmula de hashing adotada na implementação de uma tabela de símbolos usando uma tabela hash, as colisões sempre irão ocorrer. 
Quando estas ocorrem se torna necessário fazer o seu tratamento. 
Este tratamento pode ser realizado de várias formas e uma preocupação constante deve ser o de minimizar o tempo de resposta e poupar o espaço de armazenamento. 
Quanto a estes aspectos analise as afirmativas abaixo: 
I. no hash aberto os símbolos que colidem são encadeados em uma lista apontada pelo slot que a fórmula calculou 
II. no endereçamento aberto é realizado um rehashing para determinar o novo slot para o símbolo que causou a colisão 
III. o hash de balde utiliza duas fórmulas de hashing para tratar a colisão 
IV. Para minimizar o espaço de armazenamento pode ser utilizada uma pilha para armazenar os símbolos que colidiram no hash aberto 
É correto o que se afirma apenas em:
	
	
	
	I e III
	
	
	II, III e IV
	
	
	I, II e III
	
	
	I e II
	
	
	I, II e IV
	Data Resp.: 12/09/2022 10:46:05
		Explicação:
Resposta correta: I, II e IV
	
	
	 
		
	
		2.
		Apesar de ser considerada o terceiro passo da etapa de análise, a Análise Semântica é normalmente realizada de forma concomitante com a Análise Sintática, sendo que o parser vai executar as ações semânticas estabelecidas para as produções da gramática.  
A respeito da situação descrita podemos afirmar que: 
I. Quando um esquema de tradução não produz efeitos colaterais ele é chamado de Gramática de Atributos.   
II. O Esquema de Tradução corresponde a uma restrição aplicada a  Gramática Livre de Contexto (GLC) que define a linguagem de programação. 
III. A Tradução Dirigida por Sintaxe é a técnica que permite realizar a Análise Semântica de forma concomitante com a análise sintática. 
É correto o que se afirma apenas em:
	
	
	
	II e III
	
	
	I e II
	
	
	I e III
	
	
	III
	
	
	I
	Data Resp.: 12/09/2022 10:47:08
		Explicação:
Resposta correta: II e III
	
	
	O COMPILADOR
	 
		
	
		3.
		Os compiladores são responsáveis por abstrair a complexidade da programação e proporcionar uma vida mais tranquila para os desenvolvedores. Sobre a análise léxica e sintática executadas pelos compiladores, assinale a opção correta.
	
	
	
	Um analisador léxico serve como o passo final de um analisador sintático.
	
	
	Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática. 
	
	
	Os analisadores léxico e sintático somente se comunicam via tabela de simbolos.
	
	
	Um analisador léxico gera a entrada para o analisador sintático.
	
	
	O analisador sintático processa diretamente o programa fonte a procura de erros. 
	Data Resp.: 12/09/2022 10:47:37
		Explicação:
O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de suas responsabilidades é gerar a entrada para o analisador sintático.
	
	
	 
		
	
		4.
		O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o :
	
	
	
	Interpretador 
	
	
	Compilador 
	
	
	Ligador 
	
	
	Carregador 
	
	
	Montador 
	Data Resp.: 12/09/2022 10:48:01
		Explicação:
A resposta correta é: Montador.
	
	
	ANÁLISE LÉXICA
	 
		
	
		5.
		Os Meta-caracteres são caracteres especiais na especificação de Expressões Regulares, que aumentam muito sua expressividade. Eles podem ser quantificadores, definidores de classes de caracteres, definidores de lista etc.... 
O Meta-caracter que corresponde  a seguinte classe [A-Za-z0-9] é o   
A ordem correta dos passos durante a compilação é: 
	
	
	
	\d
	
	
	\C
	
	
	\W
	
	
	\c 
	
	
	\w
	Data Resp.: 12/09/2022 10:48:24
		Explicação:
A resposta correta é: \w
	
	
	 
		
	
		6.
		 O GALS é um gerador de analisadores léxicos que a partir de expressões regulares cria um autômato finito determinístico que as analisa. 
Para que possa funcionar ele deve ter os seus tokens especificados.  
Como seria a especificação do token no GALS para identificadores (Id) formados pela primeira letra maiúscula sendo seguido de pelo menos uma ou mais letras minúsculas deverá existir pelo menos um letra?
	
	
	
	Id:[A-Z] [a-z]*.
	
	
	Id:[A-Z] [a-z]+.
	
	
	Id: [A-Za-z]+
	
	
	Id:[A-Z]*   
	
	
	Id:[a-z]+ 
	Data Resp.: 12/09/2022 10:49:03
		Explicação:
A resposta correta é: Id:[A-Z] [a-z]+.
	
	
	ANÁLISE SINTÁTICA
	 
		
	
		7.
		Considere a seguinte gramática
S → XYZ
X → aXb | ε
Y → cYZcX | d
Z → eZYe | f
Levando-se em conta a necessidade de criar a tabela sintática, seriam gerados os conjuntos First e Follow de cada um dos não terminais.
Qual seria o conjunto First de S?
	
	
	
	{a, c, d}
	
	
	{ a, d}
	
	
	{a, c, d, e}
	
	
	{a, c, e}
	
	
	{c, d, e}
	Data Resp.: 12/09/2022 10:50:03
		Explicação:
Resposta correta:  {a, c, d}
	
	
	 
		
	
		8.
		ANO: 2010 BANCA: CESPE ÓRGÃO: INMETRO PROVA: PESQUISADOR - CIÊNCIAS DA COMPUTAÇÃO
Considere que, em uma linguagem de programação hipotética, um comando condicional IF exija o uso de THEN, representando a cláusula então. Nesse caso, se a instrução THEN não for usada no código fonte, uma resposta do compilador na identificação do erro de programação estará
	
	
	
	no nível lógico
	
	
	no nível semântico
	
	
	no nível sintático
	
	
	no nível léxico
	
	
	nos níveis sintático e semântico, ao mesmo tempo
	Data Resp.: 12/09/2022 10:50:37
		Explicação:
Resposta correta: no nível sintático
	
	
	GERAÇÃO DE CÓDIGO
	 
		
	
		9.
		Procedimentos são rotinas que complementam as funcionalidades de um programa.
Quando um procedimento é chamado um Registro de Ativação é criado e colocado na pilha.
Neste registro são armazenadas a variáveis locais, o contexto e os parametrosdo procedimento.
Com base nisso considere a seguinte expressão onde p1 e p2 são funções
x = p1 (a, p2(b));
Sabendo-se que o código abaixo mostra a implementação do trecho em código intermediário em que ?1, ?2, ?3 e ?4 representam partes faltantes do código .
 
param a
param b
_t1 := call ?1, ?2
param _t1
x := call ?3, ?4
 
Quais seriam os valores de ?1, ?2, ?3 e ?4 respectivamente?
	
	
	
	p1 - 1 - p2 - 2
	
	
	p1 - 2 - p2 - 1
	
	
	p2 - 2 - p1 - 1
	
	
	p2 - 1 - p1 - 2
	
	
	p2 - 2 - p1 - 2
	Data Resp.: 12/09/2022 10:52:17
		Explicação:
Resposta correta: p2 - 1 - p1 - 2
	
	
	 
		
	
		10.
		Existem varios tipos de representações intermediárias tanto graficas como textuais.
Durante a fase de síntese a Geração de Código Intermediário irá transformar o resultado da fase de análise em uma outra representação.
Uma das formas de representação intermediária é a notação posfixa.
Considerando a seguinte expressão em notação infixa (a+b)*(c+d)
qual seria a notação posfixa correspondente?
	
	
	
	a b + c d + *
	
	
	a b + * c d +
	
	
	a b * + c d +
	
	
	a b * c d + +
	
	
	a b + c d * +
	Data Resp.: 12/09/2022 10:52:53
		Explicação:
Resposta correta: a b + c d + *

Continue navegando