Buscar

Compiladores Atividade IV

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 4 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

Prévia do material em texto

1. 232GGR0350A - COMPILADORES
QUESTIONÁRIO
Atividade 4 (A4)
	Iniciado em
	segunda, 25 set 2023, 17:39
	Estado
	Finalizada
	Concluída em
	segunda, 25 set 2023, 18:31
	Tempo empregado
	52 minutos 36 segundos
	Avaliar
	10,00 de um máximo de 10,00(100%)
Parte superior do formulário
Questão 1
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Podemos considerar a análise sintática como a segunda etapa do processo de compilação, utilizando-se de Gramáticas Livres de Contexto (GLC) para efetuar especificações da sintaxe de uma linguagem de programação e de seus compiladores. Ao escrever esta linguagem, usamos algoritmos para as possíveis construções.
Assinale a alternativa que determina corretamente o responsável pelo fluxo de palavras encaixar-se na sintaxe do código-fonte.
a.Bottom-up.
b.Top-down.
c.Derivações.
d.Jasmin.
e.Tokens.
Questão 2
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
O tratamento de erros de sintaxe é uma função da análise sintática e acontece quando a gramática da linguagem não foi seguida. Podemos citar como maneiras de correção de erros na sintaxe: correção global de erros, recuperação por pânico, recuperação no nível de frase e produções de erros. Nesse contexto, é correto afirmar que a recuperação por pânico é:
a.considerada eficiente pelos programadores, por ser incapaz de ignorar erros embutidos entre os tokens não analisados.
b.válida, não usada na prática, e a correção é feita em todo o programa e não apenas na linha de código isolada.
c.complexa e facilmente causa loops, com a inserção de tokens que exigem mais tokens para correção da linha de código.
d.simples e simplesmente ignora os tokens seguintes ao ponto do erro, voltando ao encontrar um token no programa.
e.o resultado da inserção na gramática (G), a ser executada quando o autômato bloqueia determinados estados.
Questão 3
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Algumas das tarefas desempenhadas pela análise semântica consistem em verificar os tipos, o fluxo de controle e a unicidade da declaração de variáveis do código-fonte, entre outras verificações, dependendo da linguagem de programação utilizada ao percorrer a árvore sintática. Assinale a alternativa que apresenta a linguagem empregada no sistema de tipos estático utilizada na análise semântica.
a.Python.
b.LISP.
c.PHP.
d.Java.
e.Perl.
Questão 4
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
O analisador sintático, que definimos como aquele responsável por verificar as regras de uma determinada linguagem conforme a Gramática Livre de Contexto (GLC), também efetua o grupamento de tokens para criar saídas que compõem a estrutura do programa-fonte com frase gramaticais. Assinale a alternativa que define corretamente esta saída.
a.Conjunto de caracteres.
b.Árvore binária.
c.Código-fonte.
d.Blocos de comandos.
e.Árvore sintática.
Questão 5
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Existem várias fases em um processo de compilação. Dentre elas, uma é capaz de segmentar o programa fonte em unidades denominadas tokens, que são utilizados em outras fases. Estamos falando de qual fase?
a.Otimização do código.
b.Análise sintática.
c.Análise léxica.
d.Geração do código intermediário.
e.Geração do código final.
Questão 6
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Dependendo da linguagem de programação utilizada, os códigos de programas podem ser compilados e/ou interpretados. Analise as afirmações a seguir sobre compilação e interpretação de código e assinale a alternativa correta:
a.Os interpretadores convertem o programa de uma única vez para as linguagens de máquina, e por isso são mais rápidos.
b.As linguagens de alto nível apenas utilizam linguagens compiladas, pois são mais eficientes e de baixo custo financeiro.
c.A interpretação do código se caracteriza principalmente pela geração do arquivo executável.
d.As linguagens interpretadas necessitam do código-fonte para que o programa seja executado, pois sem ele não existem as instruções.
e.Se não for desejável a criação de um código-objeto como saída do processo de tradução para a interpretação da linguagem de alto nível, o uso de uma linguagem compilada seria obrigatório.
Questão 7
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Na concepção dos compiladores, a fase conhecida como “parser” do programa se baseia, em partes, nos resultados do analisador léxico. Assinale a alternativa que descreva corretamente qual é a função do analisador léxico:
a.Identificação dos tokens gramaticais que fazem parte do código fonte.
b.Faz a verificação da conformidade do código fonte com as regras da gramática das linguagens.
c.Define todas as notações que as regras gramaticais apresentadas.
d.Descrever toda semântica das construções da linguagem de programação.
e.Representa todas as regras da gramática de uma linguagem.
Questão 8
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Quando falamos que vamos criar um programa semanticamente equivalente, mas que será escrito em outra linguagem, apenas utilizando o código objeto e realizando a conversão, a execução do código para linguagem de máquina será analisada em linha a linha, estamos falando dos conceitos que envolvem, respectivamente, linguagens de programação de qual tipo:
a.Compilada e interpretada.
b.Interpretada e híbrida.
c.Interpretada e compilada.
d.Apenas interpretada.
e.Híbrida e compilada.
Questão 9
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Analise as alternativas a seguir, que são relacionadas aos compiladores e/ou interpretadores, considerando que cada um deles realiza algumas funções de forma diferente e, em alguns casos, podem até ser considerados complementares. Assinale a alternativa correta:
a.Quando se usa um interpretador, a cada vez que um programa precisa ser executado, este deve ser novamente traduzido.
b.Todos os interpretadores são gratuitos e os compiladores são pagos, razão pela qual hoje em dia se utiliza muito mais os interpretadores do que os compiladores.
c.Geralmente um compilador necessita de menos memória de máquina do que um interpretador para fazer a tradução de um programa.
d.Quando se usa um compilador, a cada instrução de alto nível recebida, faz-se a sua tradução executada imediatamente.
e.Quando se usa um compilador, toda vez que o programa precisa entrar em modo de execução, ele deve novamente traduzir as instruções.
Questão 10
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
As análises descendentes e ascendentes podem ser implementadas por meio de Gramáticas Livre de Contexto (GLC) com LR (Left-to-right Right-most-derivation) e LL (Left-to-right Left-most-derivation). Se Onde o L representa a subida da entrada da esquerda para a direita e o R, significa que a derivação construída está mais à direita. Assinale a alternativa que apresenta corretamente características dos analisadores sintáticos de LR.
a.Não são capazes de reconhecer a maioria das construções sintáticas por GLC.
b.Utilizam-se de um superconjunto de gramáticas livres de contexto da regra LL.
c.Sua utilização na construção do analisador à mão é de fácil implementação.
d.Apresentam baixa eficiência para localização dos erros de análise do código.
e.Encontram rapidamente um erro sintático logo que aparece na cadeia de entrada.
Parte inferior do formulário

Mais conteúdos dessa disciplina