Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Ref.: 3990671 Pontos: 0,00 / 1,00 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: As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa As duas afirmativas são falsas 2. Ref.: 3990673 Pontos: 1,00 / 1,00 Autômatos Finitos são definidos por uma quíntupla (Q, ΣΣ, δδ, q0, F) onde: Q é o conjunto finito de estados, ΣΣ é o conjunto finito de símbolos de entrada, δδ é a função de transição, q0 é o estado inicial (q0 ∈∈ Q - o estado inicial é apontado por uma seta) F o conjunto de estados finais ou de aceitação ( um estado inicial também pode ser final). E podem ser representados por grafos ou de forma tabular considere o seguinte grafo: Qual seria a sua representação tabular? ENSINEME: ANÁLISE SEMÂNTICA 3. Ref.: 3992180 Pontos: 0,00 / 1,00 Tabela de símbolos implementadas como tabelas hash implicam no uso de uma fórmula, denominada fórmula de hash que a partir de algum tipo de cálculo define o índice do slot onde o símbolo será armazenado. Fórmulas de hashing bem selecionadas produzem um espalhamento dos símbolos por diferentes slots, com base nisso podemos afirmar que apesar de não existirem fórmulas perfeitas se eventualmente dois símbolos gerarem o mesmo índice não ocorrerá uma colisão porque métodos como Endereçamento Aberto e Hashing Aberto fazem com que os símbolos sejam armazenados em locais diferentes. Com base nas afirmativas acima podemos concluir que: As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira A primeira é verdadeira e a segunda falsa A primeira é falsa e a segunda correta As duas afirmativas são falsas 4. Ref.: 3992182 Pontos: 0,00 / 1,00 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 Árvore de Derivação anotada Grafo acíclico direcionado Arvore de Derivação Grafo de Dependência ENSINEME: ANÁLISE SINTÁTICA 5. Ref.: 3992515 Pontos: 1,00 / 1,00 Gramáticas Livres de Contexto se prestam à definição de Linguagens de programação. Porém, a existência de ambiguidade gera o problema do não determinismo para o parser, já que permite a criação de duas árvores sintáticas distintas para o mesmo comando. Considere as seguintes gramáticas I - A → A + A | A − A | a II -E → E + E | E → E * E | E → b III - S → S + T | S → T | T → T * F | F → c Existe ambiguidade: Em I e II Em II e III Em I e III Somente em II Somente em I 6. Ref.: 3992462 Pontos: 1,00 / 1,00 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 sintática Árvore AVL Gramática dirigida a sintaxe Gramática livre de contexto Fluxo (stream) de tokens ENSINEME: GERAÇÃO DE CÓDIGO 7. Ref.: 3993018 Pontos: 1,00 / 1,00 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? Área de dados e heap Área de dados e pilha Pilha e heap Memória livre e heap Pilha e memória livre 8. Ref.: 3993004 Pontos: 1,00 / 1,00 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 II II e III I e III III e IV II e IV ENSINEME: O COMPILADOR 9. Ref.: 3990551 Pontos: 1,00 / 1,00 Atualmente o JAVA passou a utilizar uma segunda fase de compilação para acelerar a execução. Está técnica é denominada: JIT Linkedição Montagem Bytecode JVM 10. Ref.: 3990550 Pontos: 1,00 / 1,00 O componente do processo de tradução que a partir dos programas objetos gera o módulo de carga é o: Interpretador Compilador Ligador Montador Carregador
Compartilhar