Buscar

Gabarito Prova - UNIVESP - 2022 - Linguagens e 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 9 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

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 6, do total de 9 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

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 9, do total de 9 páginas

Prévia do material em texto

INFORMAÇÕES DA PROVA Ensino: 03 - Ensino Superior
Disciplina: EEL101 - LINGUAGENS E COMPILADORES
Data: 07/12/2022
Descrição: EEL101 - LINGUAGENS E COMPILADORES [4º BIMESTRE]
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
B
1,000 (1,000)
A varredura, também conhecida como análise léxica, consiste na etapa em que um compilador realiza a leitura de um programa-fonte, com um arquivo de
caracteres, e o classifica em marcas. Tais marcas podem ser definidas como palavras em uma linguagem natural, ou seja, é uma sequência de caracteres que
determinam uma unidade de informação no programa-fonte. Dentre os diversos exemplos, podemos citar: cadeias definidas pelo usuário, cadeias fixas de
caracteres e símbolos aritméticos.
Assinale a alternativa que apresenta essas marcas, respectivamente.
A) Palavras-chave, identificadores e compiladores.
CORRETA
B) Identificadores, palavras-chave e símbolos especiais.
C) Identificadores, compiladores e interpretadores.
D) Símbolos especiais, expressões regulares e compiladores.
E) Símbolos especiais, interpretadores e expressões regulares.
Semana: Semana 1 / Nível de Dificuldade: Fácil
Material Base: videoaula 1 - “Conceitos de Linguagens de Programação e Análise Léxica” Páginas: slides 1 ao 38
Objetivo de Aprendizado:
RECONHECER OS CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO E ANÁLISE LÉXICA
JUSTIFICATIVA DA RESPOSTA CORRETA
Os principais exemplos de marcas incluem: identificadores, que são cadeias de caracteres definidas pelo usuário, usualmente compostas
por letras e números, começando por uma letra; palavras-chaves, como if e while, que são cadeias fixas de caracteres; símbolos
especiais, como os símbolos aritméticos + e *; e alguns símbolos com mais de um caractere, como >= e <>. Em cada caso, uma marca
representa um determinado padrão de caracteres reconhecido pela varredura à medida que esses caracteres são fornecidos.
Compiladores, interpretadores e expressões regulares não podem ser definidos como marcas, pois apresentam características
específicas.
ipo
Resposta
Gabarito
Pontos
Observações
Objetiva
B
1,000 (1,000)
Marque a alternativa que identifica corretamente a transformação representada abaixo e descreva sua utilidade e objetivo.
A → αβ
A → αγ →
A → αC
C → βιγ
A) Remoção do não determinismo para adaptação gramatical com o objetivo de uso da análise sintática bottom-up.
CORRETA
B) Remoção do não determinismo para adaptação gramatical com o objetivo de uso da análise sintática top-down.
C) Remoção da recursão à esquerda para adaptação gramatical com o objetivo de uso da análise sintática top-down.
D) Remoção da recursão à esquerda para adaptação gramatical com o objetivo de uso da análise sintática bottom-up.
E) Remoção da recursão à direita para adaptação gramatical com o objetivo de uso da análise sintática top-down.
Semana: Semana 2 / Nível de Dificuldade: Médio
Material Base: Videoaula 2, slide 22
Objetivo de Aprendizado:
IDENTIFICAR E DESCREVER A REMOÇÃO DO NÃO-DETERMINISMO, UM TIPO DE ADAPTAÇÃO GRAMATICAL NECESSÁRIO PARA A ANÁLISE
SINTÁTICA DESCENDENTE.
JUSTIFICATIVA DA RESPOSTA CORRETA
Vale relembrar que, nos autômatos não determinísticos, pode-se ter várias transições entre estados diferentes com o mesmo caractere.
Isso significa que as transições podem levar a um conjunto de estados. Essa característica não viabiliza o uso da análise sintática
descendente (top-down) e, portanto, deve ser eliminada. A transformação da figura mostra que, através de uma substituição simples,
pode-se remover a redundância causada pelo “α ”.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
C
1,000 (1,000)
Os analisadores redutores eficientes, que leem a sentença em uma condição específica de análise da esquerda para a direita e são responsáveis pela produção
de uma derivação mais à direita ao reverso, considerando-se “k” símbolos em cada leitura, têm a capacidade de reconhecer, praticamente, todas as estruturas
sintáticas definidas por gramáticas livres de contexto.
 Conforme a definição, correlacione adequadamente os analisadores LR e as características às quais se referem.
