Questoes
Por: b2ferreira • 27/11/2015 • Pesquisas Acadêmicas • 1.785 Palavras (8 Páginas) • 1.401 Visualizações
ASSOCIADAS
Código da Prova: 25480051
Curso: Ciência da Computação
Série ou Período: 2º Bimestre - 7º Semestre
Tipo: NP2
I - Questões objetivas – valendo 10,00 pontos
Gerada em: 16/11/2015 12:18:44
Campus:_______________________________________________ Turma: CC8P34
Nome:_________________________________________________ Matrícula:____________
Assinatura:___________________________________________ Data:_________________
----------------------------------------------------------------------------------------------------------------------------
Questões de múltipla escolha
Disciplina: D571 - Compiladores e Computabilidade
Questão 1: Supondo a gramática a seguir e a sentença (a,(a),(a,a)), quais seriam os movimentos realizados por um reconhecedor ascendente para esta cadeia?
[pic 1]
A)(a,(a),(a,a)) ⇒ (I,(a),(a,a)) ⇒ (I,(I),(a,a)) ⇒ (I,(S),(a,a)) ⇒ (I,L,(a,a)) ⇒ (I,I,(a,a)) ⇒ (I,I,(I,a)) ⇒(I,I,(I,I)) ⇒ (I,I,(I,S)) ⇒ (I,I,(S)) ⇒ (I,I,L) ⇒ (I,I,I) ⇒ (I,I,S) ⇒ (I,S) ⇒ (S) ⇒ L.[pic 2]
B)(a,(a),(a,a)) ⇒ (I,(a),(a,a)) ⇒ (I,(I),(a,a)) ⇒ (I,(S),(a,a)) ⇒ (I,L,(a,a)) ⇒ (I,I,(a,a)) ⇒ (I,I,(I,a)) ⇒(I,I,(S,a)) ⇒ Erro, cadeia inválida.
C)(a,(a),(a,a)) ⇒ (a,(a),(a,I)) ⇒ (a,(a),(I,I)) ⇒ (a,(a),(S)) ⇒ (a,(a),(S)) ⇒ (a,(a),L) ⇒ (a,(a),I) ⇒ (a,(a),S) ⇒ (a,(I),S) ⇒ (a,(S),S) ⇒ (a,L,S) ⇒ (a,I,S) ⇒ (a,S) ⇒ (I,S) ⇒ (S) ⇒ L.
D)L ⇒ (S) ⇒ (I,S) ⇒ (a,S) ⇒ (a,I,S) ⇒ (a,L,S) ⇒ (a,(S),S) ⇒ (a,(I),S) ⇒ (a,(a),S) ⇒ (a,(a),I) ⇒ (a,(a),L) ⇒(a,(a),(S)) ⇒ (a,(a),(I,S)) ⇒ (a,(a),(a,S)) ⇒ (a,(a),(a,I)) ⇒ (a,(a),(a,a)).
E)L ⇒ (S) ⇒ (I,S) ⇒ (a,S) ⇒ (a,I,S) ⇒ (a,L,S) ⇒ (a,(S),S) ⇒ (a,(I),S) ⇒ (a,(a),S) ⇒ (a,(a),I) ⇒ (a,(a),L) ⇒(a,(a),(S)) ⇒ (a,(a),(I)) ⇒ (a,(a),(a)) ⇒ Erro, cadeia inválida.
Questão 2: A tabela de movimentos de um analisador LR(1) é construída a partir de um autômato de pilha, cujos estados representam o processo de derivação do programa em relação à gramática de linguagem. As diferentes posições da tabela informam ao analisador qual a operação (empilhamento, redução ou aceitação) deve ser realizada em cada instante do processo de análise, tomando como referência apenas o estado corrente e o símbolo (token) dado na entrada. Acerca desta tabela e de sua construção, analise cada uma das afirmativas a seguir e selecione a alternativa correta.
I. A operação de empilhamento equivale à retirada do símbolo da entrada e sua inserção na pilha para processamento. A célula da tabela equivalente a esta ação é dada pelo número correspondente ao estado que o autômato assume após a transição.
II. Durante uma ação de redução, os símbolos (estados) equivalentes à cadeia derivada são retirados da pilha e substituídos pelo não terminal que os origina, realizando, assim, o processo inverso ao da derivação pela regra em questão. Na tabela, essa ação é colocada em cada célula, cuja linha corresponde ao estado que contém a regra completada e as colunas correspondentes aos símbolos pertencentes ao conjunto de seguidos (follow) do não terminal associado a regra.
III. A aceitação da cadeia ocorre quando encontramos uma ocorrência do símbolo inicial da gramática. Desta forma, preenchemos a coluna correspondente ao símbolo inicial com esta ação para todas as linhas da tabela.
A)Apenas o item I é verdadeiro.
B)Apenas o item II é verdadeiro.
C)Os itens I e II são verdadeiros.
D)Os itens I e III são verdadeiros.
E)Todos itens são verdadeiros.
Questão 3: Para o desenvolvimento de um compilador é possível que se adote um dos diferentes modelos de construção. Um destes é o que chamamos de “modelo de múltiplas passagens”, em que as atividades relacionadas à tradução e à escrita do código-alvo são realizadas em etapas encadeadas. Cada fase realiza sua tarefa percorrendo todo o código-fonte e, após uma conclusão bem-sucedida, inicia-se a etapa subsequente, tendo como entrada o resultado da fase anterior. Acerca deste modelo, analise as seguintes considerações:
...