Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Não acertei todas as respostas, logo as respostas incorretas estão identificadas. Espero ter ajudado e dá um like ai.
1) Leia o trecho a seguir:
“O código intermediário pode assumir muitas formas – existem quase tantos estilos de código intermediário quanto compiladores. Todos, entretanto, representam alguma forma de linearização da árvore sintática, ou seja, uma representação da árvore sintática em forma sequencial.”
LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 402.
Sobre o código, podemos afirmar que:
Resposta correta: o código intermediário permite que a função seja acionada e/ou incorporada no processo.
2) Leia o trecho a seguir:
“A pilha de registros de ativação (também chamada de pilha de execução ou pilha de ativação) cresce e diminui segundo as ativações ocorridas no programa em execução. Cada procedimento pode ter diversos registros distintos de ativação na pilha de ativação ao mesmo tempo, cada um deles representando uma ativação distinta.” 
LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 356.
Sobre as pilhas, podemos afirmar corretamente que:
Resposta incorreta: na alocação de espaço na pilha, todas as variáveis que serão definidas dentro de cada função devem ser alocadas.
3) Leia o excerto a seguir.
“Na prática, muitas verificações semânticas devem ser efetuadas sobre elementos presentes em vários pontos do programa, possivelmente distantes. Uma referência a um tipo, a um método ou a uma variável pode estar distante da sua definição e, eventualmente, aparecer em um arquivo diferente. Para resolver este problema é usado um repositório central em que fica armazenada toda a informação relativa aos símbolos (identificadores de variáveis, tipos, funções, métodos, classes etc.): a tabela dos símbolos.”
LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 126.
Sobre definição de semântica, assinale a alternativa correta. 
Resposta correta: A semântica, no processo de escrita de uma linguagem de programação, verifica os erros semânticos que possam existir.
Resposta correta: A semântica, no processo de escrita de uma linguagem de programação, verifica os erros semânticos que possam existir.
4) Leia o excerto a seguir.
“As operações de leitura de valores da memória para o topo da pilha permitem ler valores inteiros com sinal ou sem sinal, para as quatro dimensões suportadas. Nos inteiros com sinal, o sinal é estendido ou truncado, dependendo da dimensão dos valores da pilha. As instruções de leitura são ld8, ld16, ld32 e ld64, dependendo do número de bits do valor a ser lido. No caso de se tratar de inteiros sem sinal, o valor é estendido com zeros ou truncado, sendo as instruções designadas por uld8, uld16, uld32 e uld64.” 
LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 227.
Ainda sobre o ambiente de execução, é correto afirmar que:
Resposta correta: a principal responsabilidade dos compiladores é tratar e evitar os acessos não alinhados.
5) Leia o trecho a seguir.
“Durante a compilação é igualmente verificada a compatibilidade entre os tipos dos operandos e os operadores associados, bem como o número e o tipo dos argumentos nas chamadas às funções ou aos métodos.”
LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 126.
Sobre a verificação de tipo, é correto afirmar que:
Resposta correta: as verificações realizadas nos tipos de compilação podem ser estáticas e/ou dinâmicas.
6) Leia o excerto a seguir.
”A escolha das instruções que serão utilizadas na criação do código-objeto pode ser feita por meio de uma tabela de equivalências, com base em padrões e em quais são as substituições adequadas para o código-fonte em questão”.
BARBOSA, C. da S. et al. Compiladores. Porto Alegre: Sagah, 2021. p. 180. (Disponível na Minha Biblioteca). 
Sobre a geração de código, podemos afirmar que:
Resposta correta: o código-fonte é o agrupamento das instruções necessárias para o futuro funcionamento do software.
7) Leia o excerto a seguir.
“Por sua vez, um esquema de tradução é uma notação para anexar fragmentos de programa às produções de uma gramática. Os fragmentos do programa são executados quando a produção é usada durante a análise sintática.” 
BARBOSA, C. da S. et al. Compiladores. Porto Alegre: Sagah, 2021. p. 166. (Disponível na Minha Biblioteca).
Sobre a tradução de expressões, leia e selecione a alternativa correta dentre as abaixo.
Resposta correta: As expressões utilizadas no código-fonte podem ser analisadas apenas ao serem feitas operações complexas para sua análise.
8) Leia o trecho a seguir.
“A tabela de símbolos é uma estrutura de dados que tem como objetivo armazenar as informações relativas aos identificadores do programa. É essencial a tabela dos símbolos permitir um acesso rápido a essas informações, porque será frequentemente consultada ao longo do processo de compilação.” 
LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 126.
Após ler o fragmento de texto sobre a tabela de símbolos, assinale a alternativa correta.
Resposta correta: O processo de compilação de uma tabela de símbolos está ligado com o retorno de parâmetros e/ou com as variáveis utilizadas.
9) Leia o trecho a seguir.
“O grafo de fluxo de controle permite detectar a existência de loops. Os loops são importantes para a regra de loops. Aliás só a básicos envolvidos em loops, deve dedicar a maior parte do tempo de compilação de execução. Logo, um compilador, pois representa a maioria do tempo otimização blocos dos otimização de ouro, diz que 10% do código é executado em 90% do tempo, e na maioria dos casos trata-se”. 
LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018, p. 310.
Após ler o fragmento de texto acima, é possível afirmar como verdadeiro que: 
Resposta correta: a etapa final na geração de código pelo compilador é a chamada fase de otimização.
10) Leia o trecho a seguir.
”Em uma implementação, as atividades de várias fases podem ser agrupadas em uma passagem que lê um arquivo de entrada e grava um arquivo de saída. Podemos citar como exemplo as fases front-end de análise lexical, análise de sintaxe, análise semântica e geração de código intermediário que podem ser incorporadas em uma única passagem.”
BARBOSA, C. da S. et al. Compiladores. Porto Alegre: Sagah, 2021. p. 25. (Disponível na Minha Biblioteca).
Após ler o pequeno fragmento de texto acima sobre implementação de um compilador, é correto afirmar que:
Resposta correta: um compilador nada mais é do que um programa que traduz outros programas em código de máquina para determinados processadores.

Mais conteúdos dessa disciplina