Search Header Logo

Revisão de Compiladores U3 e U4

Authored by Debora Aires

Computers

University

Used 6+ times

Revisão de Compiladores U3 e U4
AI

AI Actions

Add similar questions

Adjust reading levels

Convert to real-world scenario

Translate activity

More...

    Content View

    Student View

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

Access all questions and much more by creating a free account

Create resources

Host any resource

Get auto-graded reports

Google

Continue with Google

Email

Continue with Email

Classlink

Continue with Classlink

Clever

Continue with Clever

or continue with

Microsoft

Microsoft

Apple

Apple

Others

Others

Already have an account?