Buscar

NC compiladores 2023

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

Disciplina: COMPILADORES  NC
Aluno: ALBENIDES FERNANDES DE LIMA 201901298426
Professor: MARIA CLAUDIA ROENICK GUIMARAES
 
Turma: 9001
CCT0838_NC_201901298426 (AG)   07/11/2023 10:20:40 (F) 
Avaliação: 9,00 pts de 10,00 Nota SIA: 7,00 pts
Estação de trabalho liberada pelo CPF 07602463358 com o token 752134 em 07/11/2023 10:04:11.
 
ENSINEME: ANÁLISE LÉXICA  
 
 1. Ref.: 3990675 Pontos: 1,00  / 1,00
Expressões regulares podem ser representadas por autômatos �nitos. Considere o autômato abaixo:
Este autômato é não determinístico já que apresenta  transições e corresponde a seguinte expressão
regular: 
"b"
"a"  
 (ab)* 
"ab"
 "a|b"  
 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:
AA3
 A3A
AA.
∈
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990675.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990675.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
A3
3A
 
ENSINEME: ANÁLISE SEMÂNTICA  
 
 3. Ref.: 3992183 Pontos: 1,00  / 1,00
As árvores de sintaxe são a forma mais comum de representação intermediária grá�ca. Dentre estas árvores temos
as de Derivação, Sintática e Derivação Anotada. 
Com relação a estas árvores avalie as a�rmativas abaixo: 
I. Decorar uma Árvore é colocar os atributos nos símbolos da Árvore Sintática 
II. A Árvore Sintática é obtida eliminando-se os nós referentes aos símbolos não terminais na árvore de derivação 
III. A árvore de Derivação possui em suas folhas apenas símbolos não terminais 
Podemos a�rmar que está correto o que se a�rma apenas em: 
 II
I e III
 I e II
II e III
III
 4. Ref.: 7808680 Pontos: 1,00  / 1,00
(Transpetro/2012) 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.
O resultado típico dessa análise é uma estrutura conhecida como
�uxo (stream) de tokens
 árvore sintática
gramática dirigida a sintaxe
gramática livre de contexto
árvore AVL
 
ENSINEME: ANÁLISE SINTÁTICA  
 
 5. Ref.: 7807510 Pontos: 1,00  / 1,00
(FCC/2012) Analise o texto:
Na compilação, a análise consiste em três fases. Em uma das fases, os caracteres ou tokens são agrupados
hierarquicamente em coleções aninhadas com signi�cado coletivo. Essa fase envolve o agrupamento dos tokens do
programa fonte em frases gramaticais, que são usadas pelo compilador, a �m de sintetizar a saída. Usualmente, as
frases gramaticais do programa fonte são representadas por uma árvore gramatical.
A fase citada no texto é conhecida como análise:
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992183.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992183.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808680.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808680.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807510.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807510.');
binária.
linear.
 sintática.
léxica.
semântica.
 6. Ref.: 7807519 Pontos: 0,00  / 1,00
A Hierarquia de Chomsky é uma classi�cação de gramáticas formais desenvolvida pelo linguista Noam Chomsky. Ela
divide as gramáticas em 4 classes, baseadas na complexidade da estrutura sintática que elas permitem representar.
Nesse contexto, qual é a de�nição de uma gramática ambígua?
Uma gramática que não tem regras de�nidas para determinados símbolos terminais.
 Uma gramática que tem mais de uma maneira de derivar a mesma palavra ou frase.
 Uma gramática que tem mais de uma maneira de interpretar a mesma palavra ou frase.
Uma gramática que tem mais de uma maneira de combinar símbolos terminais.
Uma gramática que tem mais de uma regra para o mesmo símbolo terminal.
 
ENSINEME: GERAÇÃO DE CÓDIGO  
 
 7. Ref.: 3993018 Pontos: 1,00  / 1,00
As áreas em que se divide a memória do programa podem ser de tamanho �xo ou variável. As de tamanho �xo lidam
normalmente com variáveis escalares e linhas de código, já as de tamanho variável são normalmente auxiliares para a
execução do programa armazenando dados de tamanho variável etc.
Dentre as áreas do programa duas delas crescem em direção uma da outra.
Quais são elas?
Memória livre e heap
Pilha e memória livre
Área de dados e pilha
Área de dados e heap
 Pilha e heap
 8. Ref.: 3993110 Pontos: 1,00  / 1,00
Para determinar qual código é mais otimizado podemos utilizar uma métrica que calcule o custo de cada opção e
determinar qual é o mais otimizado, ou seja qual tem o menor custo.
Considere um processador com o seguinte conjunto de instruções:
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807519.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807519.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993110.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993110.');
Sabendo que a métrica utilizada gera um custo de 1 para instruções que não acessam a memória RAM e um custo de
2 para as que não acessam analise os trechos de código abaixo
Como base na análise podemos a�rmar que o código 2 é melhor que o código 1
Porque
Seu custo é 12 enquanto o do código 1 é 12
Com base nas a�rmativas acima podemos concluir que:
 
As duas são corretas e a segunda não justi�ca a primeira
As duas a�rmativas são falsas
As duas são corretas e a segunda justi�ca a primeira
A primeira é falsa e a segunda correta
 A primeira é verdadeira e a segunda falsa
 
ENSINEME: O COMPILADOR  
 
 9. Ref.: 3990557 Pontos: 1,00  / 1,00
Sobre análise léxica e sintática executadas pelos compiladores, assinale a opção correta. 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990557.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990557.');
O analisador sintático processa diretamente o programa fonte a procura de erros. 
Um analisador léxico serve como o passo �nal 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. 
 Um analisador léxico gera a entrada para  o analisador sintático.
Os analisadores léxico e sintático somente se comunicam via tabela de simbolos.
 10. Ref.: 3990556 Pontos: 1,00  / 1,00
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? 
 Analisador Léxico.
Analisador Sintático.
Gerador de Código Intermediário.
Analisador Semântico.
Otimizador
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990556.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990556.');

Continue navegando