Buscar

AV - 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 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  AV
Aluno: LEANDRO RODRIGUES MELO 202007163613
Professor: MARIA CLAUDIA ROENICK GUIMARAES
 
Turma: 9001
CCT0838_AV_202007163613 (AG)   30/10/2023 17:21:51 (F) 
Avaliação: 4,00 pts Nota SIA: 4,00 pts
Estação de trabalho liberada pelo CPF 11875130756 com o token 692257 em 30/10/2023 17:15:49.
 
ENSINEME: ANÁLISE LÉXICA  
 
 1. Ref.: 3990679 Pontos: 0,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 : [0-9]* 
Inteiro : [0-9]? 
Inteiro : [Digito]*
 Inteiro : [Digito]+ 
 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
AA3
 A3A
A3
AA.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990679.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990679.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990678.');
 
ENSINEME: ANÁLISE SEMÂNTICA  
 
 3. Ref.: 7808682 Pontos: 1,00  / 1,00
Os grafos são estruturas de dados matemáticas que representam relações entre objetos. Em um grafo, os objetos são
representados por nós ou vértices e as relações entre eles são representadas por arestas ou ligações. Os grafos
podem ser direcionados ou não direcionados, dependendo se as arestas têm uma direção especí�ca ou não. Nesse
sentido, o que é o percurso Depth-First em grafos?
Um método de classi�cação de dados
Um algoritmo de busca em largura
Um método de organização de dados em árvores
 Um algoritmo de busca em profundidade
Um tipo de algoritmo de otimização
 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
gramática livre de contexto
árvore AVL
 árvore sintática
gramática dirigida a sintaxe
�uxo (stream) de tokens
 
ENSINEME: ANÁLISE SINTÁTICA  
 
 5. Ref.: 7807517 Pontos: 0,00  / 1,00
(FCC/2016) A compilação é o processo de tradução de um programa escrito em uma linguagem fonte em um
programa equivalente em linguagem de máquina. Nesse processo, o programa fonte normalmente passa pelas fases:
I. Identi�cação de sequências de caracteres de entrada e produção de uma sequência de elementos de saída, os
tokens. Nesta fase, veri�ca-se se cada caractere do programa fonte pertence ao alfabeto da linguagem, identi�cando
os tokens e desprezando comentários e espaços em branco. Os tokens constituem classes de símbolos, tais como
palavras reservadas, delimitadores, identi�cadores etc.
II. Identi�cação de sequências de símbolos que constituem estruturas como expressões e comandos, através de uma
varredura, ou parsing, da representação interna do programa fonte, produzindo uma estrutura em árvore, chamada
árvore de derivação.
III. Veri�cação das estruturas quanto ao sentido, ou seja, se o programa não possui erros de signi�cado. Por exemplo,
veri�ca se um identi�cador declarado como variável é utilizado como tal, se existe compatibilidade entre operandos
e operadores em expressões etc.
Os itens I, II e III referem-se, correta e respectivamente, às fases:
 Análise Léxica - Análise Sintática - Análise Semântica.
Busca Binária - Montagem Léxica - Análise Semântica.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808682.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808682.');
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: 7807517.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807517.');
Classi�cação - Análise Léxica - Montagem.
Identi�cação Inicial - Análise Estrutural - Geração de Código.
 Interpretação - Análise Sintática - Montagem.
 6. Ref.: 7807516 Pontos: 0,00  / 1,00
(IBADE/2018) Algumas linguagens exigem que o código fonte seja previamente traduzido para linguagem de
máquina antes de ser executado. Chama-se esta fase de:
 Interpretação.
Tradução.
Linkedição.
 Compilação.
Edição.
 
ENSINEME: GERAÇÃO DE CÓDIGO  
 
 7. Ref.: 3993114 Pontos: 0,00  / 1,00
A montagem e a ligação são as últimas etapas na criação de um programa executável. A partir deste instante o
programa �ca disponível para ser executado e quando o usuário solicitar que ele rode o Carregador irá alocá-lo na
memória.
Várias técnicas foram desenvolvidas para realizar tanto a ligação como o carregamento.
Dentro deste contexto analise as a�rmativas abaixo:
 
I Na montagem e carregamento combinados não é criado o módulo objeto
II Carregamento e Ligação Dinâmicos sempre ocorrem em tempo de execução
III Carregador de ligação direta usam relocação de código
 
É verdadeiro o que se a�rma em:
Somente II
 I e II
 I e III
I, II e III
Somente I
 8. 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 e�ciente.
Considerando que temos uma máquina com dois registradores (r0 e r1) e com o conjunto de instruções do quadro
abaixo
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807516.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807516.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993114.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993114.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993093.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993093.');
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 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 não justi�ca a primeira
As duas a�rmativas são falsas
A primeira é verdadeira e a segunda falsa
 As duas são corretas e a segunda justi�ca a primeira
 A primeira é falsa e a segunda correta
 
ENSINEME: O COMPILADOR  
 
 9. Ref.: 7838511 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
árvore AVL.
gramática livre de contexto.
 árvore sintática.
�uxo (stream) de tokens.
gramática dirigida a sintaxe.
 10. Ref.: 3990558 Pontos: 0,00  / 1,00
Considere o extrato abaixo referente a especi�cação de um linguagem de programação 
::=  inteiro | real | string 
 
declaração_variavel::=    [ {,  } ]; 
::= inteiro | real | string 
::=  + |- | * | / 
::= {L} + {L}|{D} 
::= {D}+ 
::= {D} + [.{D}+] | .{D} 
::= ´{C}´
L ::= A..Z a..z 
D ::= 0..9 
 
Se a seguinte declaração fosse escrita que tipo de erro seria gerado 
Inteiro AB+, B, C 
Lógico 
Execução 
 Léxico 
 Sintático 
Semântico 
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7838511.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7838511.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990558.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990558.');

Continue navegando