Buscar

Compiladores AV 10 de 10

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

Prévia do material em texto

1a Questão (Ref.: 202009439075) 
(IFB/2017) Considerando-se a definição autômatos finitos, assinale a única alternativa que contém somente 
cadeias de caracteres totalmente aceitas pelo autômato finito da figura. 
 
 
 
 AB, ABAB, ABABAB. 
 AB, ABBA, ABABAB. 
 AB, ABAB, ABBAAB. 
 AB, ABAA, ABABAB. 
 AB, ABAB, ABAABA. 
 
 
 
 
 
 2a Questão (Ref.: 202007312932) 
Diagramas de Sintaxe são forma gráficas e alternativas para representar as 
especificações de tokens, sem precisa recorrer as Expressões Regulares ao BNF. 
Considere o diagrama de Sintaxe abaixo: 
 
Que expressão regular faria exatamente a mesma definição no GALS? 
 
 
 Inteiro : [0-9]+ 
 Inteiro : [0-9]* 
 Inteiro : [Digito]* 
 Inteiro : [Digito]+ 
 Inteiro : [0-9]? 
 
 
 
 
 
 3a Questão (Ref.: 202007314435) 
As representações intermediárias gráficas se prestam a representar vários aspectos analisados do programa 
fonte. Cada uma delas possui características distintas e se prestam a uma determinada finalidade. 
A figura a seguirbaixo: corresponde a que tipo de representação intermediária gráfica? 
 
 
 
 
Árvore Semântica 
 Arvore de Derivação 
 Grafo de Dependência 
 Grafo acíclico direcionado 
 Árvore de Derivação anotada 
 
 
 
 
 
 4a Questão (Ref.: 202007314437) 
As árvores como representações intermediárias gráficas são muito utilizadas para armazenar informações 
que auxiliam na execução dos passos da etapa de análise da compilação. 
Quanto a estes aspectos podemos afirmar que: 
Arvores de Derivação Anotadas prestam um auxílio valioso à Análise Semântica 
Porque 
Como seus nós possuem atributos associados podem ser validados quanto a vários aspectos, por exemplo, o 
tipo de variáveis. 
Com base nas afirmativas acima podemos concluir que: 
 
 
 A primeira é verdadeira e a segunda falsa 
 As duas são corretas e a segunda justifica a primeira 
 As duas são corretas e a segunda não justifica a primeira 
 A primeira é falsa e a segunda correta 
 
As duas afirmativas são falsas 
 
 
 
 
 
 5a Questão (Ref.: 202007312804) 
Atualmente o JAVA passou a utilizar uma segunda fase de compilação para 
acelerar a execução. Está técnica é denominada: 
 
 
 Linkedição 
 JIT 
 Bytecode 
 Montagem 
 JVM 
 
 
 
 
 
 6a Questão (Ref.: 202007312811) 
Considere o extrato abaixo referente a especificação de um linguagem de 
programação 
::= inteiro | real | string 
 
declaração_variavel::= [ {, } ]; 
::= inteiro | real | string 
::= + |- | * | / 
::= {L} + {L}|{D} 
::= {D}+ 
::= {D} + [.{D}+] | .{D} 
::= ´{C}´ 
L ::= A..Z a..z 
D ::= 0..9 
 
Se a seguinte declaração fosse escrita que tipo de erro seria gerado 
Inteiro AB+, B, C 
 
 
 Lógico 
 Semântico 
 Execução 
 Léxico 
 Sintático 
 
 
 
 
 
 7a Questão (Ref.: 202007314783) 
Na implementação de Analisadores Sintáticos Descendentes Preditivo, é criada uma tabela para determinar 
que produção utilizar em função do símbolo não terminal no topo da pilha e do símbolo que está sendo lido 
na entrada. 
Para auxiliar no trabalho de criação da tabela, são definidos dois conjuntos o First e o Follow 
Considere a seguinte gramática 
X→abY|c 
Y→dY|ε 
Z→e 
Qual seria o conjunto Follow para o não terminal X? 
 
 
 
{$} 
 {b} 
 {a} 
 {c} 
 {ε} 
 
 
 
 
 
 8a Questão (Ref.: 202007314781) 
Enade 2017 
Em um compilador, um analisador sintático descendente preditivo pode ser implementado com o auxílio de 
uma tabela construída a partir de uma gramática livre de contexto. Essa tabela, chamada tabela LL(k), 
indica a regra de produção a ser aplicada olhando-se o k-ésimo próximo símbolo lido, chamado 
lookahead(k). Por motivo de eficiência, normalmente busca-se utilizar k=1. 
Considere a gramática livre de contexto G=(X,Y,Z,a,b,c,d,e,P,X)G=(X,Y,Z,a,b,c,d,e,P,X), em que PP é 
composto pelas seguintes regras de produção: 
X→aZbXY|c 
Y→dX|ε 
Z→e 
Considere, ainda, a seguinte tabela LL(1), construída a partir da gramática GG, sendo $$ o símbolo que 
representa o fim da cadeia. Essa tabela possui duas produções distintas na célula (Y,d)(Y,d), gerando, no 
analisador sintático, uma dúvida na escolha da regra de produção aplicada em determinados momentos da 
análise. 
 
Considerando que o processo da construção dessa tabela LL(1), a partir da gramática GG, foi seguido 
corretamente, a existência de duas regras de produção distintas na célula (Y,d), neste caso específico, 
resulta 
 
 
 do uso incorreto do símbolo de cadeia vazia (ε) nas regras de produção. 
 da presença de duas regras de produção com um único terminal no corpo. 
 de um não determinismo causado por uma ambiguidade na gramática. 
 
da ausência do símbolo de fim de cadeia ($) nas regras de produção. 
 da presença de duas regras de produção com o mesmo não terminal na 
cabeça. 
 
 
 
 
 
 9a Questão (Ref.: 202007315367) 
A montagem e a ligação são as últimas etapas na criação de um programa executável. A partir deste 
instante o programa fica disponível para ser executado e quando o usuário solicitar que ele rode o 
Carregador irá alocá-lo na memória. 
Várias técnicas foram desenvolvidas para realizar tanto a ligação como o carregamento. 
Dentro deste contexto analise as afirmativas abaixo: 
 
I Na montagem e carregamento combinados não é criado o módulo objeto 
II Carregamento e Ligação Dinâmicos sempre ocorrem em tempo de execução 
III Carregador de ligação direta usam relocação de código 
 
É verdadeiro o que se afirma em: 
 
 
 Somente II 
 I e II 
 Somente I 
 I, II e III 
 I e III 
 
 
 
 
 
 10a Questão (Ref.: 202007315374) 
O produto final da etapa de síntese do compilador é o código de montagem que será submetido ao 
montador para gerar o módulo objeto. 
Em seu trabalho o montador deve, entre outras coisas, determinar os endereços em memória das instruções 
, dos rótulos e das variáveis. 
Considere o trecho de código abaixo: 
 
Sabendo-se que VALOR e RESULTADO tiveram seus endereços determinados nesta ordem, na tabela de 
símbolos seus endereços seriam respectivamente 
 
 
 $1001 e $1000 
 $1000 e $3000 
 $3001 e $3000 
 $3000 e $3001 
 $1000 e $1001

Continue navegando