Revisão de Compiladores U3 e U4

Revisão de Compiladores U3 e U4

University

10 Qs

quiz-placeholder

Similar activities

Sistemas Operacionais - U1.3 - caracteristicas

Sistemas Operacionais - U1.3 - caracteristicas

University

13 Qs

Compiladores U2 S1

Compiladores U2 S1

University

7 Qs

Como programa em C - Deitel - Capítulo 1 - Introdução aos computadores, à internet e à Web

Como programa em C - Deitel - Capítulo 1 - Introdução aos computadores, à internet e à Web

University

14 Qs

INFORMÁTICA: Quem sabe mais?

INFORMÁTICA: Quem sabe mais?

KG - Professional Development

15 Qs

Lógica Programação

Lógica Programação

University

12 Qs

Revisão de Linguagens Formais

Revisão de Linguagens Formais

University

10 Qs

Quiz Informática Básica

Quiz Informática Básica

University

10 Qs

Intro-Computação_3.3

Intro-Computação_3.3

University

10 Qs

Revisão de Compiladores U3 e U4

Revisão de Compiladores U3 e U4

Assessment

Quiz

Computers

University

Hard

Created by

Debora Aires

Used 6+ times

FREE Resource

10 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

15 mins • 1 pt

Media Image

Considere a gramática a apresentada na figura, em que S, A e B são símbolos não terminais, 0 e 1 são terminais e ε é a cadeia vazia.


A respeito dessa gramática, analise as afirmações a seguir:


I. Nas cadeias geradas por essa gramática, o último símbolo é 1.

II. O número de zeros consecutivos nas cadeias geradas pela gramática é, no máximo, dois.

III. O número de uns em cada cadeia gerada pela gramática é maior que o número de zeros.

IV. Nas cadeias geradas por essa gramática, todos os uns estão à esquerda de todos os zeros.


É correto apenas o que se afirma em

I

II

I e III

II e IV

III e IV

2.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

Compiladores de linguagens de programação traduzem programas-fonte, em uma linguagem de entrada, para programas-objeto, em uma linguagem de saída. Durante o processo de tradução, o compilador deve verificar se as sentenças do programa-fonte estão sintaticamente corretas. Esse processo de análise sintática pode ser realizado construindo-se uma árvore de análise segundo duas principais abordagens: top-down, quando a árvore é investigada da raiz às folhas; ou bottom-up, das folhas à raiz. Acerca desse assunto, julgue os itens seguintes.


I A análise top-down é adequada quando a linguagem de entrada é definida por uma gramática recursiva à esquerda.

II Independentemente da abordagem adotada, top-down ou bottom-up, o analisador sintático utiliza informações resultantes da análise léxica.

III Se os programas em uma linguagem podem ser analisados tanto em abordagem top-down como em bottom-up, a gramática dessa linguagem é ambígua.

IV A análise bottom-up utiliza ações comumente conhecidas como deslocamentos e reduções sobre as sentenças do programa-fonte.


Estão certos apenas os itens

I e II.

I e III.

II e IV.

I, III e IV.

II, III e IV.

3.

MULTIPLE CHOICE QUESTION

15 mins • 1 pt

Media Image

Qualquer expressão aritmética binária pode ser convertida em uma expressão totalmente parentizada, bastando reescrever cada subexpressão binária a @ b como (a @ b), em que @ denota um operador binário. Expressões nesse formato podem ser definidas por regras de uma gramática livre de contexto, conforme apresentado na figura. Nessa gramática, os símbolos não-terminais E, S, O e L representam expressões, subexpressões, operadores e literais, respectivamente, e os demais símbolos das regras são terminais.

Tendo como referência as informações acima e sabendo que existem diferentes derivações para a expressão (((a + b) * c) + (d * e)) é correto, então, afirmar que a gramática acima é ambígua?

Sim, pois a ambigüidade é definida como a existência de múltiplas árvores sintáticas para uma mesma sentença.

Não, pois no caso da sentença apresentada, ela possui várias derivações (ou seqüências de derivação), mas todas correspondem a uma mesma árvore.

A gramática apresentada na figura não trata o caso de precedência de operadores, por isso é ambígua.

Os parênteses presentes na gramática apresentada na figura não substitui a necessidade de tratar o caso de precedência de operadores, por isso é ambígua.

4.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

A etapa de análise semântica de um compilador tem como objetivo verificar os inter-relacionamentos de um programa, validando tipologias, fluxos de controle e unicidade na declaração de variáveis.

Verdadeiro

Falso

5.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

Media Image

Um compilador que lê o código fonte em uma linguagem e traduz diretamente para o código de máquina não tem portabilidade, já um compilador que pode traduzir um ou mais tipos de linguagens fontes para vários tipos de maquinas é dito portável. Analise os gráficos na figura. Ao analisarmos a figura, podemos concluir que:

Sem a representação intermediária, serão necessários 10 compiladores para todas as linguagens e arquiteturas propostas na Figura (B).

A RI é algo que existe apenas como conceito, pois um compilador como o apresentado na Figura (C) não existe.

Com a representação intermediária, serão necessários 12 compiladores para todas as linguagens e arquiteturas propostas na Figura.

As traduções apresentadas na Figura (B) são os únicos compiladores possíveis de serem construídos sem a RI.

Sem a representação intermediária, somente o código intermediário poderá ser utilizado para construir os compiladores da Figura (B).

6.

MULTIPLE SELECT QUESTION

5 mins • 1 pt

Sabe-se que um compilador é dividido em 2 fases: Frontend e Backend. Quais são as fases que integram o backend de um compilador?

Gerenciamento da tabela de símbolos

Geração do código intermediário

Otimização do código

Geração do código

Análise Sintática

7.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

Ligue as descrição com as fases do compilador:


a)análise sintática e semântica.

b)fase de análise.

c)fase de síntese.


1.tratam da grande maioria dos erros detectáveis pelo compilador.

2.constrói o programa alvo desejado, com base nas respectivas representações intermediárias. É a fase que requer as técnicas mais especializadas.

3.envolve o agrupamento dos tokens do programa fonte, no qual cada token representa uma sequência de caracteres logicamente coesa, em frases gramaticais que são usadas pelo compilador, a fim de sintetizar a saída.

4.responsável por verificar os inter-relacionamentos de um programa, validando tipologias, fluxos de controle e unicidade na declaração de variáveis.

A-1; B-3 e 4;C-2

A-1 e 4; B-3;C-2

A-1; B-3;C-2 e 4

A-1; B-4;C-2 e 3

A-1 e 3; B-4;C-2

Create a free account and access millions of resources

Create resources
Host any resource
Get auto-graded reports
or continue with
Microsoft
Apple
Others
By signing up, you agree to our Terms of Service & Privacy Policy
Already have an account?