Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 NOME: _ DATA: 1 Sobre a Linkedição, assinale a alternativa correta: (1,0) I. Não obstante a linguagem de máquina gerada por um compilador possa ser executada diretamente no hardware, quase sempre ela deve ser executada juntamente com algum outro código. II. A maioria dos softwares desenvolvidos exigem a linkedição de programas do sistema operacional. III. Durante o processo de linkedição, o compilador cria chamadas a bibliotecas do sistema operacional. IV. O código de usuário e o de sistemas juntos, às vezes, são chamados de módulos de carga ou imagem de executável. V. O Linkeditor pode ser considerado um sistema de processamento de linguagem. a) As alternativas I, II e III são verdadeiras. b) Somente as alternativas I e III são verdadeiras. c) Somente as alternativas II e V são falsas. d) As alternativas II, III e V são falsas. e) Somente a alternativa V é falsa. 2 Sobre Análise Sintática Top-Down, assinale a alternativa incorreta: (1,0) a) Os Analisadores Preditivos exigem que o símbolo sob o cabeçote de leitura defina univocamente a produção a ser aplicada. b) Os Analisadores Top-Down não recursivos, exigem que a gramática esteja fatorada. c) Os Analisadores Preditivos não-recursivos Tabulares implementam um autômato de pilha controlado por uma tabela de análise. d) A implementação de um Analisador Preditivo não-recursivo, exige que os símbolos que iniciam as regras de produção da gramática, definam univocamente qual produção deve ser a escolhida em cada momento do funcionamento do autômato de pilha. e) Um Analisador Top-Down jamais pode envolver recursividade. 3 Ainda sobre a Análise Sintática Top-Down, assinale a alternativa correta: (1,0) a) A Análise Sintática Top-Down, ou redutiva, adota a estratégia de a cada passo do analisador, construir a árvore de derivação a partir do símbolo inicial da gramática, fazendo a árvore crescer até atingir suas folhas. b) Na estratégia top-down, em cada passo, um lado direito da regra de produção da gramática é substituído por um símbolo não-terminal. c) Na Análise Sintática Top-Down de Descendência Recursiva, se o token de entrada não define univocamente a produção a ser usada, então todas as alternativas vão ser tentadas até que se obtenha sucesso, ou até que a análise falhe irremediavelmente. d) Uma gramática recursiva à esquerda é completamente reconhecida através da utilização de um Analisador Sintático de Descendência Recursiva. e) Uma das vantagens do Analisador Sintático de Descendência Recursiva, é a facilidade na indicação da localização dos eventuais erros sintáticos mesmo com a aplicação de produções alternativas, conhecido como backtracking. Universidade Regional Integrada do Alto Uruguai e das Missões Campus de Erechim Departamento das Engenharias e Ciência da Computação Professor Fabio Zanin Compiladores - 2021 - A 4 Relacione os itens 1, 2 e 3 de acordo com as alternativas. (1,0) 1 – Implementação Compilada 2 – Interpretação Pura 3 – Interpretação Híbrida ( ) – Gera um arquivo executável mais rápido. ( ) – Os erros sempre acontecem em tempo de execução. ( ) – É o método que provê maior portabilidade aos programas. ( ) – Tende a ser o mais demorado entre os três processos (do fonte até o arquivo objeto ou execução). ( ) – Garante a geração de programas mais livre de erros. ( ) – Os erros de programação são mais fáceis de detectar. 5 Sobre Processadores de Linguagens, assinale a alternativa correta: (1,0) I. Um processador é um programa que permite ao computador entender os comandos de alto nível escritos pelos usuários. II. Um tradutor é um programa que aceita como entrada um programa escrito em uma linguagem chamada "linguagem fonte" e executa diretamente as instruções dadas nesta linguagem. III. Os montadores e os compiladores são tipos de interpretadores. IV. Um Sistema de Processamento de Linguagens pode conter o uso de vários processadores para traduzir o programa fonte em um programa objeto. V. O pré-processador é um tipo de interpretador. a) Somente a alternativa I é verdadeira. b) Somente as alternativas I e IV são verdadeiras. c) As alternativas I, II, III e V são verdadeiras. d) As alternativas I, III e IV são falsas. e) Somente a alternativa V é falsa. 6 Considerando a gramática abaixo, e a sua respectiva tabela de análise, verifique através do Autômato de Pilha se as sentenças sugeridas são reconhecidas ou não, e o número de iterações que foram necessárias para tal. (2,5) S aBa | AB | dA A bA | c B bA | cC | dAa C aCA | b A tabela de análise preditiva para esta gramática é mostrada abaixo: a b c d $ S S aBa S AB S AB S dA - A - A bA A c - - B B B bA B cC B dAa B C C aCA C b - - - Sentenças: a) bccabbc Resposta: b) acabbbaa Resposta: 7 Segundo a gramática e a tabela de precedência de operadores abaixo, diga se as expressões estão corretas ou não. Indique o número de iterações necessárias para o reconhecimento ou erro, e identifique o erro ocorrido se for o caso (2,5). E ::= E + E E ::= E – E E ::= E * E E ::= E / E E ::= (E) E ::= id Tabela de precedência de operadores: Id + - / * ( ) $ Id E3 > > > > E3 > > + < > > < < < > > - < > > < < < > > / < > > > > < > > * < > > > > < > > ( < < < < < < = E4 ) E3 > > > > E3 > > $ < < < < < < E2 E1 Sentenças: a) id + id - id / id (id) Resposta: b) id * id + (id) / id Resposta:
Compartilhar