Baixe o app para aproveitar ainda mais
Prévia do material em texto
As árvores de sintaxe são a forma mais comum de representação intermediária gráfica. Dentre estas árvores temos as de Derivação, Sintática e Derivação Anotada. Com relação a estas árvores avalie as afirmativas abaixo: I. Decorar uma árvore é o ato de, durante a fase de parser, realizar a associação dos símbolos aos seus atributos na árvore de derivação. II. A Árvore Sintática é obtida eliminando-se os nós referentes aos símbolos não terminais na árvore de derivação. III. A árvore de Derivação possui em suas folhas apenas símbolos não terminais. Podemos afirmar que está correto o que se afirma apenas em: II e III I e II II I e III III Data Resp.: 25/08/2022 19:56:25 Explicação: Resposta correta: I e II. A ideia básica é eliminar todos os nós com símbolos não terminais, mantendo apenas os nós com símbolos terminais. Na árvore de Derivação, cada nó é rotulado por um símbolo da gramática, sendo que os símbolos terminais aparecem nas folhas e os não terminais, nas raízes das subárvores. 2. Apesar de ser considerada o terceiro passo da etapa de análise, a Análise Semântica é normalmente realizada de forma concomitante com a Análise Sintática, sendo que o parser vai executar as ações semânticas estabelecidas para as produções da gramática. A respeito da situação descrita podemos afirmar que: I. Quando um esquema de tradução não produz efeitos colaterais ele é chamado de Gramática de Atributos. II. O Esquema de Tradução corresponde a uma restrição aplicada a Gramática Livre de Contexto (GLC) que define a linguagem de programação. III. A Tradução Dirigida por Sintaxe é a técnica que permite realizar a Análise Semântica de forma concomitante com a análise sintática. É correto o que se afirma apenas em: III II e III https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp I e III I I e II Data Resp.: 25/08/2022 19:59:57 Explicação: Resposta correta: II e III O COMPILADOR 3. Um compilador está verificando se uma variável foi declarada somente uma vez, se foi declarada antes do seu primeiro uso, se foi declarada e nunca foi usada e se os tipos de dados em uma expressão aritmética são compatíveis. Essas verificações são realizadas na fase de: otimização do código análise semântica. análise léxica. geração do código. análise sintática. Data Resp.: 25/08/2022 20:02:04 Explicação: A resposta correta é: análise semântica. 4. O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : Carregador Interpretador Montador Ligador Compilador Data Resp.: 25/08/2022 20:03:49 Explicação: https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp A resposta correta é: Montador. ANÁLISE LÉXICA 5. Os Meta-caracteres são caracteres especiais na especificação de Expressões Regulares, que aumentam muito sua expressividade. Eles podem ser quantificadores, definidores de classes de caracteres, definidores de lista etc.... O Meta-caracter que corresponde a seguinte classe [A-Za-z0-9] é o A ordem correta dos passos durante a compilação é: \d \w \W \c \C Data Resp.: 25/08/2022 20:07:45 Explicação: A resposta correta é: \w 6. O GALS é um gerador de analisadores léxicos que a partir de expressões regulares cria um autômato finito determinístico que as analisa. Para que possa funcionar ele deve ter os seus tokens especificados. Como seria a especificação do token no GALS para identificadores (Id) formados pela primeira letra maiúscula sendo seguido de pelo menos uma ou mais letras minúsculas deverá existir pelo menos um letra? Id:[A-Z] [a-z]*. Id: [A-Za-z]+ Id:[A-Z] [a-z]+. Id:[A-Z]* https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp Id:[a-z]+ Data Resp.: 25/08/2022 20:08:22 Explicação: A resposta correta é: Id:[A-Z] [a-z]+. ANÁLISE SINTÁTICA 7. Considere a seguinte gramática S → XYZ X → aXb | ε Y → cYZcX | d Z → eZYe | f Levando-se em conta a necessidade de criar a tabela sintática, seriam gerados os conjuntos First e Follow de cada um dos não terminais. Qual seria o conjunto First de S? { a, d} {a, c, d} {a, c, e} {a, c, d, e} {c, d, e} Data Resp.: 25/08/2022 20:09:06 Explicação: Resposta correta: {a, c, d} 8. ANO: 2010 BANCA: CESPE ÓRGÃO: INMETRO PROVA: PESQUISADOR - CIÊNCIAS DA COMPUTAÇÃO Considere que, em uma linguagem de programação hipotética, um comando condicional IF exija o uso de THEN, representando a cláusula então. Nesse caso, se a instrução THEN não for usada no código fonte, uma resposta do compilador na identificação do erro de programação estará nos níveis sintático e semântico, ao mesmo tempo no nível semântico https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp no nível léxico no nível sintático no nível lógico Data Resp.: 25/08/2022 20:10:47 Explicação: Resposta correta: no nível sintático GERAÇÃO DE CÓDIGO 9. Procedimentos são rotinas que complementam as funcionalidades de um programa. Quando um procedimento é chamado um Registro de Ativação é criado e colocado na pilha. Neste registro são armazenadas a variáveis locais, o contexto e os parametrosdo procedimento. Com base nisso considere a seguinte expressão onde p1 e p2 são funções x = p1 (a, p2(b)); Sabendo-se que o código abaixo mostra a implementação do trecho em código intermediário em que ?1, ?2, ?3 e ?4 representam partes faltantes do código . param a param b _t1 := call ?1, ?2 param _t1 x := call ?3, ?4 Quais seriam os valores de ?1, ?2, ?3 e ?4 respectivamente? p2 - 2 - p1 - 2 p1 - 2 - p2 - 1 p2 - 1 - p1 - 2 p1 - 1 - p2 - 2 p2 - 2 - p1 - 1 Data Resp.: 25/08/2022 20:11:11 Explicação: https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp Resposta correta: p2 - 1 - p1 - 2 10. Existem varios tipos de representações intermediárias tanto graficas como textuais. Durante a fase de síntese a Geração de Código Intermediário irá transformar o resultado da fase de análise em uma outra representação. Uma das formas de representação intermediária é a notação posfixa. Considerando a seguinte expressão em notação infixa (a+b)*(c+d) qual seria a notação posfixa correspondente? a b * + c d + a b + c d * + a b * c d + + a b + * c d + a b + c d + * Data Resp.: 25/08/2022 20:11:51 Explicação: Resposta correta: a b + c d + * https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
Compartilhar