Prévia do material em texto
1a Questão (Ref.: 201908745798)
(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, ABAA, ABABAB.
AB, ABAB, ABBAAB.
AB, ABBA, ABABAB.
AB, ABAB, ABABAB.
AB, ABAB, ABAABA.
2a Questão (Ref.: 201906619647)
Considere a seguinte especificação de tokens com sua descrição informal:
SE fosse submetida ao Analisador a seguinte expressão:
A3R = 35 + D;
Podemos afirmar que não será gerado um erro léxico apesar de A3R não ser
um identificador válido
Porque
Ao reconhecer os lexemas tanto A, como 3 como R são associados a tokens e o
analisador léxico não leva em conta a gramática
Como base nas afirmativas acima podemos concluir que:
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990671/n/nStatus da quest%C3%A3o: Liberada para Uso.');
As duas são corretas e a segunda não justifica a primeira
As duas afirmativas são falsas
A primeira é falsa e a segunda correta
A primeira é verdadeira e a segunda falsa
As duas são corretas e a segunda justifica a primeira
3a Questão (Ref.: 201906621158)
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?
Grafo de Dependência
Árvore Semântica
Grafo acíclico direcionado
Árvore de Derivação anotada
Arvore de Derivação
4a Questão (Ref.: 201906621160)
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
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992182/n/nStatus da quest%C3%A3o: Liberada para Uso.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992184/n/nStatus da quest%C3%A3o: Liberada para Uso.');
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 é falsa e a segunda correta
As duas são corretas e a segunda justifica a primeira
A primeira é verdadeira e a segunda falsa
As duas são corretas e a segunda não justifica a primeira
As duas afirmativas são falsas
5a Questão (Ref.: 201910303260)
(EMPREL/2019 - Adaptada) Qual é o componente de um compilador que lê um fluxo de
entrada (caracteres) e produz um fluxo de saída que contém palavras das quais cada uma é
rotulada com sua categoria sintática, equivalente a uma classe gramatical da palavra na
linguagem do programa fonte?
Otimizador.
Gerador de Código Intermediário.
Analisador Semântico.
Analisador Sintático.
Analisador Léxico.
6a Questão (Ref.: 201906619529)
Os compiladores, de um modo geral, são compostos de funções
padronizadas, as quais compreendem a análise do programa fonte e então
a síntese para a derivação do código objeto.
O processo de compilação é comumente estruturado em passos que, eles
são:
análise da gramática, busca binária, geração de código intermediário,
geração de objeto final.
simplificação do programa fonte, aplicação de algoritmo de
escalonamento, análise contextual, geração e otimização de código.
análise léxica, análise sintática, análise semântica, geração de código
intermediário, otimização de código e geração de código.
reconhecimento dos tokens iniciais e finais, análise contextual, aplicação
de algoritmo de escalonamento, geração de código intermediário e
geração de código objeto.
análise léxica, análise sintática, análise semântica, síntese do programa
fonte e reutilização de tokens.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7674284/n/nStatus da quest%C3%A3o: Liberada para Uso.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990553/n/nStatus da quest%C3%A3o: Liberada para Uso.');
7a Questão (Ref.: 201906621438)
ANO: 2012 BANCA: CESGRANRIO ÓRGÃO: TRANSPETRO PROVA: ANALISTA DE SISTEMAS -
INFRAESTRUTURA DE TI
Um compilador é um programa que executa vários passos, dentre os quais o de analisar uma
sequência de entrada para determinar sua estrutura gramatical segundo uma determinada
gramática formal.
O resultado típico dessa análise é uma estrutura conhecida como:
Árvore AVL
Árvore sintática
Gramática livre de contexto
Fluxo (stream) de tokens
Gramática dirigida a sintaxe
8a Questão (Ref.: 201906621504)
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
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992462/n/nStatus da quest%C3%A3o: Liberada para Uso.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992528/n/nStatus da quest%C3%A3o: Liberada para Uso.');
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 um único terminal no corpo.
do uso incorreto do símbolo de cadeia vazia (ε) 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.: 201906621980)
A alocação adequada de memória para a execução do programa é fundamental para que ele
tenha um bom desempenho.
A memória utilizada pelo programa é dividida em várias parte sendo cada uma delas mais
adequada para um determinado uso.
As áreas em que um programa é normalmente divido são
I Área de Código Objeto
II Área de Dados Estática
III Heap
IV Pilha
Dentre estas a alocação estática é utilizada nas áreas:
I e III
I e II
III e IV
II e III
II e IV
10a Questão (Ref.: 201906621994)
As áreas em que se divide a memória do programa podem ser de tamanho fixo ou variável.
As de tamanho fixo lidam normalmente com variáveis escalares e linhas de código, já as de
tamanho variável são normalmente auxiliares para a execução do programa armazenando
dados de tamanho variável etc.
Dentre as áreas do programa duas delas crescem em direção uma da outra.
Quais são elas?
Memória livre e heap
Pilha e memória livre
Área de dados e pilha
Pilha e heap
Área de dados e heap
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993004/n/nStatus da quest%C3%A3o: Liberada para Uso.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993018/n/nStatus da quest%C3%A3o: Liberada para Uso.');