1 – LR Canônico. 2 – Simple LR. 3 – Look Ahead LR.
I – São fáceis de implementar, no entanto são aplicáveis a uma classe restrita de gramáticas. II – São mais poderosos, podendo ser aplicados a um grande
número de linguagens livres de contexto. III – Complexidade de nível intermediário e implementação eficiente que funciona para a maioria das linguagens de
programação.
Assinale a alternativa que correlaciona adequadamente os dois grupos de informação: 
A) 1-III; 2-II; 3-I.
B) 1-III; 2-I; 3-II.
CORRETA
C) 1-II; 2-I; 3-III.
D) 1-I; 2-III; 3-II.
E) 1-I; 2-II; 3-III.
Semana: Semana 3 / Nível de Dificuldade: Fácil
Material Base: videoaula 3 - Análise sintática ascendente Páginas: slides 1 ao 39
Objetivo de Aprendizado:
RECONHECER OS CONCEITOS DE ANÁLISES SINTÁTICAS ASCENDENTES
JUSTIFICATIVA DA RESPOSTA CORRETA
A sentença I se enquadra no conceito 2, pois o analisador LR Canônico é mais poderoso, podendo ser aplicado a um grande número de linguagens livres de
contexto.
A sentença II se enquadra no conceito 1, pois o analisador Simples LR apresenta uma caracterização baseada em sua potência, tendo como aplicação
específica o elevado número de linguagens consideradas como livres de contexto.
A sentença III se enquadra no conceito 3, visto que o analisador Look Ahead LR tem um nível de complexidade considerado intermediário. Além disso, sua
implementação total e eficiente tem uma aplicação específica para a maioria das linguagens de programação.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
D
1,000 (1,000)
A gramática de atributos representa uma gramática totalmente livre de contextos, sendo que há um acréscimo de elementos que têm a função de descrever, de
maneira mais adequada, a sintaxe dependente de contexto.
Neste sentido, podemos considerar e avaliar que:
I. definições dirigidas por sintaxe representam gramáticas livres de contexto por meio da inclusão de atributos para cada símbolo;
II. esquema de tradução indica a ordem na qual as regras que especificam ações sintáticas devem ser executadas;
III. o uso dessas definições pode ser feito dentro de uma ferramenta de geradores de analisadores;
IV. a gramática de atributos pode ser classificada como uma gramática dependente de contextos.
Está correto o que se afirma em:
A) I, II, III e IV.
B) II, apenas.
C) I e II, apenas.
CORRETA
D) I, II e III, apenas.
E) I, III e IV, apenas.
Semana: Semana 4 / Nível de Dificuldade: Médio
Material Base: videoaula 4 - Tradução dirigida por sintaxe Páginas: slides 1 ao 27
Objetivo de Aprendizado:
COMPREENDER A TRADUÇÃO DIRIGIDA POR SINTAXE
JUSTIFICATIVA DA RESPOSTA CORRETA
A afirmativa I está correta, pois as definições atreladas à sintaxe definem as gramáticas livres de contexto, por meio da inclusão de atributos para cada
símbolo.
A afirmativa II está correta, porque o esquema de tradução determina a ordem na qual as regras que especificam ações sintáticas devem ser executadas.
A afirmativa III está correta, uma vez que a utilização das definições pode ser realizada por meio de uma ferramenta de geradores de analisadores.
A afirmativa IV está incorreta, pois a gramática de atributos pode ser classificada como uma gramática livre de contextos.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
B
1,000 (1,000)
O código de três endereços é uma forma utilizada para gerar representações intermediárias, em que há um alvo identificado como uma variável à esquerda da
operação e uma operação identificada com a utilização de dois elementos à direita da operação, chamados de operandos. 
Nesse sentido, podemos considerar e avaliar que:
I. A, B e C são considerados nomes constantes ou objetos temporários criados pelo compilador;
II. para códigos de três endereços, há a opção de utilização de apenas dois objetos, ou então de uma representação direta de um objeto;
III. O “jump” existente no código de três endereços pode ser opcional;
IV. dentro docódigo de três endereços consideramos que a letra N representa o nome do procedimento.
Está correto o que se afirma em:
A) I, III e IV, apenas.
CORRETA
B) I, II e III, apenas.
C) I e II, apenas.
D) II, apenas.
E) I, II, III e IV.
Semana: Semana 5 / Nível de Dificuldade: Fácil
Material Base: videoaula 5 - Código intermediário Páginas: slides 1 ao 20
Objetivo de Aprendizado:
RECONHECER OS CÓDIGOS INTERMEDIÁRIOS
JUSTIFICATIVA DA RESPOSTA CORRETA
A alternativa I está correta, pois o compilador é responsável pela criação das constantes A, B e C, assim como dos objetos temporários.
A alternativa II está correta, porque nos códigos de três endereços há a opção de utilização de apenas dois objetos, ou então de uma representação direta de
um objeto.
A alternativa III está correta, visto que o “jump” pertencente ao código de três endereços pode ser opcional.
A alternativa IV está incorreta, pois dentro do código de três endereços consideramos que a letra N representa o número de parâmetros do procedimento.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
B
1,000 (1,000)
Em termos de alocação, também devemos considerar as alocações dinâmicas. Ao obtermos as alocações dinâmicas, observamos uma condição específica, na
qual as variáveis locais encontram-se alocadas no registro de ativação, sendo que, se houver uma chamada recursiva, será necessário reconstruir o registro de
ativação. 
Nesse sentido, podemos considerar e avaliar que:
I. a recursividade pode ser aplicada em uma condição de menor necessidade de restrição. 
II. em uma condição geral, podemos concluir que um subprograma pode representar a condição de inúmeras ativações de forma simultânea. 
III. no exato momento de execução, por meio do gerenciamento de memória, há a necessidade da inclusão do código objeto de instruções. 
IV. podemos considerar as chamadas de subprogramas mais rápidas.
Está correto o que se afirma em:
A) I, III e IV, apenas.
CORRETA
B) I, II e III, apenas.
C) I e II, apenas.
D) II, apenas.
E) I, II, III e IV.
Semana: Semana 6 / Nível de Dificuldade: Fácil
Material Base: videoaula 6 - Ambientes de execução Páginas: slides 1 ao 24
Objetivo de Aprendizado:
RECONHECER OS AMBIENTES DE EXECUÇÃO
JUSTIFICATIVA DA RESPOSTA CORRETA
A afirmativa I está correta, pois a recursividade tem sua utilização atrelada a uma condição de menor necessidade de restrição. 
A afirmativa II está correta, porque é possível estabelecer que um subprograma representa uma condição de inúmeras ativações realizadas de forma
simultânea. 
A afirmativa III está correta, visto que, no momento de execução, por meio do gerenciamento de memória, há a necessidade da inclusão do código objeto de
instruções. 
A afirmativa IV está incorreta, uma vez que podemos considerar as chamadas de subprogramas mais lentas.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
B
2,000 (2,000)
Com relação ao código objeto, é possível afirmar que o código final pode ser diretamente ligado às bibliotecas e, de certa forma, apresentar um problema
específico, pois dada a representação intermediária de baixo nível, como gerar o código objeto?
Nesse sentido, podemos considerar e avaliar que:
I. os códigos não otimizados representam as variáveis locais e apresentam parâmetros afetados a partir de posições relativas e distintas na pilha.
II. os códigos otimizados efetivam uma partilha de posições relativas da pilha por uma ou mais variáveis.
III. os códigos otimizados, especificamente, ocasionam uma utilização de registradores da CPU, para então proporcionar um armazenamento de variáveis.
IV. os códigos não otimizados requerem acessos à pilha, onde apenas haja ciclos em detrimento aos acessos a registros internos.
Está correto o que se afirma em:
A) II, apenas.
CORRETA
B) I, II e III, apenas.
C) I e II, apenas.
D) I, II, III e IV.
E) I, III e IV, apenas.
Semana: Semana 7 / Nível de Dificuldade: Difícil
Material Base: videoaula 7 - Geração de código, noções de otimização Páginas: slides 1 ao 23
Objetivo de Aprendizado:
ANALISAR OS CONCEITOS PARA GERAÇÃO DE CÓDIGO E AS NOÇÕES DE OTIMIZAÇÃO
JUSTIFICATIVA DA RESPOSTA CORRETA
A afirmativa I está correta, pois nos códigos não otimizados há a representação das variáveis locais e a existência de parâmetros
afetados a partir de posições relativas e distintas na pilha.
A afirmativa II está correta, porque os códigos otimizados possibilitam uma divisão de posições relativas da pilha, por uma ou mais variáveis.
A resposta III está correta, uma vez que os códigos otimizados permitem a utilização de registradores da CPU, com o objetivo de possibilitar um
armazenamento de variáveis.
A resposta IV está incorreta, visto que os códigos não otimizados requerem acessos à pilha, onde haja ciclos e acessos aos registros internos.
Tipo
Resposta
Gabarito
Pontos
Observações
Objetiva
D
2,000 (2,000)
A análise sintática LL(1) utiliza uma pilha explícita em vez de ativações recursivas. A representação dessa pilha de forma padrão é útil para facilitar a
visualização das ações do analisador sintático LL(1). 
O seu funcionamento pode ser exemplificado da forma a seguir. 
Sendo X o símbolo do topo da pilha e PS o atual símbolo de entrada, as ações podem ser:
de forma conceitual, ao considerarmos que a variável X seja assim em um terminal = PS _____ $, então o analisador __________ sua atividade e acaba
ocasionando uma comunicação na condição de fim da análise sintática, sendo esta realizada com um total. Por outro lado, se considerarmos que a variável X
seja um terminal específico = PS _____ $, então o consequente analisador tende a eliminar X do topo da pilha e a avançar para o próximo símbolo na condição
de entrada. Se X é um terminal ≠ PS, o analisador _______________ de sintaxe.
Preencha as lacunas escolhendo a alternativa correta:
A) ≠, inicia, =, acusa um erro
B) ≠, encerra, =, acusa um erro
C) =, inicia, =, exibe o acerto
CORRETA
D) =, encerra, ≠, acusa um erro
E) =, inicia, ≠, exibe o acerto
Semana: Semana 2 / Nível de Dificuldade: Difícil
Material Base: videoaula 2 - Conceitos de Análise Sintática e Análise Sintática Descendente Páginas: slides 1 ao 39
Objetivo de Aprendizado:
ANALISAR OS CONCEITOS DE ANÁLISES SINTÁTICAS E SEU PRIMEIRO TIPO DE ANÁLISE SINTÁTICA DESCENDENTE
JUSTIFICATIVA DA RESPOSTA CORRETA
A resposta está correta quando consideramos que na primeira condição de análise o símbolo “=” seja representativo na equação, e a equação seja terminada
com “encerra”. Da mesma forma, a resposta está correta quando consideramos que na segunda condição de análise o símbolo “≠” seja representativo na
equação, e a equação seja terminada com “causa um erro”.
	comp0
	comp1
	comp2
	comp3
	comp4
	comp5
	comp6
	comp7
	comp8

Continue navegando