Prévia do material em texto
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. 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: “A análise semântica pode ser dividida em duas categorias. A primeira é a análise de um programa requerido pelas regras da linguagem de programação, para verificar sua correção e garantir sua execução. O quanto precisa ocorrer dessa análise requerida pela definição da linguagem varia tremendamente de linguagem para linguagem.” LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 259. Sobre a análise semântica, é correto afirmar que: Leia o excerto a seguir. “O princípio da tradução direcionada por sintaxe estabelece que o significado, ou semântica, da cadeia 3+4 deveria estar diretamente relacionado a sua estrutura sintática representada na árvore de análise sintática. Nesse caso, o princípio da tradução direcionada por sintaxe indica que a árvore de análise sintática determina que o valor de 3 e o valor de 4 devem ser somados.” LOUDEN, K. C. Compiladores: princípios e práticas. São Paulo: Cengage Learning, 2004. p. 123. Após ler o texto acima, podemos definir como correta qual opção? 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. 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: Leia o trecho a seguir: “No caso da linguagem simples, identificamos expressões expr e instruções stmt. A linguagem é muito simples, por isso não existem declarações, funções ou tipos de dados compostos, como estruturas ou classes de objetos, por exemplo.” LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 149. Sobre o caso de linguagem simples, é correto afirmar que: 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: Leia o trecho a seguir. “Ao traduzir um programa-fonte para um código-objeto, um compilador produz representações intermediárias do código, que podem assumir mais de uma forma, mas que devem ser facilmente produzidas e facilmente traduzidas para a linguagem-alvo ou código-objeto”. BARBOSA, C. da S. et al. Compiladores. Porto Alegre: Sagah, 2021. p. 145. (Disponível na Minha Biblioteca). Sobre o programa-fonte e um código-objeto, podemos assinalar como verdadeiro que: Leia o trecho a seguir. “A maioria das linguagens necessita de uma ou mais bibliotecas para apoiar a execução dos programas. Mesmo no caso de linguagens com apoio à execução, como a linguagem C, a biblioteca denominada libc.a inclui algumas das rotinas normalmente utilizadas no desenvolvimento dos programas printf, atoi ou strlen.” LANGLOIS, P. R. S. Compiladores: da teoria à prática. Rio de Janeiro: LTC, 2018. p. 7. É correto afirmar sobre ambientes de execução que: